moved DTC Processing to own File
This commit is contained in:
		| @@ -108,3 +108,32 @@ DTCNums_t getlastDTC_Severity(boolean only_active, DTCSeverity_t severity) | |||||||
|  |  | ||||||
|     return pointer >= 0 ? DTCStorage[pointer].Number : DTC_LAST_DTC; |     return pointer >= 0 ? DTCStorage[pointer].Number : DTC_LAST_DTC; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | void DTC_Process() | ||||||
|  | { | ||||||
|  |     static tSystem_Status preserverSysStatusError; | ||||||
|  |  | ||||||
|  |     if (getlastDTC(false) < DTC_LAST_DTC) | ||||||
|  |     { | ||||||
|  |         globals.hasDTC = true; | ||||||
|  |         if (getlastDTC_Severity(true, DTC_CRITICAL) < DTC_LAST_DTC) | ||||||
|  |         { | ||||||
|  |             if (globals.systemStatus != sysStat_Error) | ||||||
|  |             { | ||||||
|  |                 preserverSysStatusError = globals.systemStatus; | ||||||
|  |             } | ||||||
|  |             globals.systemStatus = sysStat_Error; | ||||||
|  |         } | ||||||
|  |         else | ||||||
|  |         { | ||||||
|  |             if (globals.systemStatus == sysStat_Error) | ||||||
|  |             { | ||||||
|  |                 globals.systemStatus = preserverSysStatusError; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     else | ||||||
|  |     { | ||||||
|  |         globals.hasDTC = false; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -55,6 +55,7 @@ void ClearDTC(DTCNums_t DTC_no); | |||||||
| void ClearAllDTC(); | void ClearAllDTC(); | ||||||
| DTCNums_t getlastDTC(boolean only_active); | DTCNums_t getlastDTC(boolean only_active); | ||||||
| DTCNums_t getlastDTC_Severity(boolean only_active, DTCSeverity_t severity); | DTCNums_t getlastDTC_Severity(boolean only_active, DTCSeverity_t severity); | ||||||
|  | void DTC_Process(); | ||||||
|  |  | ||||||
| extern DTCEntry_s DTCStorage[MAX_DTC_STORAGE]; | extern DTCEntry_s DTCStorage[MAX_DTC_STORAGE]; | ||||||
| #endif | #endif | ||||||
| @@ -10,32 +10,6 @@ void RunLubeApp(uint32_t add_milimeters) | |||||||
|     MaintainDTC(DTC_TANK_EMPTY, DTC_CRITICAL, (PersistenceData.tankRemain_microL < LubeConfig.amountPerDose_microL)); |     MaintainDTC(DTC_TANK_EMPTY, DTC_CRITICAL, (PersistenceData.tankRemain_microL < LubeConfig.amountPerDose_microL)); | ||||||
|     MaintainDTC(DTC_TANK_LOW, DTC_WARN, (globals.TankPercentage < LubeConfig.TankRemindAtPercentage)); |     MaintainDTC(DTC_TANK_LOW, DTC_WARN, (globals.TankPercentage < LubeConfig.TankRemindAtPercentage)); | ||||||
|  |  | ||||||
|     static tSystem_Status preserverSysStatusError; |  | ||||||
|  |  | ||||||
|     if (getlastDTC(false) < DTC_LAST_DTC) |  | ||||||
|     { |  | ||||||
|         globals.hasDTC = true; |  | ||||||
|         if (getlastDTC_Severity(true, DTC_CRITICAL) < DTC_LAST_DTC) |  | ||||||
|         { |  | ||||||
|             if (globals.systemStatus != sysStat_Error) |  | ||||||
|             { |  | ||||||
|                 preserverSysStatusError = globals.systemStatus; |  | ||||||
|             } |  | ||||||
|             globals.systemStatus = sysStat_Error; |  | ||||||
|         } |  | ||||||
|         else |  | ||||||
|         { |  | ||||||
|             if (globals.systemStatus == sysStat_Error) |  | ||||||
|             { |  | ||||||
|                 globals.systemStatus = preserverSysStatusError; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|     else |  | ||||||
|     { |  | ||||||
|         globals.hasDTC = false; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     // Add traveled Distance in mm |     // Add traveled Distance in mm | ||||||
|     PersistenceData.TravelDistance_highRes_mm += add_milimeters; |     PersistenceData.TravelDistance_highRes_mm += add_milimeters; | ||||||
|     PersistenceData.odometer_mm += add_milimeters; |     PersistenceData.odometer_mm += add_milimeters; | ||||||
|   | |||||||
| @@ -185,7 +185,6 @@ void loop() | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   RunLubeApp(wheelDistance); |   RunLubeApp(wheelDistance); | ||||||
|   EEPROMCyclicPDSTicker.update(); |  | ||||||
| #ifdef FEATURE_ENABLE_OLED | #ifdef FEATURE_ENABLE_OLED | ||||||
|   Display_Process(); |   Display_Process(); | ||||||
| #endif | #endif | ||||||
| @@ -193,9 +192,10 @@ void loop() | |||||||
|   LED_Process(); |   LED_Process(); | ||||||
|   EEPROM_Process(); |   EEPROM_Process(); | ||||||
|   Webserver_Process(); |   Webserver_Process(); | ||||||
|  |   DTC_Process(); | ||||||
|  |  | ||||||
|   ArduinoOTA.handle(); |   ArduinoOTA.handle(); | ||||||
|  |   EEPROMCyclicPDSTicker.update(); | ||||||
| #ifdef FEATURE_ENABLE_WIFI_CLIENT | #ifdef FEATURE_ENABLE_WIFI_CLIENT | ||||||
|   WiFiMaintainConnectionTicker.update(); |   WiFiMaintainConnectionTicker.update(); | ||||||
| #endif | #endif | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user