wunderwaffe: тупят другие (karliki)
[personal profile] wunderwaffe
Какой охуительный код встретился мне в библиотеке для Troyka от Амперки

void Compass::readCalibrateMagneticGaussXYZ(float& mx, float& my, float& mz) {
    int16_t x, y, z;
    readXYZ(x, y, z);
    mx = x, my = y, mz = z;
    _calibrate(mx, my, mz);
    mx = x / _scalingFactor;
    my = y / _scalingFactor;
    mz = z / _scalingFactor;
}

Я то думаю, что у меня не работает ни хуя.
Правильный вот такой -
void Compass::readCalibrateMagneticGaussXYZ(float& mx, float& my, float& mz) {
 int16_t x, y, z;
 readXYZ(x, y, z);
 mx=x/_scalingFactor;
 my=y/_scalingFactor;
 mz=z/_scalingFactor;
 _calibrate(mx, my, mz);
}

При условии что все принимаемые "сырые" данные будут пронормированы -
float _scalingFactor=6842.0;
...
void loop() {
 ...
 compass.readXYZ(xx, yy, zz);
 xx=xx/_scalingFactor;
 yy=yy/_scalingFactor;
 zz=zz/_scalingFactor;

иначе слишком большие сырые данные убьют точность - https://wunderwaffe.dreamwidth.org/31760.html
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

wunderwaffe: рабочее (Default)
доктор Вандершпигель

April 2022

S M T W T F S
     12
34567 89
1011 12 1314 1516
17181920212223
24252627282930

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 8th, 2025 02:13 am
Powered by Dreamwidth Studios