/************************************************************************** * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file NVDataMgmt.h * * @date 11-FEB-2020 * @author D. Navaei * * @brief NVDataMgmt header file. * **************************************************************************/ #ifndef FWCOMMON_NVDATAMGMT_H_ #define FWCOMMON_NVDATAMGMT_H_ #include "Common.h" #define MAX_SYS_SERIAL_NUMBER_CHARACTERS 7U #define MAX_HW_SERIAL_NUMBER_CHARACTERS 5U #define MAX_DATE_CHARACTERS 10U typedef enum LOG_EVENT { NVDATAMGMT_MODE_CHANGE = 0, NVDATAMGMT_ALARM, NVDATAMGMT_DISINFECTION_STARTED, NVDATAMGMT_DISINFECTION_ENDED, NVDATAMGMT_DEVICE_TURNED_ON, NVDATAMGMT_DEVICE_TURNED_OFF, NVDATAMGMT_UI_CRASHED } NVDATAMGMT_LOG_EVENT_T; typedef enum READ_STATUS { NVDATAMGMT_READ_IDLE = 0, NVDATAMGMT_READ_IN_PROGRESS, NVDATAMGMT_READ_COMPLETE } NVDATAMGMT_READ_STATUS_T; #pragma pack(push, 1) typedef struct mfg_Data { char SYSSerialNumber [ MAX_SYS_SERIAL_NUMBER_CHARACTERS ]; char HWSerialNumber [ MAX_HW_SERIAL_NUMBER_CHARACTERS ]; char mfgDate [ MAX_DATE_CHARACTERS ]; } MFG_DATA_T; typedef struct service_dates { char currentServiceDate [ MAX_DATE_CHARACTERS ]; char nextServiceDate [ MAX_DATE_CHARACTERS ]; } SERVICE_DATA_T; //TODO ADD to AE typedef struct calibration_Data { F32 occSensorOffset; F32 tempSensorOffset; } CALIBRATION_DATA_T; typedef struct get_data { NVDATAMGMT_READ_STATUS_T status; U08* externalBuffer; } READ_DATA_T; #pragma pack(pop) void initNVDataMgmt ( void ); void execNVDataMgmt ( void ); SELF_TEST_STATUS_T execNVDataMgmtSelfTest ( void ); BOOL setMfgData ( MFG_DATA_T data ); void getMfgData ( U08* buffer ); BOOL setCalibrationData ( CALIBRATION_DATA_T data ); // TODO: add to AE void getCalibrationData ( U08* buffer ); // TODO: Add to AE BOOL setTreatmentTime ( U32 mins ); U32 getTreatmentTime ( void ); BOOL setWaterConsumption ( U32 liters ); U32 getWaterConsumption ( void ); // TODO: add to AE BOOL writeLogData ( U08* data ); BOOL readLogData ( READ_DATA_T* buffer, U32 length ); BOOL setBootloaderFlag ( U32 flag ); U32 getBootloaderFlag( void ); #endif /* FWCOMMON_NVDATAMGMT_H_ */