Mercurial > public > ostc4
changeset 1010:08f76d3e9856 GasConsumption
Bugfix: Pitch compensation
The pitch was not calculated correct during calibration process. As result the heading value is sensetive to pitch movment. The issue has been solved by applying the correct formular for calculation.
author | Ideenmodellierer |
---|---|
date | Tue, 06 May 2025 22:07:39 +0200 (3 months ago) |
parents | 3bcf592e9cc9 |
children | 085e9c04b76b |
files | Small_CPU/Src/compass.c |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/Small_CPU/Src/compass.c Tue May 06 12:57:33 2025 +0200 +++ b/Small_CPU/Src/compass.c Tue May 06 22:07:39 2025 +0200 @@ -1107,7 +1107,7 @@ sinPhi = sinf(Phi); cosPhi = cosf(Phi); - Teta = atan2((double)accel_DX_f, sqrt((double)accel_DY_f * accel_DY_f + (double)accel_DZ_f * accel_DZ_f)); + Teta = atanf(-(float)accel_DX_f/(accel_DY_f * sinPhi + accel_DZ_f * cosPhi)); compass_pitch = Teta * (180.0 / PI); sinTeta = sinf(Teta);