BerndCirotzki / ESP32_Precision-9_compass_BNO055

8 stars 4 forks source link

Rate of turn not working #2

Open HV40 opened 3 weeks ago

HV40 commented 3 weeks ago

The heading values change correctly in a turn but the rate of turn doesn't display any sensible values.. usually +-0.1°/sec

looking at the code I can see: `imu::Vector<3> gyr = BNO055.getVector(Adafruit_BNO055::VECTOR_GYROSCOPE);' ... 'RateofTurn = gyr.z() 0.3 + RateofTurnOld 0.7;' ... 'SetN2kRateOfTurn(N2kMsg, SID, -(RateofTurn * degToRad)); // radians' ...

looking in the Adafruit BNO055 datasheet:

VECTOR_GYROSCOPE (values in rps, radians per second)

so when sending the data to N2k I beleive it should be radToDeg and not degToRad same is true for anywhere "gyr" values are used, like computing PitchHead and RollHead, it seems to me like we're mixing radians and degrees

BerndCirotzki commented 3 weeks ago

I think, you could be right. but when your right then it is only like this :
SetN2kRateOfTurn(N2kMsg, SID, -RateofTurn); because it is already in radians. I have not used the value, so I could not notice this.