Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
baro_MS5534A.c File Reference

Handling of the MS5534a pressure sensor. More...

+ Include dependency graph for baro_MS5534A.c:

Go to the source code of this file.

Macros

#define STATUS_INIT1   0
 
#define STATUS_INIT2   1
 
#define STATUS_INIT3   2
 
#define STATUS_INIT4   3
 
#define STATUS_MEASURE_PRESSURE   4
 
#define STATUS_MEASURE_TEMPERATURE   5
 
#define STATUS_RESET   6
 
#define InitStatus()   (status <= STATUS_INIT4)
 
#define NextStatus()
 
#define CMD_INIT   0x1D
 
#define CMD_MEASUREMENT   0x0F
 
#define CMD_W1   0x50
 
#define CMD_W2   0x60
 
#define CMD_W3   0x90
 
#define CMD_W4   0xA0
 
#define CMD_PRESSURE   0x40
 
#define CMD_TEMPERATURE   0x20
 
#define Uint16(buf_input)   (buf_input[0] << 8 | buf_input[1])
 
#define MS5534A_MCLK   32768
 
#define PWM_PERIOD   ((PCLK / PWM_PRESCALER) / MS5534A_MCLK)
 
#define PWM_DUTY   (PWM_PERIOD / 2)
 

Functions

static void calibration (void)
 
void baro_MS5534A_init (void)
 
void baro_MS5534A_reset (void)
 
void baro_MS5534A_send (void)
 
void baro_MS5534A_event_task (void)
 
void baro_MS5534A_event (void)
 

Variables

bool baro_MS5534A_do_reset
 
uint32_t baro_MS5534A_pressure
 
uint16_t baro_MS5534A_temp
 
bool baro_MS5534A_available
 
bool alt_baro_enabled
 
uint32_t baro_MS5534A_ground_pressure
 
float baro_MS5534A_r
 
float baro_MS5534A_sigma2
 
float baro_MS5534A_z
 
static uint8_t status
 
static bool status_read_data
 
static uint16_t words [4]
 
static uint8_t cmds [6] = {CMD_W1, CMD_W2, CMD_W3, CMD_W4, CMD_PRESSURE, CMD_TEMPERATURE}
 
static uint8_t reset [3] = {0x15, 0x55, 0x40}
 
static uint8_t buf_input [3]
 
static uint8_t buf_output [3]
 
static uint16_t d1
 
static uint16_t d2
 
static uint16_t c1
 
static uint16_t c2
 
static uint16_t c3
 
static uint16_t c4
 
static uint16_t ut1
 
static uint16_t c6
 

Detailed Description

Handling of the MS5534a pressure sensor.

uses: MOSI, MISO, SCK and 32kHz @ P0.7 with 5V for the -A type

Definition in file baro_MS5534A.c.

Macro Definition Documentation

◆ CMD_INIT

#define CMD_INIT   0x1D

Definition at line 73 of file baro_MS5534A.c.

◆ CMD_MEASUREMENT

#define CMD_MEASUREMENT   0x0F

Definition at line 74 of file baro_MS5534A.c.

◆ CMD_PRESSURE

#define CMD_PRESSURE   0x40

Definition at line 80 of file baro_MS5534A.c.

◆ CMD_TEMPERATURE

#define CMD_TEMPERATURE   0x20

Definition at line 81 of file baro_MS5534A.c.

◆ CMD_W1

#define CMD_W1   0x50

Definition at line 76 of file baro_MS5534A.c.

◆ CMD_W2

#define CMD_W2   0x60

Definition at line 77 of file baro_MS5534A.c.

◆ CMD_W3

#define CMD_W3   0x90

Definition at line 78 of file baro_MS5534A.c.

◆ CMD_W4

#define CMD_W4   0xA0

Definition at line 79 of file baro_MS5534A.c.

◆ InitStatus

#define InitStatus ( )    (status <= STATUS_INIT4)

