Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rfbb180e9b4830dd5f890f4f33f022ce375ff4012 -r58f8416a9ff9c68ee34361ac23a46dcf56cfa79e --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision fbb180e9b4830dd5f890f4f33f022ce375ff4012) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 58f8416a9ff9c68ee34361ac23a46dcf56cfa79e) @@ -21,6 +21,7 @@ #include "Accel.h" #include "AlarmLamp.h" +#include "Battery.h" #include "Buttons.h" #include "ConsumableSelfTest.h" #include "FPGA.h" @@ -949,7 +950,7 @@ // Create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_HD_TREATMENT_LOG_ALARM_EVENT; - msg.hdr.payloadLen = sizeof( ALARM_ID_T ) + 3 * sizeof( F32 ); + msg.hdr.payloadLen = sizeof( U32 ) + 2 * sizeof( F32 ); memcpy( payloadPtr, &id, sizeof( U32 ) ); payloadPtr += sizeof( U32 ); @@ -982,7 +983,7 @@ // Create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_HD_TREATMENT_LOG_EVENT; - msg.hdr.payloadLen = sizeof( EVENT_ID_T ) + 3 * sizeof( F32 ); + msg.hdr.payloadLen = sizeof( U32 ) + 2 * sizeof( F32 ); memcpy( payloadPtr, &eventID, sizeof( U32 ) ); payloadPtr += sizeof( U32 ); @@ -6078,6 +6079,39 @@ /*********************************************************************//** * @brief + * The handleBatteryRemainingPercentOverrideRequest function handles a + * request to override battery remaining percent. + * @details Inputs: none + * @details Outputs: message handled + * @param message : a pointer to the message to handle + * @return none + *************************************************************************/ +void handleBatteryRemainingPercentOverrideRequest( MESSAGE_T *message ) +{ + TEST_OVERRIDE_PAYLOAD_T payload; + BOOL result = FALSE; + + // Verify payload length + if ( sizeof( TEST_OVERRIDE_PAYLOAD_T ) == message->hdr.payloadLen ) + { + memcpy( &payload, message->payload, sizeof( TEST_OVERRIDE_PAYLOAD_T ) ); + + if ( FALSE == payload.reset ) + { + result = testSetBatteryRemainingPercentOverride( payload.state.u32 ); + } + else + { + result = testResetSetBatteryRemainingPercentOverride(); + } + } + + // Respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + +/*********************************************************************//** + * @brief * The handleBloodPrimeVolumeOverrideRequest function handles a request to * override the calculated blood prime volume (in mL). * @details Inputs: none