Index: firmware/App/Services/Messaging.c =================================================================== diff -u -r0c8ae7b952186d912c77d8c2cfb7dad809fa5225 -r3a8cf075eb6f0d255f516ac26bac7fbaacfde14a --- firmware/App/Services/Messaging.c (.../Messaging.c) (revision 0c8ae7b952186d912c77d8c2cfb7dad809fa5225) +++ firmware/App/Services/Messaging.c (.../Messaging.c) (revision 3a8cf075eb6f0d255f516ac26bac7fbaacfde14a) @@ -17,12 +17,15 @@ #include // For memcpy() +#include "AirPump.h" #include "Bubbles.h" +#include "Buttons.h" #include "Compatible.h" #include "Messaging.h" #include "OperationModes.h" #include "PAL.h" #include "PressureSensor.h" +#include "Switches.h" #include "SystemCommTD.h" #include "Utilities.h" #include "Voltages.h" @@ -76,7 +79,18 @@ MSG_ID_TD_VOLTAGE_PUBLISH_INTERVAL_OVERRIDE_REQUEST, MSG_ID_TD_VOLTAGE_OVERRIDE_REQUEST, MSG_ID_TD_BUBBLE_PUBLISH_INTERVAL_OVERRIDE_REQUEST, - MSG_ID_TD_PRESSURE_OVERRIDE_REQUEST + MSG_ID_TD_PRESSURE_OVERRIDE_REQUEST, + MSG_ID_TD_AIR_PUMP_SET_STATE_REQUEST, + MSG_ID_TD_AIR_PUMP_PUBLISH_INTERVAL_OVERRIDE_REQUEST, + MSG_ID_TD_SWITCHES_PUBLISH_INTERVAL_OVERRIDE_REQUEST, + MSG_ID_TD_SWITCH_STATE_OVERRIDE_REQUEST, + MSG_ID_TD_OFF_BUTTON_OVERRIDE_REQUEST, + MSG_ID_TD_STOP_BUTTON_OVERRIDE_REQUEST, + MSG_ID_TD_ALARM_LAMP_PATTERN_OVERRIDE_REQUEST, + MSG_ID_TD_ALARM_AUDIO_LEVEL_OVERRIDE_REQUEST, + MSG_ID_TD_ALARM_AUDIO_CURRENT_HG_OVERRIDE_REQUEST, + MSG_ID_TD_ALARM_AUDIO_CURRENT_LG_OVERRIDE_REQUEST, + MSG_ID_TD_BACKUP_ALARM_AUDIO_CURRENT_OVERRIDE_REQUEST }; /// Message handling function table @@ -87,7 +101,18 @@ &testVoltageDataPublishIntervalOverride, &testVoltageOverride, &testBubblesDataPublishIntervalOverride, - &testPressureSensorOverride + &testPressureSensorOverride, + &testSetAirPump, + &testAirPumpDataPublishIntervalOverride, + &testSwitchesDataPublishIntervalOverride, + &testSwitchOverride, + &testOffButtonOverride, + &testStopButtonOverride, + &testAlarmLampPatternOverride, + &testAlarmAudioVolumeLevelOverride, + &testPrimaryAlarmAudioCurrentHGOverride, + &testPrimaryAlarmAudioCurrentLGOverride, + &testBackupAlarmAudioCurrentOverride }; #define NUM_OF_FUNCTION_HANDLERS (sizeof(MSG_FUNCTION_HANDLERS) / sizeof(MsgFuncPtr)) @@ -392,7 +417,38 @@ return result; } +/*********************************************************************//** + * @brief + * The sendOffButtonMsgToUI function constructs an off button msg to the UI + * and queues the msg for transmit on the appropriate CAN channel. + * @details \b Message \b Sent: MSG_ID_OFF_BUTTON_PRESS_REQUEST + * @details \b Inputs: none + * @details \b Outputs: Off button msg constructed and queued. + * @param prompt 0=prompt user to confirm, 1=cancel prompt, 2=reject user off request + * @return TRUE if msg successfully queued for transmit, FALSE if not + *************************************************************************/ +BOOL sendOffButtonMsgToUI( U08 prompt ) +{ + BOOL result; + MESSAGE_T msg; + UI_OFF_BUTTON_RESPONSE_PAYLOAD_T cmd; + cmd.userRequest = prompt; + + // Create a message record + blankMessage( &msg ); + msg.hdr.msgID = MSG_ID_OFF_BUTTON_PRESS_REQUEST; + msg.hdr.payloadLen = sizeof( UI_OFF_BUTTON_RESPONSE_PAYLOAD_T ); + + memcpy( &msg.payload, &cmd, sizeof( UI_OFF_BUTTON_RESPONSE_PAYLOAD_T ) ); + + // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_TD_2_UI, ACK_REQUIRED ); + + return result; +} + + /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/