Definition at line 64 of file baro_MS5534A.c.

◆ MS5534A_MCLK

#define MS5534A_MCLK   32768

Definition at line 111 of file baro_MS5534A.c.

◆ NextStatus

#define NextStatus ( )
Value:
{ \
}; \
}
#define STATUS_MEASURE_TEMPERATURE
static bool status_read_data
static uint8_t status
#define STATUS_MEASURE_PRESSURE
uint16_t foo
Definition main_demo5.c:58

Definition at line 66 of file baro_MS5534A.c.

◆ PWM_DUTY

#define PWM_DUTY   (PWM_PERIOD / 2)

Definition at line 113 of file baro_MS5534A.c.

◆ PWM_PERIOD

#define PWM_PERIOD   ((PCLK / PWM_PRESCALER) / MS5534A_MCLK)

Definition at line 112 of file baro_MS5534A.c.

◆ STATUS_INIT1

#define STATUS_INIT1   0

Definition at line 52 of file baro_MS5534A.c.

◆ STATUS_INIT2

#define STATUS_INIT2   1

Definition at line 53 of file baro_MS5534A.c.

◆ STATUS_INIT3

#define STATUS_INIT3   2

Definition at line 54 of file baro_MS5534A.c.

◆ STATUS_INIT4

#define STATUS_INIT4   3

Definition at line 55 of file baro_MS5534A.c.

◆ STATUS_MEASURE_PRESSURE

#define STATUS_MEASURE_PRESSURE   4

Definition at line 56 of file baro_MS5534A.c.

◆ STATUS_MEASURE_TEMPERATURE

#define STATUS_MEASURE_TEMPERATURE   5

Definition at line 57 of file baro_MS5534A.c.

◆ STATUS_RESET

#define STATUS_RESET   6

Definition at line 58 of file baro_MS5534A.c.

◆ Uint16

#define Uint16 (   buf_input)    (buf_input[0] << 8 | buf_input[1])

Definition at line 90 of file baro_MS5534A.c.

Function Documentation

◆ baro_MS5534A_event()

◆ baro_MS5534A_event_task()

void baro_MS5534A_event_task ( void  )

Definition at line 230 of file baro_MS5534A.c.

References baro_MS5534A_available, baro_MS5534A_pressure, baro_MS5534A_send(), baro_MS5534A_temp, buf_input, c1, c2, c3, c4, c6, calibration(), d1, d2, foo, NextStatus, status, STATUS_INIT4, STATUS_MEASURE_PRESSURE, STATUS_MEASURE_TEMPERATURE, status_read_data, STATUS_RESET, Uint16, ut1, and words.

Referenced by baro_MS5534A_event().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ baro_MS5534A_init()

◆ baro_MS5534A_reset()

void baro_MS5534A_reset ( void  )

Definition at line 162 of file baro_MS5534A.c.

References status, STATUS_INIT1, and status_read_data.

◆ baro_MS5534A_send()

void baro_MS5534A_send ( void  )

Definition at line 169 of file baro_MS5534A.c.

References buf_input, buf_output, CMD_INIT, CMD_MEASUREMENT, cmds, foo, InitStatus, reset, status, status_read_data, and STATUS_RESET.

Referenced by baro_MS5534A_event_task().

+ Here is the caller graph for this function:

◆ calibration()

static void calibration ( void  )
static

Definition at line 206 of file baro_MS5534A.c.

References c1, c2, c3, c4, c6, DefaultChannel, DefaultDevice, foo, ut1, and words.

Referenced by baro_MS5534A_event_task(), and baro_MS5534A_init().

+ Here is the caller graph for this function:

Variable Documentation

◆ alt_baro_enabled

bool alt_baro_enabled

Definition at line 45 of file baro_MS5534A.c.

Referenced by alt_kalman(), and baro_MS5534A_init().

◆ baro_MS5534A_available

bool baro_MS5534A_available

