Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -reb6bc75e3fef9936db1111751233cb4452315769 -r2a2d6a224532304e29f948fc43711ee6e99f915b --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision eb6bc75e3fef9936db1111751233cb4452315769) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision 2a2d6a224532304e29f948fc43711ee6e99f915b) @@ -985,9 +985,12 @@ valvesStatus[ valve ].valveDataPublishCounter = 0; } - fastData.currentPos = valvesStatus[ valve ].currentPositionInCounts; - fastData.current = valvesStatus[ valve ].valveCurrent; - broadcastHDValves(); + // TODO REMOVE Fast 10ms publish + fastDataRemoveLater.currentPos = valvesStatus[ valve ].currentPositionInCounts; + fastDataRemoveLater.current = valvesStatus[ valve ].valveCurrent; + fastDataRemoveLater.cmdPosition = valvesStatus[ valve ].nextPositionInCounts; + broadcastFastTempHDValves(); + // TODO REMOVE } /**@}*/ Index: firmware/App/Controllers/Valves.h =================================================================== diff -u -reb6bc75e3fef9936db1111751233cb4452315769 -r2a2d6a224532304e29f948fc43711ee6e99f915b --- firmware/App/Controllers/Valves.h (.../Valves.h) (revision eb6bc75e3fef9936db1111751233cb4452315769) +++ firmware/App/Controllers/Valves.h (.../Valves.h) (revision 2a2d6a224532304e29f948fc43711ee6e99f915b) @@ -52,13 +52,14 @@ typedef struct { - U32 currentPos; + S16 currentPos; F32 current; + S16 cmdPosition; } HD_VALVE_FAST_DATA_T; #pragma pack(pop) HD_VALVE_DATA_T valveData; ///< Valves data struct -HD_VALVE_FAST_DATA_T fastData; +HD_VALVE_FAST_DATA_T fastDataRemoveLater; // ********** public function prototypes ********* Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -rc84daa1f07003427fc5cdde8f5651434478f7313 -r2a2d6a224532304e29f948fc43711ee6e99f915b --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision c84daa1f07003427fc5cdde8f5651434478f7313) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 2a2d6a224532304e29f948fc43711ee6e99f915b) @@ -181,14 +181,14 @@ void setTreatmentParameterU32( TREATMENT_PARAM_T param, U32 value ) { // validate parameter - if ( param <= TREATMENT_PARAM_LAST_U32 ) + //if ( param <= TREATMENT_PARAM_LAST_U32 ) { CRITICAL_DATAS_T data = treatmentParameters[ param ].data; data.uInt = value; setCriticalData( &treatmentParameters[ param ], data ); } - else + // else { // TODO - s/w fault } @@ -215,13 +215,13 @@ U32 result = 0; // validate parameter - if ( param <= TREATMENT_PARAM_LAST_U32 ) + //if ( param <= TREATMENT_PARAM_LAST_U32 ) { CRITICAL_DATAS_T data = getCriticalData( &treatmentParameters[ param ] ); result = data.uInt; } - else + //else { // TODO - s/w fault } Index: firmware/App/Modes/ModeTreatmentParams.h =================================================================== diff -u -rc84daa1f07003427fc5cdde8f5651434478f7313 -r2a2d6a224532304e29f948fc43711ee6e99f915b --- firmware/App/Modes/ModeTreatmentParams.h (.../ModeTreatmentParams.h) (revision c84daa1f07003427fc5cdde8f5651434478f7313) +++ firmware/App/Modes/ModeTreatmentParams.h (.../ModeTreatmentParams.h) (revision 2a2d6a224532304e29f948fc43711ee6e99f915b) @@ -31,33 +31,6 @@ // ********** private definitions ********** -/// Enumeration of treatment parameters. -typedef enum Treatment_Params -{ - TREATMENT_PARAM_BLOOD_FLOW = 0, ///< Blood flow rate (in mL/min) - TREATMENT_PARAM_FIRST_U32 = TREATMENT_PARAM_BLOOD_FLOW, ///< First integer treatment parameter - TREATMENT_PARAM_DIALYSATE_FLOW, ///< Dialysate flow rate (in mL/min) - TREATMENT_PARAM_TREATMENT_DURATION, ///< Treatment duration (in minutes) - TREATMENT_PARAM_HEPARIN_PRE_STOP_TIME, ///< Heparin pre-stop time (in minutes) - TREATMENT_PARAM_SALINE_BOLUS_VOLUME, ///< Saline bolus volume (in mL) - TREATMENT_PARAM_ACID_CONCENTRATE, ///< Acid concentrate type (enum) - TREATMENT_PARAM_BICARB_CONCENTRATE, ///< Bicarbonate concentrate type (enum) - TREATMENT_PARAM_DIALYZER_TYPE, ///< Dialysate type (enum) - TREATMENT_PARAM_ART_PRESSURE_LOW_LIMIT, ///< Arterial pressure low alarm limit (in mmHg) - TREATMENT_PARAM_ART_PRESSURE_HIGH_LIMIT, ///< Arterial pressure high alarm limit (in mmHg) - TREATMENT_PARAM_VEN_PRESSURE_LOW_LIMIT, ///< Venous pressure low alarm limit (in mmHg) - TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT, ///< Venous pressure high alarm limit (in mmHg) - TREATMENT_PARAM_BP_MEAS_INTERVAL, ///< Blood pressure measurement interval (in minutes) - TREATMENT_PARAM_RINSEBACK_FLOW_RATE, ///< Rinseback flow rate (in mL/min) - TREATMENT_PARAM_LAST_U32 = TREATMENT_PARAM_RINSEBACK_FLOW_RATE, ///< Last integer treatment parameter - TREATMENT_PARAM_HEPARIN_DISPENSE_RATE, ///< Heparin dispense rate (in mL/hr) - TREATMENT_PARAM_FIRST_F32 = TREATMENT_PARAM_HEPARIN_DISPENSE_RATE, ///< First floating point treatment parameter - TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME, ///< Heparin bolus volume (in mL) - TREATMENT_PARAM_DIALYSATE_TEMPERATURE, ///< Dialysate temperature (in degC) - TREATMENT_PARAM_UF_VOLUME, ///< Ultrafiltration volume (in liters) - NUM_OF_TREATMENT_PARAMS ///< Total number of treatment parameters -} TREATMENT_PARAM_T; - // ********** private function prototypes ********** void initTreatParamsMode( void ); // initialize this module Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -reb6bc75e3fef9936db1111751233cb4452315769 -r2a2d6a224532304e29f948fc43711ee6e99f915b --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision eb6bc75e3fef9936db1111751233cb4452315769) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 2a2d6a224532304e29f948fc43711ee6e99f915b) @@ -1150,6 +1150,25 @@ result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_BROADCAST, ACK_NOT_REQUIRED ); return result; +} + +BOOL broadcastFastTempHDValves() +{ + BOOL result; + MESSAGE_T msg; + U08 *payloadPtr = msg.payload; + + // create a message record + blankMessage( &msg ); + msg.hdr.msgID = MSG_ID_TEMP_FAST_HD_VALVES_REMOVE_LATER; + msg.hdr.payloadLen = sizeof( HD_VALVE_FAST_DATA_T ); + + memcpy( payloadPtr, &fastDataRemoveLater, sizeof( HD_VALVE_FAST_DATA_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_HD_BROADCAST, ACK_NOT_REQUIRED ); + + return result; } #ifdef EMC_TEST_BUILD Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r9d40104500ae1c144a19b36b83a0515d32fb7fc9 -r2a2d6a224532304e29f948fc43711ee6e99f915b --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 9d40104500ae1c144a19b36b83a0515d32fb7fc9) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 2a2d6a224532304e29f948fc43711ee6e99f915b) @@ -160,8 +160,11 @@ // MSG_ID_HD_OP_MODE BOOL broadcastHDOperationMode( U32 mode, U32 subMode ); -//MSG_ID_HD_VALVES_DATA -BOOL broadcastHDValves(); +// MSG_ID_HD_VALVES_DATA +BOOL broadcastHDValves(); + +// MSG_ID_TEMP_FAST_HD_VALVES_REMOVE_LATER +BOOL broadcastFastTempHDValves(); #ifdef EMC_TEST_BUILD // MSG_ID_CAN_ERROR_COUNT