From d4ae04f8922ce04c1dbaf375176677a91afba386 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Sun, 30 Aug 2020 20:29:58 +0300 Subject: improve firmware activation, diagnostics, job end reasons according to the new PROTOBUF --- .../Embedded/Modules/AlarmHandling/AlarmHandling.c | 4 ++-- .../Embedded/Modules/Diagnostics/Diagnostics.c | 27 ++++++++++++++++++---- .../Embedded/Modules/Waste/Waste_maint.c | 4 ++-- 3 files changed, 27 insertions(+), 8 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index 07df07309..e8e2e4ed0 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -838,7 +838,7 @@ JobEndReasonEnum AlarmHandlingPrepareJob(void *CurrentJob) { ReportWithPackageFilter(AlarmFilter,"missing alarm file", __FILE__,__LINE__,0, DEBUG_LOG_CATEGORY__Warning, 223, 0); usnprintf(AlarmReasonStr, 100, "No alarm file in the machine",111); - return JOB_UNSPECIFIED_ERROR; + return JOB_NO_ALARM_FILE; } /*for (Segment_i=0;Segment_in_segments;Segment_i++) @@ -982,7 +982,7 @@ JobEndReasonEnum AlarmHandlingPrepareJob(void *CurrentJob) case EVENT_TYPE__VOC_SENSOR_ALARM_TIME: case EVENT_TYPE__VOC_SENSOR_ALARM_SLOPE: //case EVENT_TYPE__POWER_UP_BIT_FAILURE: - FoundReason = JOB_UNSPECIFIED_ERROR; + FoundReason = JOB_WASTE_HANDLING_PROBLEM; AlarmId = Alarm_i; ReportWithPackageFilter(AlarmFilter,"an alarm preventing job", __FILE__,__LINE__,AlarmItem[Alarm_i].EventType, AlarmItem[Alarm_i].Severity, AlarmItem[Alarm_i].DeviceId, 0); break; diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c index 2ebd21dd5..80c85c3ea 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c @@ -410,6 +410,19 @@ void DiagnosticLoadDancerError(int DancerId, double value) // DancerErrorCounterIndex[DancerId] = 0; } +double Shinko_Sv = 12,Shinko_Pv = 15; +void LoadChillerState(HeaterType HeaterType,HeaterState *HeaterState) +{ + int HeaterId = HeaterType; + HeaterState->has_heatertype = true; + HeaterState->heatertype = HeaterType; + HeaterState->has_setpoint = true; + HeaterState->setpoint = Shinko_Sv; + HeaterState->has_currentvalue = true; + HeaterState->currentvalue = Shinko_Pv;//MillisecGetTemperatures(HeaterId2PT100Id[HeaterId])/100; + return; +} + #ifdef FOUR_WINDERS double dancer2,dancer3,dancer4; #endif @@ -667,8 +680,8 @@ void DiagnosticOneMinuteCollection(void) DiagnosticsMonitor.headzone4heatercurrent = HeadCurrent[HEAD_CURRENT_ZONE_4]; break; case HEAD_CURRENT_ZONE_5: - DiagnosticsMonitor.n_headzone5_6heatercurrent = 1; - DiagnosticsMonitor.headzone5_6heatercurrent = HeadCurrent[HEAD_CURRENT_ZONE_5]; + DiagnosticsMonitor.n_headzone56heatercurrent = 1; + DiagnosticsMonitor.headzone56heatercurrent = HeadCurrent[HEAD_CURRENT_ZONE_5]; break; /* case HEAD_CURRENT_ZONE_6: DiagnosticsMonitor.n_headzone6heatercurrent = 1; @@ -825,8 +838,8 @@ void DiagnosticOneMinuteCollection(void) DiagnosticsMonitor.headzone4heatercurrent = HeatersCurrent[HEATER_HEAD_CURRENT_ZONE_4]; break; case HEATER_HEAD_CURRENT_ZONE_5_6: - DiagnosticsMonitor.n_headzone5_6heatercurrent = 1; - DiagnosticsMonitor.headzone5_6heatercurrent = HeatersCurrent[HEATER_HEAD_CURRENT_ZONE_5_6]; + DiagnosticsMonitor.n_headzone56heatercurrent = 1; + DiagnosticsMonitor.headzone56heatercurrent = HeatersCurrent[HEATER_HEAD_CURRENT_ZONE_5_6]; break; default: break; @@ -1059,6 +1072,7 @@ void SendDiagnostics(void) //MessageContainer responseContainer; StartDiagnosticsResponse response = START_DIAGNOSTICS_RESPONSE__INIT; //int i; + int chillerHeaterId = 0; if (DiagnosticsActive == false) { @@ -1267,6 +1281,11 @@ void SendDiagnostics(void) LoadHeaterState(HEATER_TYPE__HeadCoverHeater1,&HeaterInfo[i++]); LoadHeaterState(HEATER_TYPE__HeadCoverHeater2,&HeaterInfo[i++]); } + if(WHS_Type == WHS_TYPE_NEW) + { + chillerHeaterId = (Head_Type == HEAD_TYPE_ARC)?HEATER_TYPE__HeaterZone12:HEATER_TYPE__HeadCoverHeater1; + LoadChillerState(chillerHeaterId,&HeaterInfo[i++]); + } response.n_heatersstates = i; response.heatersstates = heatersstates; diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c index 7c29a909b..6de20a567 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c +++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c @@ -520,10 +520,10 @@ uint32_t Waste_Prepare(void) else { Report("cannot start a job with cartridges in the IFS", __FILE__, __LINE__, wasteLevel, RpMessage, wasteLevelOverflow, 0); - JobEndReason = JOB_OTHER_ALARM; + JobEndReason = JOB_WASTE_HANDLING_PROBLEM; AlarmHandlingSetAlarm( EVENT_TYPE__ALL_WASTE_CARTRIDGES_FULL, true); usnprintf(AlarmReasonStr, 100, "cannot start a job with cartridges in the IFS"); //PrepareReady(Module_Waste,ModuleFail); - return JOB_OTHER_ALARM; + return JOB_WASTE_HANDLING_PROBLEM; } } -- cgit v1.3.1