Definition at line 44 of file baro_MS5534A.c.

Referenced by baro_MS5534A_event(), baro_MS5534A_event_task(), and baro_MS5534A_init().

◆ baro_MS5534A_do_reset

bool baro_MS5534A_do_reset

Definition at line 41 of file baro_MS5534A.c.

Referenced by baro_MS5534A_init().

◆ baro_MS5534A_ground_pressure

uint32_t baro_MS5534A_ground_pressure

Definition at line 46 of file baro_MS5534A.c.

Referenced by baro_MS5534A_event(), and baro_MS5534A_init().

◆ baro_MS5534A_pressure

uint32_t baro_MS5534A_pressure

Definition at line 42 of file baro_MS5534A.c.

Referenced by baro_MS5534A_event(), and baro_MS5534A_event_task().

◆ baro_MS5534A_r

float baro_MS5534A_r

Definition at line 47 of file baro_MS5534A.c.

Referenced by alt_kalman(), and baro_MS5534A_init().

◆ baro_MS5534A_sigma2

float baro_MS5534A_sigma2

Definition at line 48 of file baro_MS5534A.c.

Referenced by alt_kalman(), and baro_MS5534A_init().

◆ baro_MS5534A_temp

uint16_t baro_MS5534A_temp

Definition at line 43 of file baro_MS5534A.c.

Referenced by baro_MS5534A_event(), and baro_MS5534A_event_task().

◆ baro_MS5534A_z

float baro_MS5534A_z

Definition at line 49 of file baro_MS5534A.c.

Referenced by baro_MS5534A_event().

◆ buf_input

uint8_t buf_input[3]
static

Definition at line 87 of file baro_MS5534A.c.

Referenced by baro_MS5534A_event_task(), and baro_MS5534A_send().

◆ buf_output

uint8_t buf_output[3]
static

Definition at line 88 of file baro_MS5534A.c.

Referenced by baro_MS5534A_send().

◆ c1

◆ c2

◆ c3

uint16_t c3
static

Definition at line 203 of file baro_MS5534A.c.

Referenced by baro_MS5534A_event_task(), calibration(), and jpeg_DCT().

◆ c4

uint16_t c4
static

Definition at line 203 of file baro_MS5534A.c.

Referenced by baro_MS5534A_event_task(), and calibration().

◆ c6

uint16_t c6
static

Definition at line 203 of file baro_MS5534A.c.

Referenced by baro_MS5534A_event_task(), calibration(), and jpeg_DCT().

◆ cmds

◆ d1

◆ d2

◆ reset

uint8_t reset[3] = {0x15, 0x55, 0x40}
static

◆ status

uint8_t status
static

Definition at line 60 of file baro_MS5534A.c.

