Paparazzi UAS  v5.2.2_stable-0-gd6b9f29
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
imu_chimu.h File Reference
#include "paparazzi.h"
+ Include dependency graph for imu_chimu.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  CHIMU_Euler
 
struct  CHIMU_Vector
 
struct  CHIMU_Quaternion
 
struct  CHIMU_attitude_data
 
struct  CHIMU_sensor_data
 
struct  CHIMU_PARSER_DATA
 

Macros

#define CHIMU_STX   0xae
 
#define CHIMU_BROADCAST   0xaa
 
#define MSG00_PING   0x00
 
#define MSG01_BIAS   0x01
 
#define MSG02_DACMODE   0x02
 
#define MSG03_CALACC   0x03
 
#define MSG04_CALMAG   0x04
 
#define MSG05_CALRATE   0x05
 
#define MSG06_CONFIGCLR   0x06
 
#define MSG07_CONFIGSET   0x07
 
#define MSG08_SAVEGYROBIAS   0x08
 
#define MSG09_ESTIMATOR   0x09
 
#define MSG0A_SFCHECK   0x0A
 
#define MSG0B_CENTRIP   0x0B
 
#define MSG0C_INITGYROS   0x0C
 
#define MSG0D_DEVICEID   0x0D
 
#define MSG0E_REFVECTOR   0x0E
 
#define MSG0F_RESET   0x0F
 
#define MSG10_UARTSETTINGS   0x10
 
#define MSG11_SERIALNUMBER   0x11
 
#define CHIMU_Msg_0_Ping   0
 
#define CHIMU_Msg_1_IMU_Raw   1
 
#define CHIMU_Msg_2_IMU_FP   2
 
#define CHIMU_Msg_3_IMU_Attitude   3
 
#define CHIMU_Msg_4_BiasSF   4
 
#define CHIMU_Msg_5_BIT   5
 
#define CHIMU_Msg_6_MagCal   6
 
#define CHIMU_Msg_7_GyroBias   7
 
#define CHIMU_Msg_8_TempCal   8
 
#define CHIMU_Msg_9_DAC_Offsets   9
 
#define CHIMU_Msg_10_Res   10
 
#define CHIMU_Msg_11_Res   11
 
#define CHIMU_Msg_12_Res   12
 
#define CHIMU_Msg_13_Res   13
 
#define CHIMU_Msg_14_RefVector   14
 
#define CHIMU_Msg_15_SFCheck   15
 
#define FloatSwap(X)   (X)
 
#define FALSE   (1==0)
 
#define TRUE   (1==1)
 
#define CHIMU_RX_BUFFERSIZE   128
 

Functions

void CHIMU_Init (CHIMU_PARSER_DATA *pstData)
 
unsigned char CHIMU_Parse (unsigned char btData, unsigned char bInputType, CHIMU_PARSER_DATA *pstData)
 
unsigned char CHIMU_ProcessMessage (unsigned char *pMsgID, unsigned char *pPayloadData, CHIMU_PARSER_DATA *pstData)
 
void CHIMU_Checksum (unsigned char *data, unsigned char buflen)
 

Macro Definition Documentation

#define CHIMU_BROADCAST   0xaa

Definition at line 48 of file imu_chimu.h.

Referenced by ahrs_init().

#define CHIMU_Msg_0_Ping   0

Definition at line 71 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_10_Res   10

Definition at line 81 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_11_Res   11

Definition at line 82 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_12_Res   12

Definition at line 83 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_13_Res   13

Definition at line 84 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_14_RefVector   14

Definition at line 85 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_15_SFCheck   15

Definition at line 86 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_1_IMU_Raw   1

Definition at line 72 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_2_IMU_FP   2

Definition at line 73 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_3_IMU_Attitude   3

Definition at line 74 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage(), and parse_ins_msg().

#define CHIMU_Msg_4_BiasSF   4

Definition at line 75 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_5_BIT   5

Definition at line 76 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_6_MagCal   6

Definition at line 77 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_7_GyroBias   7

Definition at line 78 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_8_TempCal   8

Definition at line 79 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_Msg_9_DAC_Offsets   9

Definition at line 80 of file imu_chimu.h.

Referenced by CHIMU_ProcessMessage().

#define CHIMU_RX_BUFFERSIZE   128

Definition at line 155 of file imu_chimu.h.

Referenced by CHIMU_Init(), and CHIMU_Parse().

#define CHIMU_STX   0xae

Definition at line 47 of file imu_chimu.h.

Referenced by ahrs_init().

