44 #ifndef CHIMU_DEFINED_H
45 #define CHIMU_DEFINED_H
47 #define CHIMU_STX 0xae
48 #define CHIMU_BROADCAST 0xaa
51 #define MSG00_PING 0x00
52 #define MSG01_BIAS 0x01
53 #define MSG02_DACMODE 0x02
54 #define MSG03_CALACC 0x03
55 #define MSG04_CALMAG 0x04
56 #define MSG05_CALRATE 0x05
57 #define MSG06_CONFIGCLR 0x06
58 #define MSG07_CONFIGSET 0x07
59 #define MSG08_SAVEGYROBIAS 0x08
60 #define MSG09_ESTIMATOR 0x09
61 #define MSG0A_SFCHECK 0x0A
62 #define MSG0B_CENTRIP 0x0B
63 #define MSG0C_INITGYROS 0x0C
64 #define MSG0D_DEVICEID 0x0D
65 #define MSG0E_REFVECTOR 0x0E
66 #define MSG0F_RESET 0x0F
67 #define MSG10_UARTSETTINGS 0x10
68 #define MSG11_SERIALNUMBER 0x11
71 #define CHIMU_Msg_0_Ping 0
72 #define CHIMU_Msg_1_IMU_Raw 1
73 #define CHIMU_Msg_2_IMU_FP 2
74 #define CHIMU_Msg_3_IMU_Attitude 3
75 #define CHIMU_Msg_4_BiasSF 4
76 #define CHIMU_Msg_5_BIT 5
77 #define CHIMU_Msg_6_MagCal 6
78 #define CHIMU_Msg_7_GyroBias 7
79 #define CHIMU_Msg_8_TempCal 8
80 #define CHIMU_Msg_9_DAC_Offsets 9
81 #define CHIMU_Msg_10_Res 10
82 #define CHIMU_Msg_11_Res 11
83 #define CHIMU_Msg_12_Res 12
84 #define CHIMU_Msg_13_Res 13
85 #define CHIMU_Msg_14_RefVector 14
86 #define CHIMU_Msg_15_SFCheck 15
93 #ifdef CHIMU_BIG_ENDIAN
103 dat2.b[0] = dat1.b[3];
104 dat2.b[1] = dat1.b[2];
105 dat2.b[2] = dat1.b[1];
106 dat2.b[3] = dat1.b[0];
112 #define FloatSwap(X) (X)
154 #define CHIMU_RX_BUFFERSIZE 128
200 #endif // CHIMU_DEFINED
#define CHIMU_RX_BUFFERSIZE
void CHIMU_Init(CHIMU_PARSER_DATA *pstData)
CHIMU_attitude_data m_attitude
unsigned char m_PayloadIndex
unsigned char m_ReceivedChecksum
unsigned char m_TempDeviceID
void CHIMU_Checksum(unsigned char *data, unsigned char buflen)
CHIMU_sensor_data m_sensor
uint16_t gCHIMU_SW_SerialNumber
uint8_t gCHIMU_SW_Exclaim
unsigned char CHIMU_ProcessMessage(unsigned char *pMsgID, unsigned char *pPayloadData, CHIMU_PARSER_DATA *pstData)
CHIMU_attitude_data m_attrates
unsigned char CHIMU_Parse(unsigned char btData, unsigned char bInputType, CHIMU_PARSER_DATA *pstData)