Index: firmware/App/Services/TDInterface.c =================================================================== diff -u -rb212425c0c7e9b69b4de7d46dd41030dfc3efa62 -r105b259d8643b6d50a42bbeb230d408bc6d20cf5 --- firmware/App/Services/TDInterface.c (.../TDInterface.c) (revision b212425c0c7e9b69b4de7d46dd41030dfc3efa62) +++ firmware/App/Services/TDInterface.c (.../TDInterface.c) (revision 105b259d8643b6d50a42bbeb230d408bc6d20cf5) @@ -465,5 +465,46 @@ * TEST SUPPORT FUNCTIONS *************************************************************************/ +/*********************************************************************//** + * @brief + * Apply DD treatment parameter overrides received from Dialin. + * @details + * Handles DD_TREATMENT_PARAMS_OVERRIDE_PAYLOAD_T and updates: + * dialysate flow (F32), UF rate (F32), dialysate temperature (F32) + * acid and bicarbonate concentrate options (U32) Overrides + * are applied only in DD_MODE_GEND, followed by + * setTreatmentParamUpdate(). + * @param message Pointer to override message from Dialin. + * @return TRUE if override applied, FALSE otherwise. + *************************************************************************/ +BOOL testTDTreatmentParamsOverride( MESSAGE_T *message ) +{ + BOOL result = FALSE; + if( message->hdr.payloadLen == sizeof( DD_TREATMENT_PARAMS_OVERRIDE_PAYLOAD_T ) ) + { + DD_TREATMENT_PARAMS_OVERRIDE_PAYLOAD_T payload; + DD_OP_MODE_T ddMode = getCurrentOperationMode(); + + memcpy( &payload, message->payload, sizeof( DD_TREATMENT_PARAMS_OVERRIDE_PAYLOAD_T ) ); + + if( DD_MODE_GEND == ddMode ) + { + // Overrides to DD working parameters + setTDDialysateFlowrate( payload.dialFlowRate_ml_min ); + setTDUFRate( payload.ufRate_ml_h ); + setTDTargetDialysateTemperature( payload.dialTemp_degC ); + setTDAcidAndBicarbType( (DD_ACID_TYPES_T)payload.acidConcentrate, ( DD_BICARB_TYPES_T )payload.bicarbConcentrate ); + + // Notify to the system DD parameters changed + setTreatmentParamUpdate(); + + result = TRUE; + } + } + sendAckResponseMsg( (MSG_ID_T)message->hdr.msgID, COMM_BUFFER_OUT_CAN_DD_2_TD, result ); + + return result; +} + /**@}*/