|
Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
|
Go to the documentation of this file.
29 #include "generated/airframe.h"
36 #include "pprzlink/messages.h"
38 #ifndef INS_YAW_NEUTRAL_DEFAULT
39 #define INS_YAW_NEUTRAL_DEFAULT 0.
44 #define VN100_SPI_DEV spi1
48 #ifndef VN100_SLAVE_IDX
49 #define VN100_SLAVE_IDX 0
164 #ifndef INS_VN100_READ_ONLY
308 #include "pprzlink/messages.h"
struct FloatVect3 ins_mag
#define VN100_REG_YMR_SIZE
struct FloatRMat ins_rmat
#define VN100_REG_ADOR_SIZE
enum SPIClockPolarity cpol
clock polarity control
VN100_Param Data[VN100_SPI_BUFFER_SIZE]
uint16_t output_length
number of data words to write
VN100_Res_Packet last_received_packet
SPI transaction structure.
struct FloatRates ins_rates
#define VN100_CmdID_ReadRegister
#define INS_YAW_NEUTRAL_DEFAULT
driver for the VectorNav VN100
struct spi_transaction vn100_trans
@ SPISelectUnselect
slave is selected before transaction and unselected after
#define VN100_REG_SBAUD_SIZE
static bool ins_configure(void)
volatile uint8_t * output_buf
pointer to transmit buffer for DMA
void vn100_report_task(void)
enum SPISlaveSelect select
slave selection behavior
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
VN100_Req_Packet last_send_packet
enum SPIClockPhase cpha
clock phase control
bool spi_submit(struct spi_periph *p, struct spi_transaction *t)
Submit SPI transaction.
static void stateSetBodyRates_f(struct FloatRates *body_rate)
Set vehicle body angular rate (float).
void vn100_event_task(void)
#define VN100_CmdID_WriteRegister
@ SPICpolIdleHigh
CPOL = 1.
struct FloatEulers ins_eulers
void vn100_periodic_task(void)
Common code for AP and FBW telemetry.
#define INS_VN100_SET_ADOF
uint16_t input_length
number of data words to read
enum SPIDataSizeSelect dss
data transfer word size
uint8_t slave_idx
slave id: SPI_SLAVE0 to SPI_SLAVE4
#define VN100_REG_ADOF_SIZE
volatile uint8_t * input_buf
pointer to receive buffer for DMA
Interface for the VectorNav VN100 AHRS use the binary protocal on the SPI link.
static void stateSetNedToBodyEulers_f(struct FloatEulers *ned_to_body_eulers)
Set vehicle body attitude from euler angles (float).
struct FloatVect3 ins_accel
static void parse_ins_msg(void)
void float_eulers_of_quat(struct FloatEulers *e, struct FloatQuat *q)
euler rotation 'ZYX'
#define INS_VN100_SET_ADOR
#define INS_VN100_SET_BAUD
volatile uint8_t ins_msg_received
enum SPITransactionStatus status
struct FloatQuat ins_quat