Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -r7c03cfb8116f1e29ef3dbc60f84f2e6f26481f5c -rbd8d1a18ca5d9dd52c1082f74c19b90ca925af92 --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 7c03cfb8116f1e29ef3dbc60f84f2e6f26481f5c) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision bd8d1a18ca5d9dd52c1082f74c19b90ca925af92) @@ -132,6 +132,10 @@ SYRINGE_PUMP_CONTROL_FORWARD_DIR | SYRINGE_PUMP_CONTROL_32TH_STEP; +#define SYRINGE_PUMP_DAC_WRITE_ERROR_BIT 0x40 ///< Syringe pump DAC write error bit flag in FPGA register. +#define SYRINGE_PUMP_ENCODER_DIRECTION_ERROR_BITS 0x3F ///< Syringe pump encoder direction error counter bits in FPGA register. +#define SYRINGE_PUMP_ENCODER_DIRECTION_BIT 0x80 ///< Syringe pump encoder direction bit in FPGA register. + /// Defined states for the syringe pump control state machine. typedef enum SyringePump_States { @@ -340,7 +344,7 @@ rejReason = REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE; } - sendHeparinCommandResponse( (U32)accepted, (U32)rejReason, (U32)heparinDeliveryState ); + sendHeparinCommandResponse( (U32)accepted, (U32)rejReason ); return accepted; } @@ -798,7 +802,6 @@ U08 pmpStatus = getFPGASyringePumpStatus(); U08 encStatus = getFPGASyringePumpEncoderStatus(); U08 adcReadCtr = getFPGASyringePumpADCReadCounter(); - U08 adcDACStatus= getFPGASyringePumpADCandDACStatus(); // Get latest ADC data and convert to V syringePumpMeasHome.data = ( (F32)getFPGASyringePumpADCChannel2() * SYRINGE_PUMP_ADC_REF_V ) / SYRINGE_PUMP_ADC_FULL_SCALE_BITS; @@ -812,7 +815,7 @@ // Calculate measured rate (mL/hr) calcMeasRate(); // Get measured direction - syringePumpMeasuredDirection = ( ( encStatus & 0x80 ) != 0 ? MOTOR_DIR_REVERSE : MOTOR_DIR_FORWARD ); + syringePumpMeasuredDirection = ( ( encStatus & SYRINGE_PUMP_ENCODER_DIRECTION_BIT ) != 0 ? MOTOR_DIR_REVERSE : MOTOR_DIR_FORWARD ); if ( syringePumpDACVrefWriteInProgress != TRUE ) { @@ -824,7 +827,7 @@ lastSyringePumpADCReadCtr = adcReadCtr; // Check encoder direction error. // TODO check direction in states - if ( ( encStatus & 0x3F ) != 0) + if ( ( encStatus & SYRINGE_PUMP_ENCODER_DIRECTION_ERROR_BITS ) != 0) { // TODO - alarm? } @@ -1222,6 +1225,7 @@ static SYRINGE_PUMP_STATE_T handleSyringePumpCalibrateForceSensorState( void ) { SYRINGE_PUMP_STATE_T result = SYRINGE_PUMP_CONFIG_FORCE_SENSOR_STATE; + U08 adcDACStatus= getFPGASyringePumpADCandDACStatus(); // Wait for DAC setting write to EEPROM to complete if ( ( getFPGASyringePumpADCandDACStatus() & SYRINGE_PUMP_ADC_DAC_ERROR_COUNT_DAC_WR_DONE ) != 0 ) @@ -1233,7 +1237,7 @@ result = SYRINGE_PUMP_OFF_STATE; } // Check DAC write error - else if ( ( adcDACStatus & 0x40 ) != 0 ) + else if ( ( adcDACStatus & SYRINGE_PUMP_DAC_WRITE_ERROR_BIT ) != 0 ) { // TODO - alarm } Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -r7c03cfb8116f1e29ef3dbc60f84f2e6f26481f5c -rbd8d1a18ca5d9dd52c1082f74c19b90ca925af92 --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 7c03cfb8116f1e29ef3dbc60f84f2e6f26481f5c) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision bd8d1a18ca5d9dd52c1082f74c19b90ca925af92) @@ -344,7 +344,7 @@ } // Send response - sendSalineBolusResponse( accept, rejReason, salineBolusVolume, (U32)currSalineBolusState ); + sendSalineBolusResponse( accept, rejReason, salineBolusVolume ); } /*********************************************************************//** @@ -384,7 +384,7 @@ } // Send response - sendSalineBolusResponse( accept, rejReason, salineBolusVolume, (U32)currSalineBolusState ); + sendSalineBolusResponse( accept, rejReason, salineBolusVolume ); } /*********************************************************************//** Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rbb80dbac26147ab08413efa91007f7ffed43c38f -rbd8d1a18ca5d9dd52c1082f74c19b90ca925af92 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision bb80dbac26147ab08413efa91007f7ffed43c38f) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision bd8d1a18ca5d9dd52c1082f74c19b90ca925af92) @@ -442,10 +442,9 @@ * @details Outputs: Heparin command response msg constructed and queued. * @param accepted flag indicating whether request was accepted * @param rejReason rejection reason code - * @param heparinDeliveryState current Heparin delivery state * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL sendHeparinCommandResponse( U32 accepted, U32 rejReason, U32 heparinDeliveryState ) +BOOL sendHeparinCommandResponse( U32 accepted, U32 rejReason ) { BOOL result; MESSAGE_T msg; @@ -454,13 +453,11 @@ // Create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_HD_PRESSURE_LIMITS_CHANGE_RESPONSE; - msg.hdr.payloadLen = sizeof( U32 ) * 3; + msg.hdr.payloadLen = sizeof( U32 ) * 2; memcpy( payloadPtr, &accepted, sizeof( U32 ) ); payloadPtr += sizeof( U32 ); memcpy( payloadPtr, &rejReason, sizeof( U32 ) ); - payloadPtr += sizeof( U32 ); - memcpy( payloadPtr, &heparinDeliveryState, sizeof( U32 ) ); // 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_2_UI, ACK_REQUIRED ); @@ -2308,10 +2305,9 @@ * @param accepted T/F - was saline bolus request accepted? * @param rejReason reason why request was rejected (or zero if accepted) * @param bolusVol volume (in mL) currently set for saline bolus - * @param bolusState current state of saline bolus * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL sendSalineBolusResponse( BOOL accepted, U32 rejReason, U32 bolusVol, U32 bolusState ) +BOOL sendSalineBolusResponse( BOOL accepted, U32 rejReason, U32 bolusVol ) { BOOL result; MESSAGE_T msg; @@ -2320,15 +2316,13 @@ // Create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_USER_SALINE_BOLUS_RESPONSE; - msg.hdr.payloadLen = sizeof( BOOL ) + sizeof( U32 ) + sizeof( U32 ) + sizeof( U32 ); + msg.hdr.payloadLen = sizeof( BOOL ) + sizeof( U32 ) + sizeof( U32 ); memcpy( payloadPtr, &accepted, sizeof( BOOL ) ); payloadPtr += sizeof( BOOL ); memcpy( payloadPtr, &rejReason, sizeof( U32 ) ); payloadPtr += sizeof( U32 ); memcpy( payloadPtr, &bolusVol, sizeof( U32 ) ); - payloadPtr += sizeof( U32 ); - memcpy( payloadPtr, &bolusState, sizeof( U32 ) ); // 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_2_UI, ACK_REQUIRED ); Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -rbb80dbac26147ab08413efa91007f7ffed43c38f -rbd8d1a18ca5d9dd52c1082f74c19b90ca925af92 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision bb80dbac26147ab08413efa91007f7ffed43c38f) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision bd8d1a18ca5d9dd52c1082f74c19b90ca925af92) @@ -152,7 +152,7 @@ void handleSalineBolusRequest( MESSAGE_T *message ); // MSG_ID_USER_SALINE_BOLUS_RESPONSE -BOOL sendSalineBolusResponse( BOOL accepted, U32 rejReason, U32 bolusVol, U32 bolusState ); +BOOL sendSalineBolusResponse( BOOL accepted, U32 rejReason, U32 bolusVol ); // MSG_ID_USER_BLOOD_DIAL_RATE_CHANGE_RESPONSE BOOL sendChangeBloodDialysateRateChangeResponse( BOOL accepted, U32 reason, U32 bloodRate, U32 dialRate ); @@ -167,7 +167,7 @@ void handleHeparinCommandRequest( MESSAGE_T *message ); // MSG_ID_HD_HEPARIN_PAUSE_RESUME_RESPONSE -BOOL sendHeparinCommandResponse( U32 accepted, U32 rejReason, U32 heparinDeliveryState ); +BOOL sendHeparinCommandResponse( U32 accepted, U32 rejReason ); // MSG_ID_UI_RINSEBACK_CMD void handlRinsebackCmd( MESSAGE_T *message );