Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r47c41046beba8affaaaa13a4f222a7b99bd193f1 -rdcd360fb4dc37db2dcbeb7fb14fb327fe68235f4 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 47c41046beba8affaaaa13a4f222a7b99bd193f1) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision dcd360fb4dc37db2dcbeb7fb14fb327fe68235f4) @@ -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 * ***************************************************************************/ @@ -54,9 +54,9 @@ #define MAX_COMM_CRC_FAILURES 5 ///< maximum number of CRC errors within window period before alarm #define MAX_COMM_CRC_FAILURE_WINDOW_MS (10 * SEC_PER_MIN * MS_PER_SECOND) ///< CRC error window -#define MSG_NOT_ACKED_TIMEOUT_MS ( MS_PER_SECOND * 1 ) ///< maximum time for a Denali message that requires ACK to be ACK'd -#define MSG_NOT_ACKED_MAX_RETRIES 3 ///< maximum number of times a message that requires ACK that was not ACK'd can be re-sent before alarm -#define PENDING_ACK_LIST_SIZE 25 ///< maximum number of Delanli messages that can be pending ACK at any given time +#define MSG_NOT_ACKED_TIMEOUT_MS 150 ///< maximum time for a Denali message that requires ACK to be ACK'd +#define MSG_NOT_ACKED_MAX_RETRIES 3 ///< maximum number of times a message that requires ACK that was not ACK'd can be re-sent before alarm +#define PENDING_ACK_LIST_SIZE 25 ///< maximum number of Delanli messages that can be pending ACK at any given time #pragma pack(push, 1) @@ -825,7 +825,7 @@ if ( TRUE == didTimeout( timeOfLastHDCheckIn, HD_COMM_TIMEOUT_IN_MS ) ) { hdIsCommunicating = FALSE; - activateAlarmNoData( ALARM_ID_HD_COMM_TIMEOUT ); + //activateAlarmNoData( ALARM_ID_HD_COMM_TIMEOUT ); } } @@ -950,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 } } @@ -1092,14 +1094,22 @@ handleTestROMeasuredFlowOverrideRequest( message ); break; + case MSG_ID_DIALYSATE_MEASURED_FLOW_OVERRIDE: + handleTestDialysateMeasuredFlowOverrideRequest( message ); + break; + case MSG_ID_RO_PUMP_SEND_INTERVAL_OVERRIDE: handleTestROPumpDataBroadcastIntervalOverrideRequest( message ); break; - case MSG_ID_DRAIN_PUMP_SET_RPM_OVERRIDE: - handleTestDrainPumpRPMOverrideRequest( message ); + case MSG_ID_DIALYSATE_FLOW_SEND_INTERVAL_OVERRIDE: + handleTestDialysateFlowDataBroadcastIntervalOverrideRequest( message ); break; + case MSG_ID_DRAIN_PUMP_SET_RPM: + handleTestSetDrainPumpRPM( message ); + break; + case MSG_ID_DRAIN_PUMP_SEND_INTERVAL_OVERRIDE: handleTestDrainPumpDataBroadcastIntervalOverrideRequest( message ); break; @@ -1117,23 +1127,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: @@ -1156,8 +1166,8 @@ 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: @@ -1205,10 +1215,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; @@ -1273,9 +1283,33 @@ break; case MSG_ID_FILTER_FLUSH_TIME_PERIOD_OVERRIDE: - handleFilterFlushTimePeriodOverride(message); + 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; + + case MSG_ID_DG_BLOCK_MESSAGE_TRANSMISSION: + handleTestBlockMessagesRequest( message ); + break; + + case MSG_ID_DG_SUPER_CLEAR_ALARMS_CMD: + handleTestSuperClearAlarmsRequest( message ); + break; + + case MSG_ID_DG_ALARM_INFO_SEND_INTERVAL_OVERRIDE: + handleTestAlarmInfoSendIntervalOverrideRequest( message ); + break; + default: // TODO - unrecognized message ID received - ignore break;