iSensor-SPI-Buffer  1.15
Firmware for the iSensor-SPI-Buffer board to enable full throughput buffered data capture on Analog Devices IMUs
script.h
Go to the documentation of this file.
1 
11 #ifndef INC_SCRIPT_H_
12 #define INC_SCRIPT_H_
13 
14 /* Header includes require for prototypes */
15 #include <stdint.h>
16 #include "main.h"
17 
19 typedef enum
20 {
21  read,
22  write,
23  delim,
24  echo,
25  readbuf,
26  stream,
27  freset,
28  cmd,
29  status,
30  cnt,
31  about,
32  uptime,
33  help,
34  sleep,
35  loop,
36  endloop,
37  invalid
38 }command;
39 
41 typedef struct
42 {
45 
47  uint32_t args[3];
48 
50  uint32_t numArgs;
51 
53  uint32_t invalidArgs;
54 }script;
55 
56 /* Public function prototypes */
57 
58 /* @cond DOXYGEN_IGNORE */
59 void Script_Check_Stream();
60 void Script_Parse_Element(const uint8_t* commandBuf, script * scr);
61 void Script_Run_Element(script* scr, uint8_t * outBuf, bool isUSB);
62 /* @endcond */
63 
65 #define BUF_BASE_ADDR 8
66 
68 #define BUF_DATA_BASE_ADDR 16
69 
71 #define STREAM_BUF_SIZE 512
72 
73 #endif /* INC_SCRIPT_H_ */
BUF_READ_PAGE
#define BUF_READ_PAGE
Definition: reg.h:85
HelpCmd
static const uint8_t HelpCmd[]
Definition: script.c:55
STREAM_BUF_SIZE
#define STREAM_BUF_SIZE
Definition: script.h:71
HelpStr
static const uint8_t HelpStr[]
Definition: script.c:109
reg.h
Header file for iSensor-SPI-Buffer register interfacing module.
Script_Check_Stream
void Script_Check_Stream()
Check the stream status.
Definition: script.c:151
script::args
uint32_t args[3]
Definition: script.h:47
FactoryResetCmd
static const uint8_t FactoryResetCmd[]
Definition: script.c:58
Reg_Buf_Dequeue_To_Outputs
void Reg_Buf_Dequeue_To_Outputs()
Dequeues an entry from the buffer and loads it to the primary output registers.
Definition: reg.c:158
script::invalidArgs
uint32_t invalidArgs
Definition: script.h:53
script::numArgs
uint32_t numArgs
Definition: script.h:50
cmdIndex
static uint32_t cmdIndex
Definition: script.c:43
sd_card.h
Header file for iSensor-SPI-Buffer SD card interfacing and script execution module.
scr
static script scr
Definition: usb.c:34
g_update_flags
volatile uint32_t g_update_flags
Definition: reg.c:32
EchoCmd
static const uint8_t EchoCmd[]
Definition: script.c:85
UnknownErrorStr
static const uint8_t UnknownErrorStr[]
Definition: script.c:106
HexToUInt
static uint32_t HexToUInt(const uint8_t *commandBuf)
Convert a hex string to a 32 bit uint.
Definition: script.c:922
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
USB_Tx_Handler
void USB_Tx_Handler(const uint8_t *buf, uint32_t count)
USB write handler.
Definition: usb.c:159
Reg_Read
uint16_t Reg_Read(uint8_t regAddr)
Process a register read request (from master)
Definition: reg.c:206
EndloopCmd
static const uint8_t EndloopCmd[]
Definition: script.c:64
NUM_REG_PAGES
#define NUM_REG_PAGES
Definition: reg.h:22
Script_Run_Element
void Script_Run_Element(script *scr, uint8_t *outBuf, bool isUSB)
Executes a script element.
Definition: script.c:391
CntCmd
static const uint8_t CntCmd[]
Definition: script.c:70
WriteHandler
static void WriteHandler(script *scr)
Write command handler.
Definition: script.c:652
goodArg
static uint32_t goodArg
Definition: script.c:46
StatusCmd
static const uint8_t StatusCmd[]
Definition: script.c:67
StreamCmdHandler
static void StreamCmdHandler(script *scr, bool isUSB)
Handler for stream start/stop command.
Definition: script.c:510
ReadHandler
static void ReadHandler(script *scr, uint8_t *outBuf, bool isUSB)
Read command handler.
Definition: script.c:566
NotAllowedStr
static const uint8_t NotAllowedStr[]
Definition: script.c:100
usb.h
Header file for iSensor-SPI-Buffer USB command line register interface.
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
USB_Wait_For_Tx_Done
bool USB_Wait_For_Tx_Done(uint32_t TimeoutMs)
Helper function to wait for the USB Tx to be free.
Definition: usb.c:177
DelimCmd
static const uint8_t DelimCmd[]
Definition: script.c:82
ReadBufCmd
static const uint8_t ReadBufCmd[]
Definition: script.c:61
BUF_DATA_BASE_ADDR
#define BUF_DATA_BASE_ADDR
Definition: script.h:68
SleepCmd
static const uint8_t SleepCmd[]
Definition: script.c:88
ParseCommandArgs
static uint32_t ParseCommandArgs(const uint8_t *commandBuf, uint32_t *args)
Parse space delimited arguments out from a command.
Definition: script.c:876
ReadBufHandler
static void ReadBufHandler(bool isUSB)
Handler for ReadBuf command.
Definition: script.c:672
StreamCmd
static const uint8_t StreamCmd[]
Definition: script.c:79
main.h
Header file for iSensor-SPI-Buffer main.
InvalidArgStr
static const uint8_t InvalidArgStr[]
Definition: script.c:103
Reg_Process_Command
void Reg_Process_Command()
Processes a command register write. This function is called from main loop.
Definition: reg.c:322
FactoryResetHandler
static void FactoryResetHandler()
Executes a factory reset + flash update.
Definition: script.c:540
ReadCmd
static const uint8_t ReadCmd[]
Definition: script.c:49
StringEquals
static uint32_t StringEquals(const uint8_t *string0, const uint8_t *string1, uint32_t count)
Check equality between two strings.
Definition: script.c:1012
UShortToHex
static void UShortToHex(uint8_t *outBuf, uint16_t val)
Convert a 16 bit value to the corresponding hex string (4 chars)
Definition: script.c:977
AboutHandler
static void AboutHandler(uint8_t *outBuf, bool isUSB)
Print about message to CLI.
Definition: script.c:816
StreamBuf_B
static uint8_t StreamBuf_B[STREAM_BUF_SIZE]
Definition: script.c:37
UptimeHandler
static void UptimeHandler(uint8_t *outBuf, bool isUSB)
Print system uptime CLI.
Definition: script.c:847
RegAliasReadHandler
static void RegAliasReadHandler(uint8_t *outBuf, bool isUSB, uint16_t regIndex)
Read a register without changing page, and print to CLI.
Definition: script.c:783
command
command
Definition: script.h:20
script::scrCommand
command scrCommand
Definition: script.h:44
UptimeCmd
static const uint8_t UptimeCmd[]
Definition: script.c:76
script.h
Header file for iSensor-SPI-Buffer script module (loaded from SD card)
InvalidCmdStr
static const uint8_t InvalidCmdStr[]
Definition: script.c:97
LoopCmd
static const uint8_t LoopCmd[]
Definition: script.c:91
CommandCmd
static const uint8_t CommandCmd[]
Definition: script.c:94
WriteCmd
static const uint8_t WriteCmd[]
Definition: script.c:52
BUF_BASE_ADDR
#define BUF_BASE_ADDR
Definition: script.h:65
script
Definition: script.h:42
BufA
static bool BufA
Definition: script.c:40
StreamBuf_A
static uint8_t StreamBuf_A[STREAM_BUF_SIZE]
Definition: script.c:34
Reg_Write
uint16_t Reg_Write(uint8_t regAddr, uint8_t regValue)
Process a register write request (from master)
Definition: reg.c:278
AboutCmd
static const uint8_t AboutCmd[]
Definition: script.c:73