Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r1240b612f790f931825aba86ec37f37eccce9336 -r844f98879b7425c207b58562e623ab960adbc357 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 1240b612f790f931825aba86ec37f37eccce9336) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 844f98879b7425c207b58562e623ab960adbc357) @@ -327,14 +327,6 @@ { canTransmit( canREG1, lastCANPacketSentChannel, lastCANPacketSent ); } -#ifdef DEBUG_ENABLED - { - char debugStr[100]; - sprintf( debugStr, "SystemComm-HD resend Last Frame. %2d\n", lastCANPacketSentChannel ); - sendDebugData( (U08*)debugStr, strlen(debugStr) ); - sendDebugDataToUI( (U08*)debugStr ); - } -#endif } // We must be only node on CAN bus - nobody is ACKing our transmitted frames else @@ -343,13 +335,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]; - sprintf( debugStr, "SystemComm-HD is only node.\n" ); - sendDebugData( (U08*)debugStr, strlen(debugStr) ); - } -#endif } } } @@ -409,8 +394,8 @@ } else { - // Should not get here - not an active message box - // TODO - s/w fault? + // Should not get here - not an active message box + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_CAN_MESSAGE_BOX, srcCANBox ) } } @@ -968,13 +953,6 @@ SET_ALARM_WITH_1_U32_DATA( ALARM_ID_COMM_TOO_MANY_BAD_CRCS, (U32)ALARM_SOURCE_HD ); #endif } -#ifdef DEBUG_ENABLED - { - char debugStr[100]; - sprintf( debugStr, "SystemComm-HD-Bad Msg CRC.\n" ); - sendDebugDataToUI( (U08*)debugStr ); - } -#endif } /*********************************************************************//** @@ -1019,8 +997,6 @@ } } - // TODO - if no open slot found, s/w fault - return result; } @@ -1082,8 +1058,8 @@ { U16 msgID; - memcpy( &msgID, (U08*)&pendingAckList[ i ].msg[ sizeof( U08 ) + sizeof( U16) ], sizeof( U16 ) ); - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_CAN_MESSAGE_NOT_ACKED, (U32)msgID ); + memcpy( &msgID, (U08*)&pendingAckList[ i ].msg[ sizeof( U08 ) + sizeof( U16) ], sizeof( U16 ) ); + SET_ALARM_WITH_1_U32_DATA( ALARM_ID_CAN_MESSAGE_NOT_ACKED, (U32)msgID ); pendingAckList[ i ].used = FALSE; // Take pending message off of list } } @@ -1159,6 +1135,11 @@ case MSG_ID_REQUEST_FW_VERSIONS: handleFWVersionRequest( message ); + handleHDSerialNumberRequest(); + break; + + case MSG_ID_DG_VERSION: + handleDGVersionResponse( message ); break; case MSG_ID_DG_TEMPERATURE_DATA: @@ -1273,10 +1254,26 @@ handleUITreatmentLogDataRequest( message ); break; + case MSG_ID_UI_DISINFECT_REQUEST: + handleUIDisinfectRequest( message ); + break; + case MSG_ID_DG_COMMAND_RESPONSE: handleDGCmdResp( message ); break; + case MSG_ID_DG_FLUSH_DATA: + handleFlushUIStateReadingFromDG( message ); + break; + + case MSG_ID_DG_HEAT_DISINFECT_DATA: + handleHeatDisinfectUIStateReadingFromDG( message ); + break; + + case MSG_ID_DG_CHEM_DISINFECT_DATA: + handleChemDisinfectUIStateReadingFromDG( message ); + break; + case MSG_ID_UI_HD_SET_RTC_REQUEST: handleUIClockSyncRequest( message ); break; @@ -1289,6 +1286,27 @@ handleUIPOSTFinalResult( message ); break; + case MSG_ID_HD_UI_VERSION_INFO_RESPONSE: + handleUIVersionResponse( message ); + break; + + case MSG_ID_UI_ACTIVE_ALARMS_LIST_REQUEST: + handleUIActiveAlarmsListRequest( message ); + break; + + case MSG_ID_HD_SET_STANDBY_DISINFECT_SUB_MODE_REQUEST: + handleSetHDStandbyDisinfectSubmodeRequest( message ); + break; + + case MSG_ID_UI_REQUEST_SERVICE_INFO: + handleHDServiceScheduleRequest( message ); + break; + + case MSG_ID_REQUEST_HD_USAGE_INFO: + handleHDUsageInfoRequest( message ); + break; + + // NOTE: this always must be the last case case MSG_ID_TESTER_LOGIN_REQUEST: handleTesterLogInRequest( message ); break; @@ -1525,6 +1543,14 @@ handleTestDialOutPumpHomeRequest( message ); break; + case MSG_ID_SUPER_CLEAR_ALARMS_CMD: + handleTestSuperClearAlarmsRequest( message ); + break; + + case MSG_ID_HD_SET_OP_MODE_REQUEST: + handleTestSetOpModeRequest( message ); + break; + case MSG_ID_HD_FLUID_LEAK_SEND_INTERVAL_OVERRIDE: handleSetFluidLeakBroadcastIntervalOverrideRequest( message ); break; @@ -1557,14 +1583,34 @@ handleBubbleSelfTestRequest( message ); break; - case MSG_ID_HD_SET_OP_MODE_REQUEST: - handleTestSetOpModeRequest( message ); + case MSG_ID_HD_BLOOD_PRIME_VOLUME_OVERRIDE: + handleBloodPrimeVolumeOverrideRequest( message ); break; - case MSG_ID_SUPER_CLEAR_ALARMS_CMD: - handleTestSuperClearAlarmsRequest( message ); + case MSG_ID_HD_SWITCHES_STATUS_OVERRIDE: + handleSetSwitchesStatusOverrideRequest( message ); break; + case MSG_ID_HD_SWITCHES_PUBLISH_INTERVAL_OVERRIDE: + handleTestSwitchesPublishIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_BATTERY_REMAINING_PERCENT_OVERRIDE: + handleBatteryRemainingPercentOverrideRequest( message ); + break; + + case MSG_ID_HD_BLOOD_PRIME_SAFETY_VOLUME_OVERRIDE: + handleBloodPrimeSafetyVolumeOverrideRequest( message ); + break; + + case MSG_ID_HD_RINSEBACK_VOLUME_OVERRIDE: + handleRinsebackVolumeOverrideRequest( message ); + break; + + case MSG_ID_HD_RINSEBACK_SAFETY_VOLUME_OVERRIDE: + handleRinsebackSafetyVolumeOverrideRequest( message ); + break; + case MSG_ID_HD_SYRINGE_PUMP_SEND_INTERVAL_OVERRIDE: handleTestSyringePumpDataBroadcastIntervalOverrideRequest( message ); break; @@ -1597,6 +1643,14 @@ handleTestSyringePumpMeasuredVolumeOverrideRequest( message ); break; + case MSG_ID_HD_VALVES_CURRENT_OVERRIDE: + handleTestValvesCurrentOverrideRequest( message ); + break; + + case MSG_ID_HD_VALVES_POSITION_COUNT_OVERRIDE: + handleTestValvesPositionCountOverrideRequest( message ); + break; + case MSG_ID_HD_MONITORED_VOLTAGES_SEND_INTERVAL_OVERRIDE: handleTestMonitoredVoltagesSendIntervalOverrideRequest( message ); break; @@ -1641,6 +1695,22 @@ handleTestSyringePumpADCReadCtrOverrideRequest( message ); break; + case MSG_ID_HD_TEMPERATURES_VALUE_OVERRIDE: + handleTestTemperaturesValueOverrideRequest( message ); + break; + + case MSG_ID_HD_TEMPERATURES_PUBLISH_INTERVAL_OVERRIDE: + handleTestTemperaturesBroadcastIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_FANS_PUBLISH_INTERVAL_OVERRIDE: + handleTestFansBroadcastIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_FANS_RPM_OVERRIDE: + handleFansRPMOverride( message ); + break; + case MSG_ID_HD_SET_CALIBRATION_RECORD: handleSetHDCalibrationRecord( message ); break; @@ -1665,6 +1735,50 @@ handleSetHDServiceRecord( message ); break; + case MSG_ID_HD_ALARM_STATUS_PUBLISH_INTERVAL_OVERRIDE: + handleTestAlarmStatusSendIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_TREATMENT_TIME_DATA_PUBLISH_INTERVAL_OVERRIDE: + handleTestTreatmentTimeDataSendIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_TREATMENT_RANGES_PUBLISH_INTERVAL_OVERRIDE: + handleTestTreatmentRangesSendIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_TREATMENT_STOP_DATA_PUBLISH_INTERVAL_OVERRIDE: + handleTestTreatmentStopDataSendIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_BLOOD_PRIME_DATA_PUBLISH_INTERVAL_OVERRIDE: + handleTestBloodPrimeDataSendIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_RINSEBACK_DATA_PUBLISH_INTERVAL_OVERRIDE: + handleTestRinsebackDataSendIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_STANDBY_DATA_PUBLISH_INTERVAL_OVERRIDE: + handleTestStandbyModeDataSendIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_OP_MODE_DATA_PUBLISH_INTERVAL_OVERRIDE: + handleTestOpModeDataSendIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_PRE_TREATMENT_DATA_PUBLISH_INTERVAL_OVERRIDE: + handleTestPreTreatmentModeDataSendIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_TREATMENT_DATA_PUBLISH_INTERVAL_OVERRIDE: + handleTestTreatmentModeSendIntervalOverrideRequest( message ); + break; + + case MSG_ID_HD_POST_TREATMENT_DATA_PUBLISH_INTERVAL_OVERRIDE: + handleTestPostTreatmentModeSendIntervalOverrideRequest( message ); + break; + default: // Unrecognized message ID received - ignore break;