Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r3d131237935eb36e56e0d057a713430e31dc6405 -r94a190522ce398399c7b93c59f788d7666ec0060 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 3d131237935eb36e56e0d057a713430e31dc6405) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 94a190522ce398399c7b93c59f788d7666ec0060) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +* Copyright (c) 2019-2021 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 SystemComm.c +* @file SystemComm.c * -* @author (last) Quang Nguyen -* @date (last) 26-Aug-2020 +* @author (last) Dara Navaei +* @date (last) 06-Nov-2021 * -* @author (original) Dara Navaei -* @date (original) 05-Nov-2019 +* @author (original) Dara Navaei +* @date (original) 05-Nov-2019 * ***************************************************************************/ @@ -249,14 +249,6 @@ { canTransmit( canREG1, lastCANPacketSentChannel, lastCANPacketSent ); } -#ifdef DEBUG_ENABLED - { - char debugStr[100]; - strcpy( debugStr, "SystemComm-DG resend Last Frame.\n" ); - sendDebugData( (U08*)debugStr, strlen(debugStr) ); - sendDebugDataToUI( (U08*)debugStr ); - } -#endif } // we must be only node on CAN bus - nobody is ACKing our transmitted frames else @@ -265,11 +257,6 @@ canXmitRetryCtr = MAX_XMIT_RETRIES; signalCANXmitsCompleted(); // clear pending xmit flag clearCANXmitBuffers(); // clear xmit buffers - nothing is going out right now -#ifdef DEBUG_ENABLED - char debugStr[100]; - strcpy( debugStr, "SystemComm-DG is only node.\n" ); - sendDebugData( (U08*)debugStr, strlen(debugStr) ); -#endif } // end - are we retrying xmit or are we alone on CAN bus } // end - pending xmit timeout? } // end - transmit in progress or not @@ -567,13 +554,12 @@ else { signalCANXmitsCompleted(); - // TODO - shouldn't get here, but let's see if we do - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, (U32)mBox ) + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_CAN_TX_FAULT, (U32)mBox ) } } else - { // TODO - shouldn't get here - just testing - set first data to new s/w fault enum later - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, (U32)buffer, (U32)dataSize ) + { + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_CAN_MESSAGE_SIZE, (U32)dataSize ) } } @@ -839,9 +825,7 @@ if ( TRUE == didTimeout( timeOfLastHDCheckIn, HD_COMM_TIMEOUT_IN_MS ) ) { hdIsCommunicating = FALSE; -#ifndef DEBUG_ENABLED - activateAlarmNoData( ALARM_ID_HD_COMM_TIMEOUT ); // TODO - add this alarm if we're in middle of a treatment? or if in a mode that comm loss would impact badly? -#endif + //activateAlarmNoData( ALARM_ID_HD_COMM_TIMEOUT ); } } @@ -860,14 +844,6 @@ { SET_ALARM_WITH_1_U32_DATA( ALARM_ID_COMM_TOO_MANY_BAD_CRCS, 2 ); // 2 for DG } -#ifdef DEBUG_ENABLED - { - char debugStr[100]; - - strcpy( debugStr, "SystemComm-DG-Bad Msg CRC.\n" ); - sendDebugDataToUI( (U08*)debugStr ); - } -#endif } /*********************************************************************//** @@ -974,7 +950,9 @@ U16 msgID; memcpy( &msgID, &pendingAckList[ i ].msg[ sizeof( U08 ) + sizeof( U16) ], sizeof( U16 ) ); +#ifndef DISABLE_ACK_ALARM SET_ALARM_WITH_1_U32_DATA( ALARM_ID_CAN_MESSAGE_NOT_ACKED, (U32)msgID ); +#endif pendingAckList[ i ].used = FALSE; // take pending message off of list } } @@ -1010,6 +988,7 @@ case MSG_ID_REQUEST_FW_VERSIONS: handleFWVersionCmd( message ); + handleDGSerialNumberRequest(); break; case MSG_ID_DG_SWITCH_RESERVOIR_CMD: @@ -1056,6 +1035,14 @@ handleUIClockSyncRequest( message ); break; + case MSG_ID_HD_DG_POST_RESULT_REQUEST: + handleDGPOSTResultRequest( message ); + break; + + case MSG_ID_UI_REQUEST_SERVICE_INFO: + handleDGServiceScheduleRequest( message ); + break; + // NOTE: This case must be last case MSG_ID_DG_TESTER_LOGIN_REQUEST: handleTesterLogInRequest( message ); @@ -1111,8 +1098,8 @@ handleTestROPumpDataBroadcastIntervalOverrideRequest( message ); break; - case MSG_ID_DRAIN_PUMP_SET_RPM_OVERRIDE: - handleTestDrainPumpRPMOverrideRequest( message ); + case MSG_ID_DRAIN_PUMP_SET_RPM: + handleTestSetDrainPumpRPM( message ); break; case MSG_ID_DRAIN_PUMP_SEND_INTERVAL_OVERRIDE: @@ -1132,23 +1119,23 @@ break; case MSG_ID_TEMPERATURE_SENSORS_VALUE_OVERRIDE: - handleTestTemperatureSensorsOverrideRequest ( message ); + handleTestTemperatureSensorsOverrideRequest( message ); break; case MSG_ID_TEMPERATURE_SENSORS_PUBLISH_INTERVAL_OVERRIDE: - handleTestTemperatureSensorsDataPublishOverrideRequest ( message ); + handleTestTemperatureSensorsDataPublishOverrideRequest( message ); break; case MSG_ID_HEATERS_PUBLISH_INTERVAL_ORVERRIDE: - handleTestHeatersDataPublishOverrideRequest ( message ); + handleTestHeatersDataPublishOverrideRequest( message ); break; case MSG_ID_CONDUCTIVITY_OVERRIDE: - handleTestSetConductivityOverrideRequest ( message ); + handleTestSetConductivityOverrideRequest( message ); break; case MSG_ID_CONDUCTIVITY_PUBLISH_INTERVAL_OVERRIDE: - handleTestSetConductivityDataPublishIntervalOverrideRequest ( message ); + handleTestSetConductivityDataPublishIntervalOverrideRequest( message ); break; case MSG_ID_DG_ACCEL_OVERRIDE: @@ -1171,10 +1158,18 @@ handleTestMonitoredVoltageOverrideRequest( message ); break; - case MSG_ID_DRAIN_PUMP_SET_DELTA_PRESSURE_OVERRIDE: - handleSetDrainPumpDeltaPressureOverrideRequest( message ); + case MSG_ID_DRAIN_PUMP_TARGET_OUTLET_PRESSURE: + handleSetDrainPumpTargetOutletPressure( message ); break; + case MSG_ID_DG_SWITCHES_STATUS_OVERRIDE: + handleSetSwitchesStatusOverrideRequest( message ); + break; + + case MSG_ID_DG_SWITCHES_PUBLISH_INTERVAL_OVERRIDE: + handleTestSwitchesPublishIntervalOverrideRequest( message ); + break; + case MSG_ID_DG_SOFTWARE_RESET_REQUEST: handleDGSoftwareResetRequest( message ); break; @@ -1212,10 +1207,10 @@ break; case MSG_ID_DG_RO_FLOW_RATE_OVERRIDE: - handleTestMeasuredROFlowRateOverride( message ); + handleTestROMeasuredFlowOverrideRequest( message ); break; - case MSG_ID_DG_RO_PUMP_TARGET_FLOW_OVERRIDE: + case MSG_ID_DG_SET_RO_PUMP_TARGET_FLOW: handleTestROPumpTargetFlowOverride( message ); break; @@ -1275,6 +1270,26 @@ handleSetFluidLeakStateDetectorOverrideRequest( message ); break; + case MSG_ID_DG_OP_MODE_PUBLISH_INTERVAL_OVERRIDE: + handleSetDGOpModeBroadcastIntervalOverrideRequest( message ); + break; + + case MSG_ID_FILTER_FLUSH_TIME_PERIOD_OVERRIDE: + handleFilterFlushTimePeriodOverride( message ); + break; + + case MSG_ID_DG_FANS_RPM_OVERRIDE: + handleFansRPMOverride( message ); + break; + + case MSG_ID_DG_STOP_RTC_CLOCK: + handleStopDGRTCClock( message ); + break; + + case MSG_ID_DG_DRAIN_PUMP_MEASURED_RPM_OVERRIDE: + handleSetDrainPumpMeasuredRPMOverrideRequest( message ); + break; + default: // TODO - unrecognized message ID received - ignore break;