35 #include "generated/airframe.h"
44 #define GX3_MAX_PAYLOAD 128
45 #define GX3_MSG_LEN 67
46 #define GX3_HEADER 0xC8
47 #define GX3_MIN_FREQ 300
49 #define IMU_GX3_LONG_DELAY 4000000
88 #define PRIMARY_AHRS ahrs_gx3
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
void gx3_packet_read_message(void)
uint8_t msg_buf[GX3_MAX_PAYLOAD]
void ahrs_gx3_align(void)
uint16_t uart_char_available(struct uart_periph *p)
Check UART for available chars in receive buffer.
Integrated Navigation System interface.
void ahrs_gx3_publish_imu(void)
void gx3_packet_parse(uint8_t c)
void ahrs_gx3_register(void)
float mag_offset
Difference between true and magnetic north.
struct FloatQuat ltp_to_imu_quat
Rotation from LocalTangentPlane to IMU frame as quaternions.
struct FloatVect3 accel
measured acceleration in IMU frame
static void ImuEvent(void)
struct AhrsGX3 ahrs_gx3
Axis definition: X axis pointing forward, Y axis pointing to the right and Z axis pointing down...
Device independent GPS code (interface)
uint32_t time
GX3 time stamp.
Inertial Measurement Unit interface.
uint8_t uart_getch(struct uart_periph *p)
API to get/set the generic vehicle states.
struct FloatRMat rmat
measured attitude in IMU frame (rotational matrix)
static void ReadGX3Buffer(void)
arch independent LED (Light Emitting Diodes) API
struct GX3Packet packet
Packet struct.
uint16_t chksm
aux variable for checksum
struct FloatRates rate
measured angular rates in IMU frame
uint32_t ltime
aux time stamp