Index: firmware/App/Services/Messaging.c =================================================================== diff -u -r1e1b46f60309736d833cad4876a43e73a148ac5a -r0d45291a1e7fb3fbc67c9159766b99cf0ca6d57d --- firmware/App/Services/Messaging.c (.../Messaging.c) (revision 1e1b46f60309736d833cad4876a43e73a148ac5a) +++ firmware/App/Services/Messaging.c (.../Messaging.c) (revision 0d45291a1e7fb3fbc67c9159766b99cf0ca6d57d) @@ -25,6 +25,8 @@ #include "Compatible.h" #include "ConcentratePumps.h" #include "DialysatePumps.h" +#include "Flow.h" +#include "FlowSensor.h" #include "FluidPump.h" #include "FlushConcentrate.h" #include "FlushFilter.h" @@ -213,6 +215,13 @@ { MSG_ID_FP_VALVE_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testIOFPValvesStatesPublishIntervalOverride }, { MSG_ID_FP_VALVE_CMD_STATE_OVERRIDE_REQUEST, &testIOFPValveStateOverride }, { MSG_ID_FP_VALVE_SENSED_STATE_OVERRIDE_REQUEST, &testIOFPValveSensedStateOverride }, + { MSG_ID_FP_FLOWS_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testFlowSensorDataPublishIntervalOverride }, + { MSG_ID_FP_FLOW_RATE_OVERRIDE_REQUEST, &testFlowSensorReadingsOverride }, + { MSG_ID_FP_FLOW_TEMP_OVERRIDE_REQUEST, &testFlowSensorTemperatureReadingsOverride }, + { MSG_ID_FP_FILTERED_FLOW_RATE_OVERRIDE_REQUEST, &testFlowSensorFilteredReadingsOverride }, + { MSG_ID_FP_FILTERED_FLOW_TEMP_OVERRIDE_REQUEST, &testFlowSensorFilteredTemperatureReadingsOverride }, + { MSG_ID_FP_ALARM_STATE_OVERRIDE_REQUEST, &testAlarmStateOverride }, + { MSG_ID_FP_ALARM_CLEAR_ALL_ALARMS_REQUEST, &testFPClearAllAlarms } }; /// Calculation for number of entries in the incoming message function handler look-up table. @@ -471,14 +480,29 @@ // Create a message record blankMessage( &msg ); - msg.hdr.msgID = MSG_ID_DD_EVENT; + if ( ( event >= FP_EVENT_FIRST ) && ( event <= FP_EVENT_LAST ) ) + { + msg.hdr.msgID = MSG_ID_FP_EVENT; + } + else + { + msg.hdr.msgID = MSG_ID_DD_EVENT; + } + msg.hdr.payloadLen = sizeof( EVENT_PAYLOAD_T ); memcpy( &msg.payload, &eventStruct, sizeof( EVENT_PAYLOAD_T ) ); // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer // TODO : validate the change , DD -> UI channel removed and added DD broadcast instead. - result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_DD_BROADCAST, ACK_NOT_REQUIRED ); + if ( msg.hdr.msgID == MSG_ID_FP_EVENT ) + { + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_FP_BROADCAST, ACK_NOT_REQUIRED ); + } + else + { + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_DD_BROADCAST, ACK_NOT_REQUIRED ); + } return result; } @@ -494,7 +518,7 @@ * @param almData2 2nd data associated with alarm * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL broadcastAlarmTriggered( U32 alarm, ALARM_DATA_T almData1, ALARM_DATA_T almData2 ) +BOOL broadcastAlarmTriggered( U32 alarm, ALARM_DATA_T almData1, ALARM_DATA_T almData2, ALARM_SOURCE_T almSource ) { BOOL result; MESSAGE_T msg; @@ -524,8 +548,16 @@ memset( payloadPtr, 0, sizeof( U32) * 3 ); // 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_DD_ALARM, ACK_REQUIRED ); + if ( ALM_SRC_FP == almSource ) + { + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_FP_ALARM, ACK_REQUIRED ); + } + else + { + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_DD_ALARM, ACK_REQUIRED ); + } + return result; } @@ -538,7 +570,7 @@ * @param alarm ID of alarm cleared * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL broadcastAlarmCleared( U32 alarm ) +BOOL broadcastAlarmCleared( U32 alarm, ALARM_SOURCE_T almSource ) { BOOL result; MESSAGE_T msg; @@ -552,7 +584,14 @@ memcpy( payloadPtr, &alarm, sizeof( U32 ) ); // 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_DD_ALARM, ACK_REQUIRED ); + if ( ALM_SRC_FP == almSource ) + { + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_FP_ALARM, ACK_REQUIRED ); + } + else + { + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_DD_ALARM, ACK_REQUIRED ); + } return result; } @@ -567,7 +606,7 @@ * @param alarm ID of alarm which alarm condition is cleared * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL broadcastAlarmConditionCleared( U32 alarm ) +BOOL broadcastAlarmConditionCleared( U32 alarm, ALARM_SOURCE_T almSource ) { BOOL result; MESSAGE_T msg; @@ -581,7 +620,14 @@ memcpy( payloadPtr, &alarm, sizeof( U32 ) ); // 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_DD_ALARM, ACK_REQUIRED ); + if ( ALM_SRC_FP == almSource ) + { + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_FP_ALARM, ACK_REQUIRED ); + } + else + { + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_DD_ALARM, ACK_REQUIRED ); + } return result; }