Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r11a668a2f4a0401eed544be570d9102d143b6f00 -r316cb40192e5d6be69682d5c9df01d890e2c213f --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 11a668a2f4a0401eed544be570d9102d143b6f00) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 316cb40192e5d6be69682d5c9df01d890e2c213f) @@ -20,6 +20,7 @@ #include "Bubbles.h" #include "Buttons.h" #include "DDInterface.h" +#include "Messaging.h" #include "ModeService.h" #include "ModeTreatment.h" //#include "NVDataMgmt.h" @@ -29,7 +30,6 @@ #include "StateTxDialysis.h" #include "StateTxPaused.h" //#include "Switches.h" -#include "SystemCommTD.h" #include "TaskGeneral.h" #include "Timers.h" #include "TxParams.h" @@ -516,6 +516,35 @@ /*********************************************************************//** * @brief + * The sendPressureLimitsChangeResponse function constructs a change + * pressure limits response to the UI and queues the msg for transmit on the + * appropriate CAN channel. + * @details Inputs: none + * @details Outputs: Pressure limits change response msg constructed and queued. + * @param data response data record + * @return TRUE if msg successfully queued for transmit, FALSE if not + *************************************************************************/ +BOOL sendPressureLimitsChangeResponse( PRESSURE_LIMIT_CHANGE_RESPONSE_T *data ) +{ + BOOL result; + MESSAGE_T msg; + U08 *payloadPtr = msg.payload; + + // Create a message record + blankMessage( &msg ); + msg.hdr.msgID = MSG_ID_TD_PRESSURE_LIMITS_CHANGE_RESPONSE; + msg.hdr.payloadLen = sizeof( PRESSURE_LIMIT_CHANGE_RESPONSE_T ); + + memcpy( payloadPtr, (U08*)data, sizeof( PRESSURE_LIMIT_CHANGE_RESPONSE_T ) ); + + // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer + result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_TD_2_UI, ACK_REQUIRED ); + + return result; +} + +/*********************************************************************//** + * @brief * The handleTreatmentStartState function handles the Start state of * the Treatment Mode state machine. Should only pass through this state * once at very beginning of treatment. Index: firmware/App/Modes/ModeTreatment.h =================================================================== diff -u -r11a668a2f4a0401eed544be570d9102d143b6f00 -r316cb40192e5d6be69682d5c9df01d890e2c213f --- firmware/App/Modes/ModeTreatment.h (.../ModeTreatment.h) (revision 11a668a2f4a0401eed544be570d9102d143b6f00) +++ firmware/App/Modes/ModeTreatment.h (.../ModeTreatment.h) (revision 316cb40192e5d6be69682d5c9df01d890e2c213f) @@ -95,14 +95,13 @@ U32 venPresLimitAsymmetricmmHg; ///< Venous pressure limit asymmetric in mmHg. U32 tmpPresLimitWindowmmHg; ///< TMP pressure limit window in mmHg. } PRESSURE_LIMIT_CHANGE_RESPONSE_T; +#pragma pack(pop) /// Maximum time in this mode before blood sitting alarm given (in general task intervals). #define MAX_TIME_BLOOD_SITTING ( ( 5 * SEC_PER_MIN * MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ) /// Maximum time in this mode before blood sitting warning given (in general task intervals). #define WARN_TIME_BLOOD_SITTING ( ( 4 * SEC_PER_MIN * MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ) -#pragma pack(pop) - // ********** public function prototypes ********** void initTreatmentMode( void ); // Initialize this unit @@ -126,6 +125,9 @@ U32 getTreatmentStartTimeStamp( void ); // Get the treatment start time stamp U32 getTreatmentEndTimeStamp( void ); // Get the treatment end time stamp +// MSG_ID_TD_PRESSURE_LIMITS_CHANGE_RESPONSE +BOOL sendPressureLimitsChangeResponse( PRESSURE_LIMIT_CHANGE_RESPONSE_T *data ); + /**@}*/ #endif Index: firmware/App/Services/DDInterface.c =================================================================== diff -u -r11a668a2f4a0401eed544be570d9102d143b6f00 -r316cb40192e5d6be69682d5c9df01d890e2c213f --- firmware/App/Services/DDInterface.c (.../DDInterface.c) (revision 11a668a2f4a0401eed544be570d9102d143b6f00) +++ firmware/App/Services/DDInterface.c (.../DDInterface.c) (revision 316cb40192e5d6be69682d5c9df01d890e2c213f) @@ -295,8 +295,10 @@ * @param quf Target ultrafiltration rate (Quf). * @param dialTemp Target dialysate temperature in deg C. * @param bypass Flag indicating whether dialyzer should be bypassed. - * @param acid Type of acid concentrate used. - * @param bicarb Type of bicarbonate concentrate used. + * @param acidKPlus Potassium type acid concentration used. + * @param acidCa2Plus Calcium type acid concentration used. + * @param sodium Sodium concentrate used. + * @param bicarbonate Bicarbonate concentrate used. * @return none *************************************************************************/ void cmdStartGenerateDialysate( F32 qd, F32 quf, F32 dialTemp, BOOL bypass, F32 acidKPlus, F32 acidCa2Plus, U32 sodium, U32 bicarbonate ) Index: firmware/App/Services/SystemCommTD.c =================================================================== diff -u -r11a668a2f4a0401eed544be570d9102d143b6f00 -r316cb40192e5d6be69682d5c9df01d890e2c213f --- firmware/App/Services/SystemCommTD.c (.../SystemCommTD.c) (revision 11a668a2f4a0401eed544be570d9102d143b6f00) +++ firmware/App/Services/SystemCommTD.c (.../SystemCommTD.c) (revision 316cb40192e5d6be69682d5c9df01d890e2c213f) @@ -367,37 +367,9 @@ { // Handle any messages from other sub-systems handleIncomingMessage( message ); -} - -/*********************************************************************//** - * @brief - * The sendPressureLimitsChangeResponse function constructs a change - * pressure limits response to the UI and queues the msg for transmit on the - * appropriate CAN channel. - * @details Inputs: none - * @details Outputs: Pressure limits change response msg constructed and queued. - * @param data response data record - * @return TRUE if msg successfully queued for transmit, FALSE if not - *************************************************************************/ -BOOL sendPressureLimitsChangeResponse( PRESSURE_LIMIT_CHANGE_RESPONSE_T *data ) -{ - BOOL result; - MESSAGE_T msg; - U08 *payloadPtr = msg.payload; - - // Create a message record - blankMessage( &msg ); - msg.hdr.msgID = MSG_ID_TD_PRESSURE_LIMITS_CHANGE_RESPONSE; - msg.hdr.payloadLen = sizeof( PRESSURE_LIMIT_CHANGE_RESPONSE_T ); - - memcpy( payloadPtr, (U08*)data, sizeof( PRESSURE_LIMIT_CHANGE_RESPONSE_T ) ); - - // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer - result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_TD_2_UI, ACK_REQUIRED ); - - return result; } + /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/ Index: firmware/App/Services/SystemCommTD.h =================================================================== diff -u -r11a668a2f4a0401eed544be570d9102d143b6f00 -r316cb40192e5d6be69682d5c9df01d890e2c213f --- firmware/App/Services/SystemCommTD.h (.../SystemCommTD.h) (revision 11a668a2f4a0401eed544be570d9102d143b6f00) +++ firmware/App/Services/SystemCommTD.h (.../SystemCommTD.h) (revision 316cb40192e5d6be69682d5c9df01d890e2c213f) @@ -58,11 +58,8 @@ BOOL uiCommunicated( void ); BOOL isOnlyCANNode( void ); void setOnlyCANNode( BOOL only ); -void clearCANXmitBuffers( void ); +void clearCANXmitBuffers( void ); -// MSG_ID_TD_PRESSURE_LIMITS_CHANGE_RESPONSE -BOOL sendPressureLimitsChangeResponse( PRESSURE_LIMIT_CHANGE_RESPONSE_T *data ); - /**@}*/ #endif