Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -r3bf0a70692b6d6a2908d2ee6186e91a339016956 -rfc65332fb8fa0e83ddccbdc72592cc4a4b41e382 --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 3bf0a70692b6d6a2908d2ee6186e91a339016956) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision fc65332fb8fa0e83ddccbdc72592cc4a4b41e382) @@ -1070,7 +1070,7 @@ payload.measMCSpd = getMeasuredDialInPumpMCSpeed(); payload.measMCCurr = getMeasuredDialInPumpMCCurrent(); payload.pwmDC = dialInPumpPWMDutyCyclePctSet * FRACTION_TO_PERCENT_FACTOR; - payload.flowSigStrength = 0.0; + payload.rotorCount = getDialInPumpRotorCount(); broadcastData( MSG_ID_DIALYSATE_FLOW_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&payload, sizeof( DIALIN_PUMP_STATUS_PAYLOAD_T ) ); dialInFlowDataPublicationTimerCounter = 0; } Index: firmware/App/Controllers/DialInFlow.h =================================================================== diff -u -red39a4c00ef51318dfced8372eabcbee3ce03c52 -rfc65332fb8fa0e83ddccbdc72592cc4a4b41e382 --- firmware/App/Controllers/DialInFlow.h (.../DialInFlow.h) (revision ed39a4c00ef51318dfced8372eabcbee3ce03c52) +++ firmware/App/Controllers/DialInFlow.h (.../DialInFlow.h) (revision fc65332fb8fa0e83ddccbdc72592cc4a4b41e382) @@ -45,7 +45,7 @@ F32 measMCSpd; F32 measMCCurr; F32 pwmDC; - F32 flowSigStrength; + U32 rotorCount; } DIALIN_PUMP_STATUS_PAYLOAD_T; // ********** public function prototypes ********** Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r19a8bf98a7154e24c35da25225d4b55bf70ddd09 -rfc65332fb8fa0e83ddccbdc72592cc4a4b41e382 --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 19a8bf98a7154e24c35da25225d4b55bf70ddd09) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision fc65332fb8fa0e83ddccbdc72592cc4a4b41e382) @@ -158,6 +158,9 @@ treatmentCompleted = FALSE; rinsebackDone = FALSE; + resetBloodPumpRotorCount(); + resetDialInPumpRotorCount(); + treatmentTimeMS = 0; lastTreatmentTimeStamp = 0; treatmentTimeBroadcastTimerCtr = TREATMENT_TIME_DATA_PUB_INTERVAL; // So we send time data immediately when we begin treatment mode Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -ra4e044315bbfaaeff11cb9391485897458a48a5f -rfc65332fb8fa0e83ddccbdc72592cc4a4b41e382 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision a4e044315bbfaaeff11cb9391485897458a48a5f) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision fc65332fb8fa0e83ddccbdc72592cc4a4b41e382) @@ -1360,6 +1360,10 @@ handleHDBloodPumpRotorCountOverrideRequest( message ); break; + case MSG_ID_DIALYSATE_INLET_PUMP_ROTOR_COUNT_OVERRIDE: + handleHDDialInPumpRotorCountOverrideRequest( message ); + break; + case MSG_ID_BLOOD_PUMP_HOME_CMD: handleTestBloodPumpHomeRequest( message ); break; Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -ra4e044315bbfaaeff11cb9391485897458a48a5f -rfc65332fb8fa0e83ddccbdc72592cc4a4b41e382 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision a4e044315bbfaaeff11cb9391485897458a48a5f) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision fc65332fb8fa0e83ddccbdc72592cc4a4b41e382) @@ -3592,6 +3592,38 @@ /*********************************************************************//** * @brief + * The handleHDDialInPumpRotorCountOverrideRequest function handles a request to + * override the dialysate inlet pump rotor count. + * @details Inputs: none + * @details Outputs: message handled + * @param message a pointer to the message to handle + * @return none + *************************************************************************/ +void handleHDDialInPumpRotorCountOverrideRequest( 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 = testSetDialInPumpRotorCountOverride( payload.state.u32 ); + } + else + { + result = testResetDialysateInPumpRotorCountOverride(); + } + } + + // Respond to request + sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); +} + +/*********************************************************************//** + * @brief * The handleTestBloodPumpRotorMeasuredSpeedOverrideRequest function handles a request to * override the measured blood pump rotor speed (RPM). * @details Inputs: none Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -ra4e044315bbfaaeff11cb9391485897458a48a5f -rfc65332fb8fa0e83ddccbdc72592cc4a4b41e382 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision a4e044315bbfaaeff11cb9391485897458a48a5f) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision fc65332fb8fa0e83ddccbdc72592cc4a4b41e382) @@ -468,6 +468,9 @@ // MSG_ID_BLOOD_ROTOR_COUNT_OVERRIDE void handleHDBloodPumpRotorCountOverrideRequest( MESSAGE_T *message ); +// MSG_ID_DIALYSATE_INLET_PUMP_ROTOR_COUNT_OVERRIDE +void handleHDDialInPumpRotorCountOverrideRequest( MESSAGE_T *message ); + // MSG_ID_BLOOD_PUMP_MC_MEAS_SPEED_OVERRIDE void handleTestBloodPumpMCMeasuredSpeedOverrideRequest( MESSAGE_T *message );