Index: firmware/App/Services/NVMsgQ.h =================================================================== diff -u -r63c3a65e681810f037718377c6ed5a28c897d0ca -re17e1dc97bf8878056f1f7e4aa861c2448db52bc --- firmware/App/Services/NVMsgQ.h (.../NVMsgQ.h) (revision 63c3a65e681810f037718377c6ed5a28c897d0ca) +++ firmware/App/Services/NVMsgQ.h (.../NVMsgQ.h) (revision e17e1dc97bf8878056f1f7e4aa861c2448db52bc) @@ -29,52 +29,52 @@ // ********** public definitions ********** -#define NV_RECORD_SLOT_SIZE 4096 // 4K +#define NV_RECORD_SLOT_SIZE 4096 ///< Size of each NV record slot (4KB) -#define SYSTEM_RECORD_OFFSET (0U * NV_RECORD_SLOT_SIZE) -#define SERVICE_RECORD_OFFSET (0U * NV_RECORD_SLOT_SIZE) -#define CAL_RECORD_OFFSET (1U * NV_RECORD_SLOT_SIZE) -#define INSTIT_RECORD_OFFSET (0U * NV_RECORD_SLOT_SIZE) -#define USAGE_RECORD_OFFSET (0U * NV_RECORD_SLOT_SIZE) +#define SYSTEM_RECORD_OFFSET (0U * NV_RECORD_SLOT_SIZE) ///< Offset of system record within sector +#define SERVICE_RECORD_OFFSET (0U * NV_RECORD_SLOT_SIZE) ///< Offset of service record within sector +#define CAL_RECORD_OFFSET (1U * NV_RECORD_SLOT_SIZE) ///< Offset of calibration record within sector +#define INSTIT_RECORD_OFFSET (0U * NV_RECORD_SLOT_SIZE) ///< Offset of institutional record within sector +#define USAGE_RECORD_OFFSET (0U * NV_RECORD_SLOT_SIZE) ///< Offset of usage record within sector -#define SYSTEM_RECORD_NV_MEM_START_ADDRESS ( BANK7_SECTOR0_START_ADDRESS + SYSTEM_RECORD_OFFSET ) -#define SERVICE_RECORD_NV_MEM_START_ADDRESS ( BANK7_SECTOR1_START_ADDRESS + SERVICE_RECORD_OFFSET ) -#define CAL_RECORD_NV_MEM_START_ADDRESS ( BANK7_SECTOR1_START_ADDRESS + CAL_RECORD_OFFSET ) -#define INSTIT_RECORD_NV_MEM_START_ADDRESS ( BANK7_SECTOR2_START_ADDRESS + INSTIT_RECORD_OFFSET ) -#define USAGE_INFO_START_ADDRESS ( BANK7_SECTOR3_START_ADDRESS + USAGE_RECORD_OFFSET ) ///< DD usage info start address in RTC RAM (48). +#define SYSTEM_RECORD_NV_MEM_START_ADDRESS ( BANK7_SECTOR0_START_ADDRESS + SYSTEM_RECORD_OFFSET ) ///< Start address of system record in NV memory +#define SERVICE_RECORD_NV_MEM_START_ADDRESS ( BANK7_SECTOR1_START_ADDRESS + SERVICE_RECORD_OFFSET ) ///< Start address of service record in NV memory +#define CAL_RECORD_NV_MEM_START_ADDRESS ( BANK7_SECTOR1_START_ADDRESS + CAL_RECORD_OFFSET ) ///< Start address of calibration record in NV memory +#define INSTIT_RECORD_NV_MEM_START_ADDRESS ( BANK7_SECTOR2_START_ADDRESS + INSTIT_RECORD_OFFSET ) ///< Start address of institutional record in NV memory +#define USAGE_INFO_START_ADDRESS ( BANK7_SECTOR3_START_ADDRESS + USAGE_RECORD_OFFSET ) ///< Start address of usage info record in NV memory -#define MAX_NUM_OF_RECORD_IN_A_SECTOR 2 -#define MIN_JOBS_NEEDED_TO_WRITE_A_RECORD ( MAX_NUM_OF_RECORD_IN_A_SECTOR * 2 ) ///< Min queue count needed to erase and write a sector -#define MIN_JOBS_NEEDED_TO_WRITE_ALL_RECORDS ( NUM_OF_NVDATMGMT_RECORDS_JOBS * 2 ) ///< Min queue count needed to erase and write all records -#define MIN_JOBS_NEEDED_TO_READ_ALL_RECORDS ( NUM_OF_NVDATMGMT_RECORDS_JOBS ) ///< Min queue count needed to erase and write all records +#define MAX_NUM_OF_RECORD_IN_A_SECTOR 2 ///< Maximum number of records stored in one sector +#define MIN_JOBS_NEEDED_TO_WRITE_A_RECORD ( MAX_NUM_OF_RECORD_IN_A_SECTOR * 2 ) ///< Minimum queue jobs to erase and write one record +#define MIN_JOBS_NEEDED_TO_WRITE_ALL_RECORDS ( NUM_OF_NVM_RECORD_TYPES * 2 ) ///< Minimum queue jobs to erase and write all records +#define MIN_JOBS_NEEDED_TO_READ_ALL_RECORDS ( NUM_OF_NVM_RECORD_TYPES ) ///< Minimum queue jobs to read all records -/// NVDataMgmt records read status -typedef enum NVDataMgmt_NV_Records_Read_Status +/// NVM records read status +typedef enum NVM_NV_Records_Read_Status { - NVDATAMGMT_RECORDS_NOT_STARTED = 0, ///< NVDataMgmt records not started. - NVDATAMGMT_RECORDS_QUEUED, ///< NVDataMgmt records queued. - NVDATAMGMT_RECORDS_READ, ///< NVDataMgmt records read. - NVDATAMGMT_RECORDS_CRC_CHECKED, ///< NVDataMgmt records CRC checked. - NUM_OF_NVDATAMGMT_READ_RECORDS_STATES, ///< Number of NVDataMgmt read records states. -} NVDATAMGMT_RECORDS_READ_STATUS_T; + NVM_RECORDS_NOT_STARTED = 0, ///< NVM records not started. + NVM_RECORDS_QUEUED, ///< NVM records queued. + NVM_RECORDS_READ, ///< NVM records read. + NVM_RECORDS_CRC_CHECKED, ///< NVM records CRC checked. + NUM_OF_NVM_READ_RECORDS_STATES, ///< Number of NVM read records states. +} NVM_RECORDS_READ_STATUS_T; // ********** public function prototypes ********** void initNVMsgQ ( void ); -void execNVDataMgmtProcessRecord( void ); +void execNVMProcessRecord( void ); // Record operations queue functions -void enqueueRecordJob( NVDATAMGMT_OPERATION_STATE_T ops, RECORD_JOBS_STATE_T job ); +void enqueueRecordJob( NVM_OPERATION_T ops, NVM_RECORD_TYPE_T job ); void dequeueRecordJob( void ); BOOL isRecordQueueEmpty( void ); BOOL isRecordQueueFull( void ); U32 getAvailableRecordQueueCount( void ); -BOOL enqueueEraseAndWriteSector( RECORD_JOBS_STATE_T job ); +BOOL enqueueEraseAndWriteSector( NVM_RECORD_TYPE_T job ); BOOL enqueuewriteAllRecords( void ); BOOL enqueueReadAllRecords( void ); BOOL isNewCalibrationRecordAvailable( void ); void updateNewNVRecordAvailableFlag( BOOL value ); -void updateRecordReadStatus( NVDATAMGMT_RECORDS_READ_STATUS_T status ); +void updateRecordReadStatus( NVM_RECORDS_READ_STATUS_T status ); void updateRecordStartTimer( U32 value ); PROCESS_RECORD_JOB_T getCurrentProcessRecordJob ( void );