Wpis z mikrobloga

Jak naprawić takie błędy z kompilatora (źródło: https://github.com/lu43n/inclinometer):

mpu6050.c: In function ‘updateSensorData’:
mpu6050.c:161:47: error: expected expression before ‘Kalman’
xRotationComplementary = kalmangetangle(Kalman *kalmanFilter, float xRotation, float gyroXscaled, float dt);
^~~~~~
mpu6050.c:161:30: error: too few arguments to function ‘kalman
getangle’
xRotationComplementary = kalman
get_angle(Kalman *kalmanFilter, float xRotation, float gyroXscaled, float dt);
^~~~~~~~~~~~~~~~
In file included from mpu6050.c:8:
kalman.h:17:7: note: declared here
float kalman
get_angle(Kalman *p_kalman, float newAngle, float newRate, float dt);
^~~~~~~~~~~~~~~~
make: *** [Makefile:2: all] Błąd 1

#c #programowanie
  • 4
  • Odpowiedz
@lu43n: Kompilator dokładnie wskazał ci gdzie jest błąd mpu6050.c:161:47

Co to jest?
xRotationComplementary = kalmangetangle(Kalman *kalmanFilter, float xRotation, float gyroX_scaled, float dt);
  • Odpowiedz
@lu43n:

xRotationComplementary = kalman_get_angle(Kalman *kalmanFilter, float xRotation, float gyroX_scaled, float dt);
tak się funkcję deklaruje a nie wywołuje. Zmień na:

kalman_get_angle(*kalmanFilter, xRotation, gyroX_scaled, dt);
zakładając że nazwy zmiennych się zgadzają bo nie sprawdzałem
  • Odpowiedz
@lu43n: nie muszą, nie zrozumieliśmy się. Chodziło mi o to czy to są te zmienne które chciałeś przekazać, bo tylko rzuciłem okiem i nie sprawdzałem czy takie w ogóle istnieją w kodzie.
  • Odpowiedz