iSensor-SPI-Buffer  1.15
Firmware for the iSensor-SPI-Buffer board to enable full throughput buffered data capture on Analog Devices IMUs
dio.h
Go to the documentation of this file.
1 
11 #ifndef INC_DIO_H_
12 #define INC_DIO_H_
13 
14 /* Header includes require for prototypes */
15 #include "stm32f3xx_hal.h"
16 
18 typedef struct DIOConfig
19 {
21  uint32_t passPins;
22 
24  uint32_t watermarkPins;
25 
27  uint32_t overflowPins;
28 
30  uint32_t errorPins;
31 
33  uint32_t ppsPin;
34 
36 
37 /* Public function prototypes */
38 
39 /* @cond DOXYGEN_IGNORE */
43 void DIO_Start_Sync_Gen();
44 uint32_t DIO_Get_Hardware_ID();
45 /* @endcond */
46 
48 #define DATA_READY_INT_MASK GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_9
49 
51 #define DIO_INPUT_CLEAR_MASK 0x3F9F
52 
53 /* Public variables exported from module */
54 extern volatile DIOConfig g_pinConfig;
55 
56 #endif /* INC_DIO_H_ */
DIOConfig
struct DIOConfig DIOConfig
DIO_Start_Sync_Gen
void DIO_Start_Sync_Gen()
Generates a clock on DIO2_Slave based on frequency in SYNC_FREQ.
Definition: dio.c:60
BuildDIOOutputConfigReg
static uint16_t BuildDIOOutputConfigReg()
Parse local config struct to DIO_CONFIG reg value.
Definition: dio.c:435
reg.h
Header file for iSensor-SPI-Buffer register interfacing module.
DIOConfig::errorPins
uint32_t errorPins
Definition: dio.h:30
DIO_Validate_Input_Config
void DIO_Validate_Input_Config()
Validates the DIO_INPUT_CONFIG value.
Definition: dio.c:152
DIOConfig::passPins
uint32_t passPins
Definition: dio.h:21
dio.h
Header file for iSensor-SPI-Buffer DIO interfacing module.
htim16
static TIM_HandleTypeDef htim16
Definition: dio.c:23
g_pinConfig
volatile DIOConfig g_pinConfig
Definition: dio.c:20
ValidateDIOOutputConfig
static void ValidateDIOOutputConfig()
validates the current DIO config struct settings
Definition: dio.c:445
ParseDIOOutputConfig
static void ParseDIOOutputConfig()
Parse DIO_CONFIG reg to local config struct.
Definition: dio.c:419
DIOConfig::watermarkPins
uint32_t watermarkPins
Definition: dio.h:24
DIOConfig::overflowPins
uint32_t overflowPins
Definition: dio.h:27
DIO_Get_Hardware_ID
uint32_t DIO_Get_Hardware_ID()
Gets two bit hardware identification code from identifier pins.
Definition: dio.c:133
DIO_Update_Output_Config
void DIO_Update_Output_Config()
Validates DIO_OUTPUT_CONFIG settings and applies to GPIO.
Definition: dio.c:291
g_pinConfig
volatile DIOConfig g_pinConfig
Definition: dio.c:20
DIO_INPUT_CLEAR_MASK
#define DIO_INPUT_CLEAR_MASK
Definition: dio.h:51
DIOConfig::ppsPin
uint32_t ppsPin
Definition: dio.h:33
data_capture.h
Header file for iSensor-SPI-Buffer autonomous IMU data acquisition module.
DIOConfig
Definition: dio.h:19
DIO_Update_Input_Config
void DIO_Update_Input_Config()
Validates and updates the data ready input configuration based on DIO_INPUT_CONFIG.
Definition: dio.c:186