#define FALSE   (1==0)

Definition at line 141 of file imu_chimu.h.

Referenced by _ISR(), acquire_baro_calibration(), actuators_ardrone_motor_status(), add_slot(), ads1114_init(), ADS8344_init(), adxl345_i2c_init(), adxl345_set_default_config(), adxl345_spi_init(), ahrs_align(), ahrs_init(), ahrs_propagate(), ahrs_update_gps(), airspeed_amsys_init(), airspeed_amsys_read_event(), airspeed_ets_init(), airspeed_ets_read_event(), apogee_baro_event(), ardrone_baro_event(), ArduIMU_init(), ArduIMU_periodicGPS(), autopilot_arming_check_motors_on(), autopilot_arming_init(), autopilot_arming_set(), autopilot_check_in_flight(), autopilot_init(), autopilot_periodic(), autopilot_set_mode(), autopilot_set_motors_on(), b2_hff_init(), baro_amsys_init(), baro_amsys_read_event(), baro_bmp_event(), baro_cb(), baro_ets_init(), baro_ets_read_event(), baro_event(), baro_hca_read_event(), baro_init(), baro_mpl3115_read_event(), baro_MS5534A_event(), baro_MS5534A_init(), baro_MS5534A_reset(), baro_ms5611_event(), baro_ms5611_init(), baro_periodic(), baro_scp_event(), baro_update_logic(), BitTest(), bmp085_init(), bmp085_read_eeprom_calib(), bmp_baro_event(), CHIMU_Parse(), CHIMU_ProcessMessage(), compute_TOD(), cyrf6936_init(), cyrf6936_multi_write(), cyrf6936_read_block(), cyrf6936_read_rx_irq_status_packet(), cyrf6936_send(), cyrf6936_write_block(), cyrf6936_write_chan_sop_data_crc(), dc_periodic_4Hz(), deploy_sonar_buoy_init(), DetectGroundEvent(), distance_too_great(), Drift_correction(), electrical_init(), electrical_periodic(), enose_periodic(), event_task_ap(), event_task_fbw(), formation_flight(), formation_init(), generic_com_init(), geo_mag_event(), geo_mag_init(), get_two_intersects(), gls_compute_TOD(), gls_run(), gls_start(), gps_i2c_init(), gps_impl_init(), gps_ubx_ucenter_autobaud(), gps_ubx_ucenter_configure(), gps_ubx_ucenter_periodic(), GpsIsLost(), gsm_init_report(), guidance_h_read_rc(), gx3_packet_parse(), h_ctl_init(), high_speed_logger_spi_link_periodic(), hmc58xx_init(), hott_enable_receiver(), hott_enable_transmitter(), hott_periodic(), hott_send_telemetry_data(), humid_sht_init(), humid_sht_periodic(), i2c_idle(), i2c_submit(), imu_apogee_event(), imu_ardrone2_event(), imu_aspirin2_configure_mag_slave(), imu_aspirin2_event(), imu_aspirin_event(), imu_aspirin_i2c_event(), IMU_Daten_verarbeiten(), imu_drotek2_configure_mag_slave(), imu_drotek2_event(), imu_gl1_i2c_event(), imu_hbmini_event(), imu_impl_init(), imu_krooz_event(), imu_mpu_hmc_event(), imu_navgo_event(), imu_navstik_event(), imu_ppzuav_event(), imu_px4fmu_event(), imu_SetBodyToImuCurrent(), imu_umarim_event(), ImuEvent(), infrared_i2c_hor_event(), infrared_i2c_init(), infrared_i2c_update(), infrared_i2c_ver_event(), init_invariant_state(), init_mf_daq(), ins_configure(), ins_init(), ins_reset_local_origin(), ins_update_gps(), intercept_two_lines(), itg3200_init(), kill_switch_is_on(), l3g4200_init(), l3gd20_set_default_config(), l3gd20_spi_init(), link_mcu_event_task(), link_mcu_init(), lis302dl_set_default_config(), lis302dl_spi_init(), lsm303dlhc_init(), mag_hmc58xx_module_event(), main_event_task(), max7456_periodic(), mcp355x_init(), mcu1_status_update(), mf_daq_send_report(), mf_ptu_init(), mission_element_convert(), mission_insert(), mission_nav_circle(), mission_nav_path(), mission_nav_segment(), mission_nav_wp(), mission_parse_CIRCLE(), mission_parse_CIRCLE_LLA(), mission_parse_END_MISSION(), mission_parse_GOTO_MISSION(), mission_parse_GOTO_WP(), mission_parse_GOTO_WP_LLA(), mission_parse_NEXT_MISSION(), mission_parse_PATH(), mission_parse_PATH_LLA(), mission_parse_SEGMENT(), mission_parse_SEGMENT_LLA(), mission_point_of_lla(), mission_run(), motor_mixing_init(), motor_mixing_run(), mpl3115_init(), mpu60x0_configure_i2c_slaves(), mpu60x0_i2c_event(), mpu60x0_i2c_init(), mpu60x0_set_default_config(), mpu60x0_spi_init(), mpu_wait_slave4_ready_cb(), ms5611_calc(), ms5611_i2c_init(), ms5611_i2c_start_configure(), ms5611_prom_crc_ok(), ms5611_spi_init(), ms5611_spi_start_configure(), nav_anemotaxis_downwind(), nav_anemotaxis_init(), nav_approaching_from(), nav_bungee_takeoff_run(), nav_bungee_takeoff_setup(), nav_catapult_setup(), nav_check_wp_time(), nav_chemotaxis_init(), nav_compute_baseleg(), nav_compute_final_from_glide(), nav_cube_run(), nav_cube_setup(), nav_detect_ground(), nav_flower_run(), nav_flower_setup(), nav_init(), nav_init_stage(), nav_line_border_run(), nav_line_border_setup(), nav_line_osam_block_run(), nav_line_osam_run(), nav_line_run(), nav_line_setup(), nav_periodic_task(), nav_select_touch_down(), nav_set_heading_current(), nav_set_heading_rad(), nav_set_heading_towards(), nav_spiral_setup(), nav_survey_computefourth_corner(), nav_survey_disc_setup(), nav_survey_Inc_railnumberSinceBoot(), nav_survey_losange_carto(), nav_survey_losange_carto_init(), nav_survey_poly_osam_run(), nav_survey_poly_osam_setup(), nav_survey_polygon_run(), nav_survey_polygon_setup(), nav_survey_rectangle(), nav_survey_rectangle_init(), nav_survey_Snapshoot(), nav_survey_StopSnapshoot(), nav_survey_zamboni_run(), nav_survey_zamboni_setup(), nav_vertical_raster_setup(), navdata_init(), navdata_update(), navgo_baro_event(), navigation_task(), Normalize(), parse_nmea_GPGGA(), pbn_read_event(), ppm_arch_init(), pprz_mode_update(), process_rx_dma_interrupt(), process_tx_dma_interrupt(), pwm_input_init(), px4flow_init(), qr_code_spi_link_periodic(), radio_control_impl_init(), register_periodic_telemetry(), reporting_task(), sbus_common_init(), servo_switch_init(), settings_store(), sirf_parse_msg(), snav_init(), SpektrumUartInit(), spi1_arch_init(), spi2_arch_init(), spi_init(), spi_lock(), spi_resume(), spi_slave_init(), spi_slave_register(), spi_slave_wait(), spi_start_dma_transaction(), spi_submit(), srf08_event(), srf08_init(), start_formation(), stateInit(), stop_com(), stop_formation(), superbitrf_event(), superbitrf_receive_packet_cb(), sys_time_cancel_timer(), sys_time_check_and_ack_timer(), sys_time_init(), sys_time_register_timer(), telecommand_task(), tmp102_init(), trig_ext_init(), trigger_ext_init(), trigger_ext_periodic(), uart_handler(), uart_periph_init(), UM6_packet_parse(), umarim_baro_event(), usart_isr(), vi_init(), vPoint(), w5100_ch_available(), windturbine_periodic(), xbee_init(), xbee_text_reply_is_ok(), and xtend_rssi_periodic().

