#ifndef _NON_VOLATILE_MEMORYS_H_ #define _NON_VOLATILE_MEMORYS_H_ #include "r_typedefs.h" #include "RTE_GPIO.h" #define NVM_USE_EEPROM 1 #define NVM_INIT_DATA 0 #define NVM_ODO_DATA 1 #define NVM_MAINT_DATA 2 #define NVM_INDEX_ODO 3 #define NVM_INDEX_ODO_CLR 4 #define NVM_SNAPSHOT_FIRST 5 #define NVM_BusOff 25//6 #define NVM_TOTAL_DATA_NUM 25 typedef union { struct { uint32_t Value; uint8_t ClrCnt; uint8_t Rsvd; uint16_t Cleared; } Sig; uint8_t Data[8]; } NVMODOUnion; extern NVMODOUnion NVMODO; extern uint8_t u8NVMMaintenance[16]; extern uint8_t u8MileODORelated[16]; extern uint8_t u8MileSnapshotRelated[20][16]; typedef union { struct { uint32_t TripA_NUM; uint32_t TripB_NUM; } Sig; uint8_t Data[8]; } NVMTRIPUnion; extern NVMTRIPUnion NVMTRIP; #define NVM_Trip_VALUE NVMTRIP.Sig.TripA_NUM extern uint8_t NVMEEPROMFault; #define NVM_EEPROM_FAULT NVMEEPROMFault void NVM_Init(void); void NVM_Data_Update(uint8_t DataName); void NVM_Data_Update_Service(void); void Delay_Ms(uint8_t Time); #endif