Referenced by _vl53l5cx_poll_for_answer(), _vl53l5cx_poll_for_mcu_boot(), _vl53l5cx_send_offset_data(), _vl53l5cx_send_xtalk_data(), acInfoCalcPositionEnu_f(), acInfoCalcPositionEnu_i(), acInfoCalcPositionLla_f(), acInfoCalcPositionLla_i(), acInfoCalcPositionUtm_f(), acInfoCalcPositionUtm_i(), acInfoCalcVelocityEnu_f(), acInfoCalcVelocityEnu_i(), acInfoGetPositionEnu_f(), acInfoGetPositionEnu_i(), acInfoGetPositionLla_f(), acInfoGetPositionLla_i(), acInfoGetPositionUtm_f(), acInfoGetPositionUtm_i(), acInfoGetVelocityEnu_f(), acInfoGetVelocityEnu_i(), baro_MS5534A_event_task(), baro_MS5534A_init(), baro_MS5534A_reset(), baro_MS5534A_send(), can_thd_rx(), formation_flight(), jevois_mavlink_event(), lidar_lite_downlink(), lidar_sf11_downlink(), mavlink_event(), microrl_get_complite(), ms45xx_i2c_event(), msgqueue_pop_timeout(), new_line_handler(), parseFormationStatus(), power_uavcan_send_power_device(), py_check_status(), python_init(), rxSpiFrameStatus(), sdlog_check_free_space(), send_rotating_wing_state(), send_sdlog_status(), send_superbit(), set_ac_info_lla(), set_ac_info_utm(), slcan_handle_cmd(), start_formation(), stop_formation(), superbitrf_receive_packet_cb(), tcas_periodic_task_1Hz(), tfmini_send_lidar(), thd_lidar_vl53l5cx(), updateFormationStatus(), VL53L1X_BootState(), VL53L1X_CheckForDataReady(), VL53L1X_ClearInterrupt(), VL53L1X_GetAmbientPerSpad(), VL53L1X_GetAmbientRate(), VL53L1X_GetDistance(), VL53L1X_GetDistanceMode(), VL53L1X_GetDistanceThresholdHigh(), VL53L1X_GetDistanceThresholdLow(), VL53L1X_GetDistanceThresholdWindow(), VL53L1X_GetInterMeasurementInMs(), VL53L1X_GetInterruptPolarity(), VL53L1X_GetOffset(), VL53L1X_GetRangeStatus(), VL53L1X_GetResult(), VL53L1X_GetROI_XY(), VL53L1X_GetROICenter(), VL53L1X_GetSensorId(), VL53L1X_GetSigmaThreshold(), VL53L1X_GetSignalPerSpad(), VL53L1X_GetSignalRate(), VL53L1X_GetSignalThreshold(), VL53L1X_GetSpadNb(), VL53L1X_GetTimingBudgetInMs(), VL53L1X_GetXtalk(), VL53L1X_SensorInit(), VL53L1X_SetDistanceMode(), VL53L1X_SetDistanceThreshold(), VL53L1X_SetI2CAddress(), VL53L1X_SetInterMeasurementInMs(), VL53L1X_SetInterruptPolarity(), VL53L1X_SetOffset(), VL53L1X_SetROI(), VL53L1X_SetROICenter(), VL53L1X_SetSigmaThreshold(), VL53L1X_SetSignalThreshold(), VL53L1X_SetTimingBudgetInMs(), VL53L1X_SetXtalk(), VL53L1X_StartRanging(), VL53L1X_StartTemperatureUpdate(), VL53L1X_StopRanging(), vl53l5cx_check_data_ready(), vl53l5cx_dci_read_data(), vl53l5cx_dci_replace_data(), vl53l5cx_dci_write_data(), vl53l5cx_disable_internal_cp(), vl53l5cx_enable_internal_cp(), vl53l5cx_get_integration_time_ms(), vl53l5cx_get_power_mode(), vl53l5cx_get_ranging_data(), vl53l5cx_get_ranging_frequency_hz(), vl53l5cx_get_ranging_mode(), vl53l5cx_get_resolution(), vl53l5cx_get_sharpener_percent(), vl53l5cx_get_target_order(), vl53l5cx_init(), vl53l5cx_is_alive(), vl53l5cx_set_i2c_address(), vl53l5cx_set_integration_time_ms(), vl53l5cx_set_power_mode(), vl53l5cx_set_ranging_frequency_hz(), vl53l5cx_set_ranging_mode(), vl53l5cx_set_resolution(), vl53l5cx_set_sharpener_percent(), vl53l5cx_set_target_order(), vl53l5cx_start_ranging(), and vl53l5cx_stop_ranging().

◆ status_read_data

bool status_read_data
static

◆ ut1

uint16_t ut1
static

Definition at line 203 of file baro_MS5534A.c.

Referenced by baro_MS5534A_event_task(), and calibration().

◆ words

uint16_t words[4]
static

Definition at line 62 of file baro_MS5534A.c.

Referenced by baro_MS5534A_event_task(), baro_MS5534A_init(), calibration(), and fletcher32().