Paparazzi UAS
v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
|
VTI SCP1000 I2C sensor interface. More...
#include "baro_scp_i2c.h"
#include "mcu_periph/sys_time.h"
#include "mcu_periph/i2c.h"
#include "subsystems/abi.h"
#include "led.h"
#include "mcu_periph/uart.h"
#include "messages.h"
#include "subsystems/datalink/downlink.h"
Go to the source code of this file.
Macros | |
#define | SCP_I2C_DEV i2c0 |
#define | SCP1000_SLAVE_ADDR 0x22 |
Functions | |
static void | baro_scp_start_high_res_measurement (void) |
void | baro_scp_init (void) |
void | baro_scp_periodic (void) |
void | baro_scp_event (void) |
Variables | |
uint8_t | baro_scp_status |
uint32_t | baro_scp_pressure |
uint16_t | baro_scp_temperature |
struct i2c_transaction | scp_trans |
VTI SCP1000 I2C sensor interface.
This reads the values for pressure and temperature from the VTI SCP1000 sensor through I2C.
Definition in file baro_scp_i2c.c.
#define SCP1000_SLAVE_ADDR 0x22 |
Definition at line 34 of file baro_scp_i2c.c.
Referenced by baro_scp_event(), baro_scp_periodic(), and baro_scp_start_high_res_measurement().
#define SCP_I2C_DEV i2c0 |
Definition at line 31 of file baro_scp_i2c.c.
Referenced by baro_scp_event(), baro_scp_periodic(), and baro_scp_start_high_res_measurement().
void baro_scp_event | ( | void | ) |
Definition at line 65 of file baro_scp_i2c.c.
References baro_scp_available, BARO_SCP_IDLE, baro_scp_pressure, BARO_SCP_RD_PRESS_0, BARO_SCP_RD_PRESS_1, BARO_SCP_RD_TEMP, BARO_SCP_SENDER_ID, baro_scp_status, baro_scp_temperature, i2c_transaction::buf, DefaultChannel, DefaultDevice, FALSE, i2c_transceive(), I2CTransSuccess, SCP1000_DATARD16, SCP1000_DATARD8, SCP1000_SLAVE_ADDR, SCP_I2C_DEV, scp_trans, i2c_transaction::status, and TRUE.
void baro_scp_init | ( | void | ) |
Definition at line 44 of file baro_scp_i2c.c.
References _VIC_CNTL, baro_scp_status, BARO_SCP_UNINIT, EXTINT, EXTINT_ISR(), EXTMODE, EXTPOLAR, PCLK, PINSEL1, ScpUnselect, SPI1_DRDY_EINT, SPI1_DRDY_PINSEL, SPI1_DRDY_PINSEL_BIT, SPI1_DRDY_PINSEL_VAL, SPI1_DRDY_VIC_IT, SPI1_ISR(), SPI1_VIC_SLOT, SS_IODIR, SS_PIN, SSP_CLOCK, SSP_CPHA, SSP_CPOL, SSP_DDS, SSP_FRF, SSP_LBM, SSP_MS, SSP_SCR, SSP_SOD, SSPCPSR, SSPCR0, SSPCR1, STA_UNINIT, VIC_BIT, VIC_ENABLE, VIC_SPI1, VICIntEnable, VICIntSelect, VICVectAddr11, and VICVectCntl11.
void baro_scp_periodic | ( | void | ) |
Definition at line 49 of file baro_scp_i2c.c.
References BARO_SCP_IDLE, BARO_SCP_RD_TEMP, baro_scp_start_high_res_measurement(), baro_scp_status, BARO_SCP_UNINIT, i2c_transaction::buf, i2c_transceive(), sys_time::nb_sec, SCP1000_SLAVE_ADDR, SCP1000_TEMPOUT, SCP_I2C_DEV, scp_trans, STA_INITIALISING, and STA_UNINIT.
|
static |
Definition at line 36 of file baro_scp_i2c.c.
References i2c_transaction::buf, i2c_transmit(), SCP1000_HIGH_RES, SCP1000_OPERATION, SCP1000_SLAVE_ADDR, SCP_I2C_DEV, and scp_trans.
Referenced by baro_scp_periodic().
uint32_t baro_scp_pressure |
Definition at line 25 of file baro_scp_i2c.c.
Referenced by baro_scp_event().
uint8_t baro_scp_status |
Definition at line 24 of file baro_scp_i2c.c.
Referenced by baro_scp_event(), baro_scp_init(), and baro_scp_periodic().
uint16_t baro_scp_temperature |
Definition at line 26 of file baro_scp_i2c.c.
Referenced by baro_scp_event().
struct i2c_transaction scp_trans |
Definition at line 28 of file baro_scp_i2c.c.
Referenced by baro_scp_event(), baro_scp_periodic(), and baro_scp_start_high_res_measurement().