iSensor-SPI-Buffer  1.15
Firmware for the iSensor-SPI-Buffer board to enable full throughput buffered data capture on Analog Devices IMUs
sd_card.h
Go to the documentation of this file.
1 
11 #ifndef INC_SD_CARD_H_
12 #define INC_SD_CARD_H_
13 
14 /* Header includes require for prototypes */
15 #include <stdint.h>
16 #include "stm32f3xx_hal.h"
17 
18 /* Public functions */
19 
20 /* @cond DOXYGEN_IGNORE */
21 void SD_Card_Init();
23 void SD_Card_Script_Step();
25 void SD_Card_Stop_Script();
26 void SD_Card_Tx_Handler(const uint8_t* buf, uint32_t count);
27 /* @endcond */
28 
30 #define SCRIPT_MAX_ENTRIES 64
31 
33 #define INVALID_LOOP_INDEX 0xFFFFFFFF
34 
35 /* Script error bits */
36 
38 #define SCR_NO_SD (1 << 0)
39 
41 #define SCR_MOUNT_ERROR (1 << 1)
42 
44 #define SCR_SCRIPT_OPEN_ERROR (1 << 2)
45 
47 #define SCR_RESULT_OPEN_ERROR (1 << 3)
48 
50 #define SCR_PARSE_INVALID_CMD (1 << 4)
51 
53 #define SCR_PARSE_INVALID_ARGS (1 << 5)
54 
56 #define SCR_PARSE_INVALID_LOOP (1 << 6)
57 
59 #define SCR_WRITE_FAIL (1 << 7)
60 
61 /* Public variables exported from module */
62 extern SPI_HandleTypeDef g_spi3;
63 
64 #endif /* INC_SD_CARD_H_ */
STREAM_BUF_SIZE
#define STREAM_BUF_SIZE
Definition: script.h:71
cmdList
static script cmdList[SCRIPT_MAX_ENTRIES]
Definition: sd_card.c:35
SCR_MOUNT_ERROR
#define SCR_MOUNT_ERROR
Definition: sd_card.h:41
reg.h
Header file for iSensor-SPI-Buffer register interfacing module.
cmdFile
static FIL cmdFile
Definition: sd_card.c:47
cmdIndex
static uint32_t cmdIndex
Definition: sd_card.c:38
script::args
uint32_t args[3]
Definition: script.h:47
SCR_PARSE_INVALID_CMD
#define SCR_PARSE_INVALID_CMD
Definition: sd_card.h:50
SCRIPT_MAX_ENTRIES
#define SCRIPT_MAX_ENTRIES
Definition: sd_card.h:30
SCR_NO_SD
#define SCR_NO_SD
Definition: sd_card.h:38
sd_card.h
Header file for iSensor-SPI-Buffer SD card interfacing and script execution module.
CreateResultFile
static bool CreateResultFile()
Create new result file.
Definition: sd_card.c:409
SPI3_Init
static void SPI3_Init(void)
SPI3 Initialization Function (SD card master SPI port)
Definition: sd_card.c:612
SCR_SCRIPT_OPEN_ERROR
#define SCR_SCRIPT_OPEN_ERROR
Definition: sd_card.h:44
Script_Parse_Element
void Script_Parse_Element(const uint8_t *commandBuf, script *scr)
Parse a command string into a script element.
Definition: script.c:193
ParseReadBuffer
static void ParseReadBuffer(UINT bytesRead)
Parse a script buffer read from the SD card.
Definition: sd_card.c:491
SCR_RESULT_OPEN_ERROR
#define SCR_RESULT_OPEN_ERROR
Definition: sd_card.h:47
SD_Card_Stop_Script
void SD_Card_Stop_Script()
Stop a running SD card script.
Definition: sd_card.c:201
Script_Run_Element
void Script_Run_Element(script *scr, uint8_t *outBuf, bool isUSB)
Executes a script element.
Definition: script.c:391
SD_Card_Init
void SD_Card_Init()
Init SD card hardware interface and FATFs driver.
Definition: sd_card.c:98
outFile
static FIL outFile
Definition: sd_card.c:50
SCR_WRITE_FAIL
#define SCR_WRITE_FAIL
Definition: sd_card.h:59
CommandPostLoadProcess
static bool CommandPostLoadProcess()
Process loaded command array.
Definition: sd_card.c:545
timer.h
Header file for iSensor-SPI-Buffer timer module.
SCR_PARSE_INVALID_LOOP
#define SCR_PARSE_INVALID_LOOP
Definition: sd_card.h:56
SCR_PARSE_INVALID_ARGS
#define SCR_PARSE_INVALID_ARGS
Definition: sd_card.h:53
SD_Card_Tx_Handler
void SD_Card_Tx_Handler(const uint8_t *buf, uint32_t count)
SD card write handler function.
Definition: sd_card.c:71
OpenScriptFiles
static bool OpenScriptFiles()
Mount SD card an open "script.txt" and "result.txt".
Definition: sd_card.c:350
fs
static FATFS fs
Definition: sd_card.c:53
ScriptStart
static const uint8_t ScriptStart[]
Definition: sd_card.c:56
state
static uint32_t state
Definition: main.c:52
SD_Card_Script_Autorun
void SD_Card_Script_Autorun()
Run SD card script automatic execution process.
Definition: sd_card.c:118
SDCardAttached
static bool SDCardAttached()
Check if SD card is attached.
Definition: sd_card.c:311
script.h
Header file for iSensor-SPI-Buffer script module (loaded from SD card)
ParseScriptFile
static bool ParseScriptFile()
Parse script.txt into script element array (cmdList)
Definition: sd_card.c:450
g_spi3
SPI_HandleTypeDef g_spi3
Definition: sd_card.c:29
SD_Card_Script_Step
void SD_Card_Script_Step()
Step the script execution process.
Definition: sd_card.c:234
numCmds
static uint32_t numCmds
Definition: sd_card.c:41
sd_buf
static uint8_t sd_buf[STREAM_BUF_SIZE]
Definition: sd_card.c:32
scriptRunning
static uint32_t scriptRunning
Definition: sd_card.c:44
INVALID_LOOP_INDEX
#define INVALID_LOOP_INDEX
Definition: sd_card.h:33
script
Definition: script.h:42
SD_Card_Start_Script
void SD_Card_Start_Script()
Start script run.
Definition: sd_card.c:139
g_spi3
SPI_HandleTypeDef g_spi3
Definition: sd_card.c:29
Timer_Sleep_Microseconds
void Timer_Sleep_Microseconds(uint32_t microseconds)
Blocking sleep function call.
Definition: timer.c:89