|
@@ -206,7 +206,17 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
|
|
{
|
|
{
|
|
MC_RideLog.TRIP_Km = 0;
|
|
MC_RideLog.TRIP_Km = 0;
|
|
MC_RideLog.TRIP_Time = 0;
|
|
MC_RideLog.TRIP_Time = 0;
|
|
- SaveParamToEEprom_24C02(&I2C_Handle_EEPROM, EEPROM_24C02_ADDR_RIDE_LOG, sizeof(MC_RideLog_Struct_t), (uint8_t*)&MC_RideLog.ODO_Km);
|
|
|
|
|
|
+ if(strncmp("CLEAR_ODO", (char*)UserString1, 9) != 0)//利用UserString1作为是否允许清除ODO的标志
|
|
|
|
+ {
|
|
|
|
+ if(MC_RideLog.ODO_Km < 1000) //前100km允许清除
|
|
|
|
+ {
|
|
|
|
+ MC_RideLog.ODO_Km = 0;
|
|
|
|
+ MC_RideLog.ODO_Time = 0;
|
|
|
|
+ }
|
|
|
|
+ strncpy((char*)UserString1, (char*)"CLEAR_ODO", 9);
|
|
|
|
+ IsFlashSaveDataUpdate = TRUE;
|
|
|
|
+ }
|
|
|
|
+ SaveParamToEEprom_24C02(&I2C_Handle_EEPROM, EEPROM_24C02_ADDR_RIDE_LOG, sizeof(MC_RideLog_Struct_t), (uint8_t*)&MC_RideLog.ODO_Km);
|
|
SendData(ID_MC_TO_PBU, MODE_REPORT, 0x5303, (uint8_t*)"ACK");
|
|
SendData(ID_MC_TO_PBU, MODE_REPORT, 0x5303, (uint8_t*)"ACK");
|
|
MC_RunInfo.Ride_Km = 0;
|
|
MC_RunInfo.Ride_Km = 0;
|
|
MC_RunInfo.Ride_Time = 0;
|
|
MC_RunInfo.Ride_Time = 0;
|
|
@@ -337,8 +347,18 @@ void DataProcess(uint16_t ID, uint8_t Mode, uint16_t Cmd, uint8_t* Data)
|
|
{
|
|
{
|
|
if(strncmp("CLEAR", (char*)Data, DataLength) == 0)
|
|
if(strncmp("CLEAR", (char*)Data, DataLength) == 0)
|
|
{
|
|
{
|
|
- MC_RideLog.TRIP_Km = 0;
|
|
|
|
|
|
+ MC_RideLog.TRIP_Km = 0;
|
|
MC_RideLog.TRIP_Time = 0;
|
|
MC_RideLog.TRIP_Time = 0;
|
|
|
|
+ if(strncmp("CLEAR_ODO", (char*)UserString1, 9) != 0)//利用UserString1作为是否允许清除ODO的标志
|
|
|
|
+ {
|
|
|
|
+ if(MC_RideLog.ODO_Km < 1000) //前100km允许清除
|
|
|
|
+ {
|
|
|
|
+ MC_RideLog.ODO_Km = 0;
|
|
|
|
+ MC_RideLog.ODO_Time = 0;
|
|
|
|
+ }
|
|
|
|
+ strncpy((char*)UserString1, (char*)"CLEAR_ODO", 9);
|
|
|
|
+ IsFlashSaveDataUpdate = TRUE;
|
|
|
|
+ }
|
|
SaveParamToEEprom_24C02(&I2C_Handle_EEPROM, EEPROM_24C02_ADDR_RIDE_LOG, sizeof(MC_RideLog_Struct_t), (uint8_t*)&MC_RideLog.ODO_Km);
|
|
SaveParamToEEprom_24C02(&I2C_Handle_EEPROM, EEPROM_24C02_ADDR_RIDE_LOG, sizeof(MC_RideLog_Struct_t), (uint8_t*)&MC_RideLog.ODO_Km);
|
|
SendData(ID_MC_TO_HMI, MODE_REPORT, 0x7403, (uint8_t*)"ACK");
|
|
SendData(ID_MC_TO_HMI, MODE_REPORT, 0x7403, (uint8_t*)"ACK");
|
|
MC_RunInfo.Ride_Km = 0;
|
|
MC_RunInfo.Ride_Km = 0;
|