#define FloatSwap (   X)    (X)

Definition at line 113 of file imu_chimu.h.

Referenced by ahrs_update_gps(), and CHIMU_ProcessMessage().

#define MSG00_PING   0x00

Definition at line 51 of file imu_chimu.h.

Referenced by ahrs_init().

#define MSG01_BIAS   0x01

Definition at line 52 of file imu_chimu.h.

#define MSG02_DACMODE   0x02

Definition at line 53 of file imu_chimu.h.

#define MSG03_CALACC   0x03

Definition at line 54 of file imu_chimu.h.

#define MSG04_CALMAG   0x04

Definition at line 55 of file imu_chimu.h.

#define MSG05_CALRATE   0x05

Definition at line 56 of file imu_chimu.h.

#define MSG06_CONFIGCLR   0x06

Definition at line 57 of file imu_chimu.h.

#define MSG07_CONFIGSET   0x07

Definition at line 58 of file imu_chimu.h.

#define MSG08_SAVEGYROBIAS   0x08

Definition at line 59 of file imu_chimu.h.

#define MSG09_ESTIMATOR   0x09

Definition at line 60 of file imu_chimu.h.

Referenced by ahrs_init().

#define MSG0A_SFCHECK   0x0A

Definition at line 61 of file imu_chimu.h.

