iSensor-SPI-Buffer  1.15
Firmware for the iSensor-SPI-Buffer board to enable full throughput buffered data capture on Analog Devices IMUs
imu.h
Go to the documentation of this file.
1 
11 #ifndef INC_IMU_H_
12 #define INC_IMU_H_
13 
14 /* Header includes require for prototypes */
15 #include <stdint.h>
16 
17 /* Public function prototypes */
18 
19 /* @cond DOXYGEN_IGNORE */
20 void IMU_SPI_Init();
21 uint16_t IMU_SPI_Transfer(uint32_t MOSI);
22 uint16_t IMU_Read_Register(uint8_t RegAddr);
23 uint16_t IMU_Write_Register(uint8_t RegAddr, uint8_t RegValue);
25 void EnableImuSpiDMA();
26 void IMU_Disable_SPI_DMA();
27 void IMU_Start_Burst(uint8_t * bufEntry);
28 void IMU_Reset();
29 /* @endcond */
30 
31 #endif
ConfigureImuCsTimer
static void ConfigureImuCsTimer(uint32_t period)
Sets the TIM3 period for use in PWM mode to drive CS.
Definition: imu.c:522
IMU_SPI_Init
void IMU_SPI_Init()
SPI1 Initialization Function (master SPI port to IMU)
Definition: imu.c:38
reg.h
Header file for iSensor-SPI-Buffer register interfacing module.
IMU_Reset
void IMU_Reset()
Hardware reset connected IMU.
Definition: imu.c:82
g_spi1
SPI_HandleTypeDef g_spi1
Definition: main.c:46
ApplySclkDivider
static void ApplySclkDivider(uint32_t preScalerSetting)
Applies baud rate divider setting to master SPI port (to IMU)
Definition: imu.c:409
htim3
static TIM_HandleTypeDef htim3
Definition: imu.c:28
imu.h
Implementation for iSensor-SPI-Buffer IMU interfacing module.
IMU_Read_Register
uint16_t IMU_Read_Register(uint8_t RegAddr)
Reads 16 bit value from the IMU.
Definition: imu.c:235
IMU_Start_Burst
void IMU_Start_Burst(uint8_t *bufEntry)
Start an IMU burst data capture (using DMA)
Definition: imu.c:117
htim4
static TIM_HandleTypeDef htim4
Definition: imu.c:31
timer.h
Header file for iSensor-SPI-Buffer timer module.
InitImuSpiTimer
static void InitImuSpiTimer()
Inits TIM4 for use as a IMU spi period timer.
Definition: imu.c:432
IMU_Write_Register
uint16_t IMU_Write_Register(uint8_t RegAddr, uint8_t RegValue)
Writes an 8 bit value to the IMU.
Definition: imu.c:273
IMU_Disable_SPI_DMA
void IMU_Disable_SPI_DMA()
Disable IMU burst data stream.
Definition: imu.c:94
imuStallTimeUs
static uint32_t imuStallTimeUs
Definition: imu.c:25
ConfigureImuSpiTimer
static void ConfigureImuSpiTimer(uint32_t period)
Configures the period on TIM4.
Definition: imu.c:544
Main_Error_Handler
void Main_Error_Handler()
This function is executed in case of error occurrence.
Definition: main.c:233
main.h
Header file for iSensor-SPI-Buffer main.
IMU_Update_SPI_Config
void IMU_Update_SPI_Config()
Processes any changes to IMU_SPI_CONFIG reg and applies.
Definition: imu.c:294
InitImuCsTimer
static void InitImuCsTimer()
Inits TIM3 for use in PWM mode to drive CS.
Definition: imu.c:474
IMU_SPI_Transfer
uint16_t IMU_SPI_Transfer(uint32_t MOSI)
Basic IMU SPI data transfer function (protocol agnostic).
Definition: imu.c:199
Timer_Sleep_Microseconds
void Timer_Sleep_Microseconds(uint32_t microseconds)
Blocking sleep function call.
Definition: timer.c:89