Index: firmware/.launches/HD.launch =================================================================== diff -u -r414926670899f626810b758dd43f2fe875098519 -r9799e3d83970fc263a1d8efe8cd9ca44d6b76d94 --- firmware/.launches/HD.launch (.../HD.launch) (revision 414926670899f626810b758dd43f2fe875098519) +++ firmware/.launches/HD.launch (.../HD.launch) (revision 9799e3d83970fc263a1d8efe8cd9ca44d6b76d94) @@ -10,6 +10,7 @@ + @@ -31,19 +32,22 @@ + + + Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -rf7e3018ec6ab762fe08efb42b21fb2ca970174b0 -r9799e3d83970fc263a1d8efe8cd9ca44d6b76d94 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision f7e3018ec6ab762fe08efb42b21fb2ca970174b0) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 9799e3d83970fc263a1d8efe8cd9ca44d6b76d94) @@ -763,8 +763,6 @@ handleUICheckIn( message ); break; - - case MSG_ID_TESTER_LOGIN_REQUEST: handleTesterLogInRequest( message ); break; @@ -867,6 +865,10 @@ handleTestDialPumpRotorMeasuredSpeedOverrideRequest( message ); break; + case MSG_ID_SET_RTC_DATE_TIME: + handleSetRTCTimestamp( message ); + break; + default: // TODO - unrecognized message ID received - ignore break; Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rf7e3018ec6ab762fe08efb42b21fb2ca970174b0 -r9799e3d83970fc263a1d8efe8cd9ca44d6b76d94 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision f7e3018ec6ab762fe08efb42b21fb2ca970174b0) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 9799e3d83970fc263a1d8efe8cd9ca44d6b76d94) @@ -28,6 +28,7 @@ #include "SystemCommMessages.h" #include "Utilities.h" #include "SystemComm.h" +#include "RTC.h" // ********** private definitions ********** @@ -390,6 +391,30 @@ return result; } +BOOL broadcastRTCEpoch( U32 epoch ) +{ + BOOL result; + MESSAGE_T msg; + U32 msgSize; + U08 data[ sizeof( MESSAGE_WRAPPER_T ) + 1 + CAN_MESSAGE_PAYLOAD_SIZE ]; // must hold full (wrapped) message + sync + any CAN padding + U08 *payloadPtr = msg.payload; + + // create a message record + blankMessage( &msg ); + msg.hdr.msgID = MSG_ID_RTC_EPOCH; + msg.hdr.payloadLen = sizeof( U32 ); + + memcpy( payloadPtr, &epoch, sizeof( U32 ) ); + + // serialize the message (w/ sync, CRC, and appropriate CAN padding) + msgSize = serializeMessage( msg, data ); + + // add serialized message data to appropriate comm buffer + result = addToCommBuffer( COMM_BUFFER_OUT_CAN_HD_BROADCAST, data, msgSize ); + + return result; +} + /************************************************************************* * @brief handleDGCheckIn * The handleDGCheckIn function handles a check-in from the DG. @@ -557,6 +582,26 @@ sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); } + +void handleSetRTCTimestamp( MESSAGE_T *message ) +{ + BOOL result; + U08 seconds = message->payload[0]; + U08 minutes = message->payload[1]; + U08 hours = message->payload[2]; + U08 days = message->payload[3]; + U08 months = message->payload[4]; + U16 years = message->payload[5]; + + // TODO: Change setRTCTimestamp to return a boolean for this + result = TRUE; + + setRTCTimestamp( seconds, minutes, hours, days, months, years ); + + // respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + /************************************************************************* * @brief handleTestOffButtonStateOverrideRequest * The handleTestOffButtonStateOverrideRequest function handles a request to \n @@ -809,4 +854,3 @@ *************************************************************************/ DATA_OVERRIDE_HANDLER_FUNC( U32, handleTestDialFlowBroadcastIntervalOverrideRequest, testSetDialInFlowDataPublishIntervalOverride, testResetDialInFlowDataPublishIntervalOverride ) - Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -rf7e3018ec6ab762fe08efb42b21fb2ca970174b0 -r9799e3d83970fc263a1d8efe8cd9ca44d6b76d94 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision f7e3018ec6ab762fe08efb42b21fb2ca970174b0) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 9799e3d83970fc263a1d8efe8cd9ca44d6b76d94) @@ -33,6 +33,8 @@ MSG_ID_DG_CHECK_IN, // 6 MSG_ID_UI_CHECK_IN, // 7 MSG_ID_DIALYSATE_FLOW_DATA, // 8 + MSG_ID_PRESSURE_OCCLUSION_DATA, // 9 + MSG_ID_RTC_EPOCH, // 10 // service/test CAN messages @@ -60,6 +62,13 @@ MSG_ID_DIAL_FLOW_SEND_INTERVAL_OVERRIDE, // 0x8014 MSG_ID_DIAL_PUMP_MEAS_SPEED_OVERRIDE, // 0x8015 MSG_ID_DIAL_PUMP_MEAS_ROTOR_SPEED_OVERRIDE, // 0x8016 + MSG_ID_PRESSURE_ARTERIAL_OVERRIDE, // 0x8017 + MSG_ID_PRESSURE_VENOUS_OVERRIDE, // 0x8018 + MSG_ID_OCCLUSION_BLOOD_PUMP_OVERRIDE, // 0x8019 + MSG_ID_OCCLUSION_DIAL_IN_PUMP_OVERRIDE, // 0x801A + MSG_ID_OCCLUSION_DIAL_OUT_PUMP_OVERRIDE, // 0x801B + MSG_ID_PRES_OCCL_SEND_INTERVAL_OVERRIDE, // 0x801C + MSG_ID_SET_RTC_DATE_TIME, // 0x801D END_OF_MSG_IDS } MSG_ID_T; @@ -82,6 +91,9 @@ // MSG_ID_DIALYSATE_FLOW_DATA BOOL broadcastDialInFlowData( U32 flowStPt, F32 measFlow, F32 measRotorSpd, F32 measSpd, F32 measMCSpd, F32 measMCCurr, F32 pwmDC ); +// MSG_ID_RTC_EPOCH +BOOL broadcastRTCEpoch( U32 epoch ); + // MSG_ID_DG_CHECK_IN void handleDGCheckIn( MESSAGE_T *message ); // MSG_ID_UI_CHECK_IN @@ -162,5 +174,7 @@ // MSG_ID_DIAL_PUMP_MEAS_ROTOR_SPEED_OVERRIDE void handleTestDialPumpRotorMeasuredSpeedOverrideRequest( MESSAGE_T *message ); +// MSG_ID_SET_RTC_TIMESTAMP +void handleSetRTCTimestamp( MESSAGE_T *message ); #endif