 |
ADI iSensor FX3 Firmware
v2.9.4-pub
Firmware for the Analog Devices EVAL-ADIS-FX3 IMU Evaluation Platform. This firmware can be compiled using the Cypress EZ USB Suite IDE
|
Go to the documentation of this file.
27 #define LOG_BASE_ADDR (0x34040)
30 #define LOG_CAPACITY 1500
33 #define LOG_COUNT_ADDR (0x34000)
80 typedef struct __attribute__((__packed__))
ErrorMsg
98 uint8_t FirmwareVersion[12];
uint8_t LogBuffer[FLASH_PAGE_SIZE]
Definition: ErrorLog.c:25
const uint8_t FirmwareID((aligned(32)))
uint8_t FirmwareVersion[12]
Definition: ErrorLog.h:98
static void FindFirmwareVersion(uint8_t *buf)
Parses the firmware version number from FirmwareID to a user provided buffer.
Definition: ErrorLog.c:107
@ Main_c
Definition: ErrorLog.h:42
uint32_t ErrorCode
Definition: ErrorLog.h:89
uint32_t Uptime
Definition: ErrorLog.h:83
void AdiLogError(FileIdentifier File, uint32_t Line, uint32_t ErrorCode)
Logs a firmware error to flash memory for later examination.
Definition: ErrorLog.c:51
#define LOG_COUNT_ADDR
Definition: ErrorLog.h:33
static void WriteLogToFlash(ErrorMsg *msg)
Writes a log data structure to flash memory.
Definition: ErrorLog.c:130
#define LOG_CAPACITY
Definition: ErrorLog.h:30
@ Flash_c
Definition: ErrorLog.h:60
#define ADI_TO_PC_ENDPOINT
Definition: main.h:394
@ Unknown
Definition: ErrorLog.h:39
uint32_t Line
Definition: ErrorLog.h:86
uint32_t BootTimeCode
Definition: ErrorLog.h:92
@ HelperFunctions_c
Definition: ErrorLog.h:69
void AdiFlashRead(uint32_t Address, uint16_t NumBytes, uint8_t *ReadBuf)
Read a block of memory from flash, at the specified byte address.
Definition: Flash.c:178
#define ADI_STREAMING_ENDPOINT
Definition: main.h:388
#define LOG_BASE_ADDR
Definition: ErrorLog.h:27
Header file for the FX3 flash error logging module.
uint32_t File
Definition: ErrorLog.h:95
Struct to store the current board state (SPI config, USB speed, etc)
Definition: main.h:148
uint32_t BootTime
Definition: main.h:186
static uint32_t GetLogCount()
Gets the log count from flash.
Definition: ErrorLog.c:219
void WriteErrorLogCount(uint32_t count)
Sets the error log count value in flash.
Definition: ErrorLog.c:87
#define ADI_FROM_PC_ENDPOINT
Definition: main.h:391
@ StreamThread_c
Definition: ErrorLog.h:48
void AdiFlashWrite(uint32_t Address, uint16_t NumBytes, uint8_t *WriteBuf)
Write a block of memory to flash, at the specified byte address.
Definition: Flash.c:154
@ I2cFunctions_c
Definition: ErrorLog.h:66
static uint32_t GetNewLogAddress(uint32_t *TotalLogCount)
Gets address (in flash memory) for a new error log entry.
Definition: ErrorLog.c:185
Main header file for the Analog Devices iSensor FX3 Demonstration Platform firmware.
void WriteErrorLogCount(uint32_t count)
Sets the error log count value in flash.
Definition: ErrorLog.c:87
@ AppThread_c
Definition: ErrorLog.h:45
@ PinFunctions_c
Definition: ErrorLog.h:51
struct __packed__ ErrorMsg ErrorMsg
Structure which holds all information about a given error event.
BoardState FX3State
Definition: main.c:112
static void WriteLogToDebug(ErrorMsg *msg)
Prints an error log object to the debug console.
Definition: ErrorLog.c:169
@ ErrorLog_c
Definition: ErrorLog.h:63
@ StreamFunctions_c
Definition: ErrorLog.h:57
@ SpiFunctions_c
Definition: ErrorLog.h:54
void AdiLogError(FileIdentifier File, uint32_t Line, uint32_t ErrorCode)
Logs a firmware error to flash memory for later examination.
Definition: ErrorLog.c:51
FileIdentifier
Definition: ErrorLog.h:37
#define FLASH_PAGE_SIZE
Definition: Flash.h:35
Structure which holds all information about a given error event.
Definition: ErrorLog.h:81