 |
iSensor-SPI-Buffer
1.15
Firmware for the iSensor-SPI-Buffer board to enable full throughput buffered data capture on Analog Devices IMUs
|
Go to the documentation of this file.
18 #define USER_SPI_CS_INT_MSK (0x3Fu << 10u)
47 extern volatile uint32_t g_spi_rx_upper;
static uint8_t * BufferElementHandle
Definition: isr.c:33
static volatile uint32_t WordsCaptured
Definition: isr.c:39
void DMA1_Channel3_IRQHandler(void)
This function handles DMA1 channel3 global interrupt (spi1 (IMU) Tx).
Definition: isr.c:297
void DMA1_Channel5_IRQHandler(void)
This function handles DMA1 channel5 global interrupt (spi2 (user) Tx).
Definition: isr.c:372
void BusFault_Handler(void)
This function handles Pre-fetch fault, memory access fault.
Definition: isr.c:640
Header file for iSensor-SPI-Buffer register interfacing module.
void EXTI4_IRQHandler()
EXTI 4 interrupt handler.
Definition: isr.c:168
void MemManage_Handler(void)
This function handles Memory management fault.
Definition: isr.c:628
DMA_HandleTypeDef g_dma_spi2_tx
Definition: main.c:43
DMA_HandleTypeDef g_dma_spi1_tx
Definition: main.c:40
void TIM4_IRQHandler()
IMU SPI timer ISR.
Definition: isr.c:185
Header file for iSensor-SPI-Buffer user SPI (slave SPI) module.
#define ERROR_HARDFAULT
Definition: flash.h:42
volatile uint32_t g_user_burst_start
Definition: user_spi.c:20
Header file for iSensor-SPI-Buffer DIO interfacing module.
volatile uint32_t g_update_flags
Definition: reg.c:32
uint8_t * Buffer_Add_Element()
Add an element to the buffer.
Definition: buffer.c:133
void Flash_Log_Fault(uint32_t faultCode)
Stores an error code to flash memory.
Definition: flash.c:173
void User_SPI_Burst_Disable()
Restore SPI functionality after a burst read.
Definition: user_spi.c:135
void Timer_Increment_PPS_Time()
Increment PPS timestamp by 1.
Definition: timer.c:170
void DMA1_Channel2_IRQHandler(void)
This function handles DMA1 channel2 global interrupt (spi1 (IMU) Rx).
Definition: isr.c:259
uint16_t Reg_Read(uint8_t regAddr)
Process a register read request (from master)
Definition: reg.c:206
volatile uint32_t g_wordsPerCapture
Definition: isr.c:27
uint32_t Buffer_Can_Add_Element()
Checks if an element can be added to the buffer.
Definition: buffer.c:52
Implementation for iSensor-SPI-Buffer IMU interfacing module.
void HardFault_Handler(void)
This function handles Hard fault interrupt.
Definition: isr.c:616
void SPI2_IRQHandler(void)
This function handles the user SPI (SPI2) rx data interrupt.
Definition: isr.c:423
static uint32_t BufferSignature
Definition: isr.c:42
#define ERROR_MEM
Definition: flash.h:45
void IMU_Start_Burst(uint8_t *bufEntry)
Start an IMU burst data capture (using DMA)
Definition: imu.c:117
uint32_t Timer_Get_PPS_Timestamp()
Gets the current 32-bit value from PPS timestamp registers.
Definition: timer.c:113
Header file for iSensor-SPI-Buffer timer module.
void EXTI9_5_IRQHandler()
IMU data ready ISR. Kicks off data capture process.
Definition: isr.c:58
#define USER_SPI_CS_INT_MSK
Definition: isr.h:18
bool Reg_Is_Burst_Read(uint8_t addr)
Check if the requested read is a start of a burst.
Definition: reg.c:105
uint32_t g_bufCount
Definition: buffer.c:19
volatile uint32_t g_wordsPerCapture
Definition: isr.c:27
#define ERROR_USAGE
Definition: flash.h:51
Header file for iSensor-SPI-Buffer buffer data structure module.
void EXTI15_10_IRQHandler(void)
This function handles the user SPI (SPI2) chip select rising edge.
Definition: isr.c:514
void User_SPI_Reset(bool register_mode)
Reset user SPI port.
Definition: user_spi.c:40
void UsageFault_Handler(void)
This function handles Undefined instruction or illegal state.
Definition: isr.c:652
volatile uint32_t g_captureInProgress
Definition: isr.c:30
DMA_HandleTypeDef g_dma_spi1_rx
Definition: main.c:37
static void ProcessSPITransaction(uint32_t rx)
Process a 16 bit data word from the user SPI.
Definition: isr.c:591
Header file for iSensor-SPI-Buffer main.
#define ERROR_BUS
Definition: flash.h:48
Header file for iSensor-SPI-Buffer autonomous IMU data acquisition module.
static uint16_t * BufferSigHandle
Definition: isr.c:36
volatile uint32_t g_userburstRunning
Definition: user_spi.c:17
volatile uint32_t g_captureInProgress
Definition: isr.c:30
static void FinishImuBurst()
Cleans up an IMU burst data read.
Definition: isr.c:341
#define DATA_READY_INT_MASK
Definition: dio.h:48
static volatile uint32_t ImuDMADone
Definition: isr.c:45
uint16_t Reg_Write(uint8_t regAddr, uint8_t regValue)
Process a register write request (from master)
Definition: reg.c:278
Header file for the interrupt service routine module.
#define PPS_INT_MASK
Definition: timer.h:32
uint32_t Timer_Get_Microsecond_Timestamp()
Gets the current 32-bit value from the IMU sample timestamp timer.
Definition: timer.c:103
Header file for iSensor-SPI-Buffer flash memory interfacing functions.