GeekIMU/2.Firmware/ICM42688P_HAL/Core/Inc/imu.h

27 lines
766 B
C
Raw Normal View History

#ifndef __IMU_H
#define __IMU_H
//#include "communicate.h"
#include "public_data.h"
//#include "SENSORS_TYPES.h"
#include "STABILIZER_TYPES.h"
//<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ٶȵ<D9B6>NEU<45><55><EFBFBD><EFBFBD>ϵ
void imuTransformVectorBodyToEarth(Axis3f *v);
//NEU<45><55><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ٶȵ<D9B6>NEU<45><55><EFBFBD><EFBFBD>ϵ
void imuTransformVectorEarthToBody(Axis3f *v);
void imuMahonyAHRSupdate(float gx, float gy, float gz,float ax, float ay, float az,float mx, float my, float mz,bool useMag,float dt);
//<2F><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD>
void imuUpdate(Axis3f acc, Axis3f gyro, state_t *state , float dt); /*<2A><><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>*/
void imuUpdateAttitude(const sensorData_t *sensorData, state_t *state, float dt);
void MadgwickQuaternionUpdate(Axis3f acc, Axis3f gyro, Axis3f mag, attitude_t *attitude , float dt);
void imuInit(void);
#endif