#define MSG0B_CENTRIP   0x0B

Definition at line 62 of file imu_chimu.h.

#define MSG0C_INITGYROS   0x0C

Definition at line 63 of file imu_chimu.h.

#define MSG0D_DEVICEID   0x0D

Definition at line 64 of file imu_chimu.h.

#define MSG0E_REFVECTOR   0x0E

Definition at line 65 of file imu_chimu.h.

#define MSG0F_RESET   0x0F

Definition at line 66 of file imu_chimu.h.

#define MSG10_UARTSETTINGS   0x10

Definition at line 67 of file imu_chimu.h.

Referenced by ahrs_init().

#define MSG11_SERIALNUMBER   0x11

Definition at line 68 of file imu_chimu.h.

#define TRUE   (1==1)

Definition at line 144 of file imu_chimu.h.

Referenced by _unhandled_exception_NMIVector(), acquire_baro_calibration(), actuators_asctec_set(), actuators_asctec_v2_set(), actuators_dualpwm_arch_init(), actuators_mkk_set(), actuators_mkk_v2_set(), actuators_pwm_arch_init(), actuators_skiron_set(), adxl345_i2c_event(), adxl345_i2c_send_config(), adxl345_set_default_config(), adxl345_spi_event(), adxl345_spi_send_config(), ahrs_align(), ahrs_init(), ahrs_propagate(), ahrs_realign_heading(), ahrs_update_gps(), airspeed_amsys_init(), airspeed_amsys_read_event(), airspeed_ets_init(), airspeed_ets_read_event(), airspeed_ets_read_periodic(), ArduIMU_periodic(), ArduIMU_periodicGPS(), aspirin2_subsystem_event(), attitude_loop(), autopilot_arming_check_motors_on(), autopilot_arming_set(), autopilot_check_in_flight(), autopilot_init(), autopilot_set_motors_on(), b2_hff_update_gps(), baro_amsys_init(), baro_amsys_read_event(), baro_bmp_init(), baro_cb(), baro_ets_init(), baro_ets_read_event(), baro_ets_read_periodic(), baro_hca_init(), baro_hca_read_event(), baro_MS5534A_event_task(), baro_ms5611_event(), baro_ms5611_init(), baro_periodic(), baro_scp_event(), baro_update_logic(), BitTest(), bmp085_eoc_true(), bmp085_event(), CHIMU_ProcessMessage(), configure_baro_slave(), cyrf6936_event(), cyrf6936_multi_write(), cyrf6936_read_rx_irq_status_packet(), cyrf6936_send(), cyrf6936_write_chan_sop_data_crc(), dc_circle(), decode_optical_flow_msg(), DetectGroundEvent(), distance_too_great(), dl_parse_msg(), dma1_c4_irq_handler(), electrical_periodic(), enose_init(), enose_set_heat(), exti15_10_isr(), exti9_5_isr(), formation_flight(), geo_mag_event(), geo_mag_periodic(), get_two_intersects(), gls_run(), gls_start(), gps_ardrone2_parse(), gps_feed_value(), gps_i2c_init(), gps_impl_init(), gps_mtk_parse(), gps_parse(), gps_skytraq_parse(), gps_ubx_parse(), gps_ubx_ucenter_autobaud(), gps_ubx_ucenter_configure(), GpsIsLost(), guidance_h_read_rc(), gx3_packet_parse(), high_speed_logger_spi_link_trans_cb(), hmc5843_idle_task(), hmc5843_periodic(), hmc58xx_event(), hmc58xx_send_config(), hott_check_serial_data(), hott_enable_receiver(), hott_enable_transmitter(), hott_periodic(), hott_send_msg(), hott_send_telemetry_data(), humid_sht_periodic(), i2c_idle(), i2c_submit(), imu_apogee_event(), imu_ardrone2_event(), imu_aspirin2_configure_mag_slave(), imu_aspirin2_event(), imu_aspirin_event(), imu_aspirin_i2c_event(), imu_drotek2_configure_mag_slave(), imu_drotek2_event(), imu_feed_gyro_accel(), imu_feed_mag(), imu_gl1_i2c_event(), imu_hbmini_event(), imu_impl_init(), imu_krooz_event(), imu_mpu_hmc_event(), imu_navgo_event(), imu_navstik_event(), imu_periodic(), imu_ppzuav_event(), imu_px4fmu_event(), imu_umarim_event(), infrared_i2c_hor_event(), infrared_i2c_ver_event(), init_at_com(), ins_configure(), ins_init(), ins_reset_altitude_ref(), ins_reset_local_origin(), ins_update_gps(), intercept_two_lines(), intermcu_parse(), itg3200_event(), itg3200_send_config(), l3g4200_event(), l3g4200_send_config(), l3gd20_spi_event(), l3gd20_spi_send_config(), lis302dl_set_default_config(), lis302dl_spi_event(), lis302dl_spi_send_config(), lsm303dlhc_event(), lsm303dlhc_send_config(), main(), max7456_event(), mcp355x_event(), mf_daq_send_report(), mf_ptu_periodic(), mission_element_convert(), mission_insert(), mission_nav_circle(), mission_nav_path(), mission_nav_segment(), mission_nav_wp(), mission_parse_END_MISSION(), mission_parse_GOTO_MISSION(), mission_parse_NEXT_MISSION(), mission_point_of_lla(), mission_run(), monitor_task(), mpl3115_event(), mpl3115_send_config(), mpu60x0_configure_i2c_slaves(), mpu60x0_i2c_event(), mpu60x0_send_config(), mpu60x0_spi_event(), mpu_wait_slave4_ready_cb(), ms5611_calc(), ms5611_i2c_event(), ms5611_prom_crc_ok(), ms5611_spi_event(), nav_anemotaxis(), nav_approaching_from(), nav_approaching_xy(), nav_bungee_takeoff_run(), nav_bungee_takeoff_setup(), nav_catapult_run(), nav_catapult_setup(), nav_check_wp_time(), nav_chemotaxis(), nav_circle_XY(), nav_detect_ground(), nav_flower_run(), nav_line_border_run(), nav_line_osam_block_run(), nav_line_osam_run(), nav_line_run(), nav_route_xy(), nav_spiral_run(), nav_survey_disc_run(), nav_survey_losange_carto(), nav_survey_poly_osam_run(), nav_survey_poly_osam_setup(), nav_survey_polygon_run(), nav_survey_rectangle(), nav_survey_Snapshoot_Continu(), nav_survey_zamboni_run(), nav_vertical_raster_run(), navdata_init(), navdata_update(), navigation_task(), nmea_parse_char(), Normalize(), parse_gps_datalink(), parse_ins_buffer(), parse_ins_msg(), parse_mavlink(), parse_mavpilot_msg(), parse_nmea_GPGGA(), parse_pprz(), parse_rc_3ch_datalink(), parse_rc_4ch_datalink(), parse_w5100(), parse_xbee(), pbn_init(), pbn_read_event(), potential_task(), pprz_mode_update(), pprz_parse_payload(), provide_attitude(), provide_attitude_and_rates(), provide_rates(), qr_code_spi_link_trans_cb(), register_periodic_telemetry(), reporting_task(), send_ppm(), servo_switch_periodic(), settings_store(), sim_use_gps_pos(), sirf_parse_41(), sirf_parse_char(), spi1_arch_init(), SPI1_ISR(), spi2_arch_init(), spi_lock(), spi_resume(), spi_slave_register(), spi_slave_wait(), spi_start_dma_transaction(), spi_submit(), srf08_read(), srf08_receive(), start_com(), stateSetLocalUtmOrigin_f(), superbitrf_event(), superbitrf_receive_packet_cb(), sys_tick_handler(), sys_tick_irq_handler(), sys_time_check_and_ack_timer(), sys_time_register_timer(), telecommand_task(), thd_heartbeat(), tmp102_event(), tmp102_periodic(), TRIG_ISR(), trigger_ext_periodic(), uart_transmit(), udp_receive(), UM6_packet_parse(), vi_init(), vi_periodic(), vn100_periodic_task(), vPoint(), w5100_ch_available(), w5100_parse_payload(), windturbine_periodic(), xbee_parse_payload(), and xbee_text_reply_is_ok().

Function Documentation

void CHIMU_Checksum ( unsigned char *  data,
unsigned char  buflen 
)

Definition at line 83 of file imu_chimu.c.

References UpdateCRC().

Referenced by ahrs_init(), and ahrs_update_gps().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: