Index: firmware/App/Drivers/NVDriver.h =================================================================== diff -u -r1e809a81cb8831f5aa5938bd333cc374920d5b87 -r45b03b9f23005c05fc75f69416595a155e250cbe --- firmware/App/Drivers/NVDriver.h (.../NVDriver.h) (revision 1e809a81cb8831f5aa5938bd333cc374920d5b87) +++ firmware/App/Drivers/NVDriver.h (.../NVDriver.h) (revision 45b03b9f23005c05fc75f69416595a155e250cbe) @@ -17,6 +17,40 @@ #include "Common.h" +#define BANK7_SECTOR0_START_ADDRESS 0xF0200000 ///< Bank7 sector 0 start address. + +/// NVDataMgmt memory operation modes enumeration. +typedef enum NVDataMgmt_Operation +{ + NVDATAMGMT_NONE = 0, ///< Default mode to prevent any accidental ops. + NVDATAMGMT_WRITE, ///< Operation mode write. + NVDATAMGMT_READ, ///< Operation mode read. + NVDATAMGMT_ERASE_SECTOR, ///< Operation mode erase a sector (EEPROM). + NUM_OF_NVDATAMGMT_OPS_STATES ///< Total number of operation states. +} NVDATAMGMT_OPERATION_STATE_T; + +/// NVDataMgmt records' jobs states +typedef enum NVDataMgmt_Records_Jobs +{ + NVDATAMGMT_CALIBRATION_RECORD = 0, ///< NVDataMgmt process write calibration record. + NVDATAMGMT_SYSTEM_RECORD, ///< NVDataMgmt process write system record. + NVDATAMGMT_SERVICE_RECORD, ///< NVDataMgmt process service record. + NVDATAMGMT_SCHEDULED_RUNS_RECORD, ///< NVDataMgmt process scheduled runs record. + NVDATAMGMT_HEATERS_INFO_RECORD, ///< NVDataMgmt process heaters info record. + NVDATAMGMT_USAGE_INFO_RECORD, ///< NVDataMgmt process usage info record. +#ifndef _RELEASE_ + NVDATAMGMT_SW_CONFIG_RECORD, ///< NVDataMgmt process software record. +#endif + NUM_OF_NVDATMGMT_RECORDS_JOBS ///< Number of NVDataMgmt records jobs. +} RECORD_JOBS_STATE_T; + +/// Process records job structure +typedef struct +{ + NVDATAMGMT_OPERATION_STATE_T memoryOperation; ///< Memory operation. + RECORD_JOBS_STATE_T recordJob; ///< Record job (i.e sector 0). +} PROCESS_RECORD_JOB_T; + void initNVDriver( void ); void eraseSector( U32* startAddress ); void writeSector( U32* startAddress, U08* bufferAddress, U32 bufferSize );