Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r79c2105d7ec35f3caeb977f6e2cc1b494853d211 -rfdb7ee915da2741dc200fef1b624b7f383f4db85 --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 79c2105d7ec35f3caeb977f6e2cc1b494853d211) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision fdb7ee915da2741dc200fef1b624b7f383f4db85) @@ -784,13 +784,15 @@ // Update treatment time stats and broadcast - end treatment if time elapsedTreatmentTimeInSecs = CALC_ELAPSED_TREAT_TIME_IN_SECS(); - // Broadcast treatment time data at interval + // Broadcast treatment time and set point data at interval if ( ++treatmentTimeBroadcastTimerCtr >= getU32OverrideValue( &treatmentTimePublishInterval ) ) { TREATMENT_TIME_DATA_T payload = { 0, 0, 0 }; + TREATMENT_SET_POINTS_T spPayload = { 0, 0, 0.0F }; treatmentTimeBroadcastTimerCtr = 0; + // Build and send treatment time data if treatment not yet completed. if ( isTreatmentCompleted() != TRUE ) { payload.treatmentTimeElapsedinSec = elapsedTreatmentTimeInSecs; @@ -807,6 +809,12 @@ } } sendMessage( MSG_ID_TD_TREATMENT_TIME_DATA, COMM_BUFFER_OUT_CAN_TD_BROADCAST, (U08*)(&payload), sizeof( TREATMENT_TIME_DATA_T ) ); + + // Build and send treatment set points message. + spPayload.bloodFlow = getTreatmentParameterU32( TREATMENT_PARAM_BLOOD_FLOW ); + spPayload.dialFlow = getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ); + spPayload.dialTemp = getTreatmentParameterF32( TREATMENT_PARAM_DIALYSATE_TEMPERATURE ); + sendMessage( MSG_ID_TD_TREATMENT_SET_POINTS, COMM_BUFFER_OUT_CAN_TD_BROADCAST, (U08*)(&payload), sizeof( TREATMENT_SET_POINTS_T ) ); } // Broadcast treatment state data at interval