Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -rd66ded5492dd8a760b235b12cb6767f0427ba573 -r1d22a723272b4225b10b296c25339bdc90b4236d --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision d66ded5492dd8a760b235b12cb6767f0427ba573) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 1d22a723272b4225b10b296c25339bdc90b4236d) @@ -41,7 +41,7 @@ #define CONCENTRATE_PUMP_CLEANING_SPD_OUT_OF_RANGE_TOL_PCT 0.05F ///< Concentrate pump cleaning mode speed out of range tolerance when on in percentage. #define CONCENTRATE_PUMP_SPD_OUT_OF_RANGE_TOL_WHEN_SLOW_MLPM 1.0F ///< Concentrate pump speed out of range tolerance when slow in mL/min. #define CONCENTRATE_PUMP_LOW_SPEED_THRESHOLD_MLPM 10.0F ///< Concentrate pump low speed threshold in mL/min. -#define CONCENTRATE_PUMP_ZERO_FLOW_RATE 0xFFFF ///< Pulse width value when zero flow rate or pump is off. +#define CONCENTRATE_PUMP_ZERO_FLOW_RATE 0xFFFFFFFF ///< Pulse width value when zero flow rate or pump is off. #define CONCENTRATE_PUMP_VOLUME_PER_REV_DIENER 0.4F ///< Volume output every revolution (mL). #define CONCENTRATE_PUMP_VOLUME_PER_REV 0.1F ///< Volume output every revolution (mL). @@ -107,7 +107,7 @@ CONCENTRATE_PUMP_STATE_T execState; ///< Concentrate pump execute current state. BOOL hasTurnOnPumpsBeenRequested; ///< Flag indicates a request to turn concentrate pumps on. F32 currentPumpSpeed; ///< Current controlled concentrate pumps' speed (mL/min). - U16 togglePeriodCount; ///< Converted pump speed (mL/min) to toggle period counts (0.5 uS increment counts per step). + U32 togglePeriodCount; ///< Converted pump speed (mL/min) to toggle period counts (0.5 uS increment counts per step). U08 direction; ///< Concentrate pump motor direction. U08 controlSet; ///< Concentrate pump control set. (Used in DVT) F32 pulseWidthUS; ///< Concentrate pump pulse width in microseconds. @@ -1057,7 +1057,7 @@ timePerStep = CONCENTRATE_PUMP_VOLUME_PER_REV_DIENER / ( concentratePumps[ pumpId ].currentPumpSpeed * CONCENTRATE_PUMP_STEP_PER_REV ); stepPeriodCounts = timePerStep / ( CONCENTRATE_PUMP_STEP_PERIOD_RESOLUTION * CONCENTRATE_PUMP_MICRO_STEPS_PER_STEP ); - concentratePumps[ pumpId ].togglePeriodCount = (U16)( stepPeriodCounts + FLOAT_TO_INT_ROUNDUP_OFFSET ); + concentratePumps[ pumpId ].togglePeriodCount = (U32)( stepPeriodCounts + FLOAT_TO_INT_ROUNDUP_OFFSET ); } else { @@ -1097,7 +1097,7 @@ static void calcMeasuredPumpsSpeed( void ) { CONCENTRATE_PUMPS_T pumpId; - U16 pulseWidthCount = 0; + U32 pulseWidthCount = 0; F32 pulseWidthInMicroSeconds = 0.0F; BOOL isPulseWidthOut = FALSE; CONCENTRATE_PUMPS_T pumpInAlarm = CONCENTRATEPUMPS_FIRST; Index: firmware/App/Services/FpgaDD.c =================================================================== diff -u -r7d963ca43801628920617ce0b904a62effcd2722 -r1d22a723272b4225b10b296c25339bdc90b4236d --- firmware/App/Services/FpgaDD.c (.../FpgaDD.c) (revision 7d963ca43801628920617ce0b904a62effcd2722) +++ firmware/App/Services/FpgaDD.c (.../FpgaDD.c) (revision 1d22a723272b4225b10b296c25339bdc90b4236d) @@ -178,8 +178,8 @@ U08 fpgaValveSpPWMStates; ///< Reg 599. Spare Valves PWM states U08 fpgaD11_D10_PumpFault; ///< Reg 600. Concentrate pump fault register for D11_Pump and D10_Pump U08 fpgaRTDCountErrorCycles; ///< Reg 601. Count of each incomplete seq of reads from RTD ADC. - U16 fpgaD11PumpHallSense; ///< Reg 602. Concentrate pump D11_Pump hall sensor pulse width - U16 fpgaD10PumpHallSense; ///< Reg 604. Concentrate pump D10_Pump hall sensor pulse width + U16 fpga_UnUsed_4; ///< Reg 602. Not Used + U16 fpga_UnUsed_5; ///< Reg 604. Not Used U32 fpgaD78Temp; ///< Reg 606. Outlet heat exchanger temperature U32 fpgaD1Temp; ///< Reg 610. Inlet heat exchanger temperature U32 fpgaD4Temp; ///< Reg 614. Hydraulics primary heater temperature @@ -204,10 +204,10 @@ U16 fpgaAdcVpVn; ///< Reg 648. TBD U16 fpgaD12PumpSpeedFeedback; ///< Reg 650. D12 Pump speed feedback U16 fpgaD48PumpSpeedFeedback; ///< Reg 652. D48 Pump Speed feedback - U16 fpgaD76PumpHallSense; ///< Reg 654. UF D76_Pump hall sensor pulse width + U16 fpga_UnUsed_6; ///< Reg 654. Not used U16 fpgaD76PumpStepCountStatus; ///< Reg 656. UF pump revolution down count status U08 fpgaD76PumpFault; ///< Reg 658: UF pump fault - U08 fpga_UnUsed_3; ///< reg 659: Not used + U08 fpga_UnUsed_3; ///< Reg 659: Not used S16 pressureP46; ///< Reg 660. P46 pressure data. U16 temperatureP46; ///< Reg 662. P46 temperature data. @@ -262,6 +262,9 @@ U16 fpgaD74CondTemp; ///< Reg 756. D74 Temperature U08 fpgaD74CondReadCnt; ///< Reg 758. D74 successful read count U08 fpgaD74CondErrorCnt; ///< Reg 759. D74 error read count + U32 fpgaD11PumpHallSense; ///< Reg 760. Concentrate pump D11_Pump hall sensor pulse width + U32 fpgaD10PumpHallSense; ///< Reg 764. Concentrate pump D10_Pump hall sensor pulse width + U32 fpgaD76PumpHallSense; ///< Reg 768. UF D76_Pump hall sensor pulse width } DD_FPGA_SENSORS_T; typedef struct @@ -286,10 +289,10 @@ U08 fpgaD12PumpControl; ///< Reg 36. DGP Control U08 fpgaD48PumpControl; ///< Reg 37. SDP Control U16 fpgaD48PumpSpeed; ///< Reg 38. SDP Speed/RPM Control - U16 fpgaD11PumpSpeed; ///< Reg 40. Acid Concentrate Pump Speed/RPM Control + U16 fpgaNotUsed_1; ///< Reg 40. Not used U08 fpgaD11PumpControl; ///< Reg 42. Acid Concentrate Pump Control U08 fpgaD10PumpControl; ///< Reg 43. BiCarb Concentrate Pump Control - U16 fpgaD10PumpSpeed; ///< Reg 44. BiCarb Concentrate Pump Speed/RPM Control + U16 fpgaNotUsed_2; ///< Reg 44. Not used U08 fpgaD42SensorTest; ///< Reg 46. Blood leak sensor test U08 fpgaD42UARTControl; ///< Reg 47. Blood leak sensor UART control U08 fpgaD42FIFOTx; ///< Reg 48. Blood leak sensor FIFO transmit control @@ -308,7 +311,7 @@ U08 fpgaGPIOControl; ///< Reg 69. FPGA GPIO control interface U16 fpgaACRelayPWMLow; ///< Reg 70. Length of time in 10us resoultion that PWM output stays low. U16 fpgaACRelayPWMPeriod; ///< Reg 72. PWM period for AC relay/heater. - U16 fpgaD76PumpSpeed; ///< Reg 74. UF Pump Speed/RPM Control + U16 fpgaNotUsed_3; ///< Reg 74. Not Used U16 fpgaD76PumpRevCount; ///< Reg 76. UF pump revolution count U08 fpgaD76PumpControl; ///< Reg 78. UF Pump Control @@ -341,7 +344,10 @@ U08 fpgaConSensD43Control; ///< Reg 118. Conductivity/Temperature Sensors D43 Control registers U16 fpgaConSensD43_Addrs; ///< Reg 119. D43 Initialization Address register U32 fpgaConSensD43_Data_In; ///< Reg 121. D43 Initialization data register - + U08 fpgaNotUsed_4; ///< Reg 125. Not used + U32 fpgaD11PumpSpeed; ///< Reg 126. Acid Concentrate Pump Speed/RPM Control + U32 fpgaD10PumpSpeed; ///< Reg 130. BiCarb Concentrate Pump Speed/RPM Control + U32 fpgaD76PumpSpeed; ///< Reg 134. UF Pump Speed/RPM Control } FPGA_ACTUATORS_T; #pragma pack(pop) @@ -843,7 +849,7 @@ * @param stepSpeed The concentrate pump step speed period * @return none *************************************************************************/ -void setFPGAD11PumpSetStepSpeed( U16 stepSpeed ) +void setFPGAD11PumpSetStepSpeed( U32 stepSpeed ) { fpgaActuatorSetPoints.fpgaD11PumpSpeed = stepSpeed; } @@ -857,7 +863,7 @@ * @param stepSpeed The concentrate pump step speed period * @return none *************************************************************************/ -void setFPGAD10PumpSetStepSpeed( U16 stepSpeed ) +void setFPGAD10PumpSetStepSpeed( U32 stepSpeed ) { fpgaActuatorSetPoints.fpgaD10PumpSpeed = stepSpeed; } @@ -871,7 +877,7 @@ * @param stepSpeed The concentrate pump step speed period * @return none *************************************************************************/ -void setFPGAD76PumpSetStepSpeed( U16 stepSpeed ) +void setFPGAD76PumpSetStepSpeed( U32 stepSpeed ) { fpgaActuatorSetPoints.fpgaD76PumpSpeed = stepSpeed; } @@ -2223,7 +2229,7 @@ * @details \b Outputs: none * @return concentrate pump D11_Pump hall sense pulse width *************************************************************************/ -U16 getFPGAD11PumpHallSensePulseWidth( void ) +U32 getFPGAD11PumpHallSensePulseWidth( void ) { return fpgaSensorReadings.fpgaD11PumpHallSense; } @@ -2236,7 +2242,7 @@ * @details \b Outputs: none * @return concentrate pump D10_Pump hall sense pulse width *************************************************************************/ -U16 getFPGAD10PumpHallSensePulseWidth( void ) +U32 getFPGAD10PumpHallSensePulseWidth( void ) { return fpgaSensorReadings.fpgaD10PumpHallSense; } @@ -2249,7 +2255,7 @@ * @details \b Outputs: none * @return ultrafiltration pump D76_Pump hall sense pulse width *************************************************************************/ -U16 getFPGAD76PumpHallSensePulseWidth( void ) +U32 getFPGAD76PumpHallSensePulseWidth( void ) { return fpgaSensorReadings.fpgaD76PumpHallSense; } Index: firmware/App/Services/FpgaDD.h =================================================================== diff -u -r7d963ca43801628920617ce0b904a62effcd2722 -r1d22a723272b4225b10b296c25339bdc90b4236d --- firmware/App/Services/FpgaDD.h (.../FpgaDD.h) (revision 7d963ca43801628920617ce0b904a62effcd2722) +++ firmware/App/Services/FpgaDD.h (.../FpgaDD.h) (revision 1d22a723272b4225b10b296c25339bdc90b4236d) @@ -159,9 +159,9 @@ U32 getFPGAD74CondData( void ); // Pumps (Dosing and Gear pumps ) -void setFPGAD11PumpSetStepSpeed( U16 stepSpeed ); -void setFPGAD10PumpSetStepSpeed( U16 stepSpeed ); -void setFPGAD76PumpSetStepSpeed( U16 stepSpeed ); +void setFPGAD11PumpSetStepSpeed( U32 stepSpeed ); +void setFPGAD10PumpSetStepSpeed( U32 stepSpeed ); +void setFPGAD76PumpSetStepSpeed( U32 stepSpeed ); void setFPGAD11PumpControl( U08 control ); void setFPGAD10PumpControl( U08 control ); void setFPGAD76PumpControl( U08 control ); @@ -183,9 +183,9 @@ BOOL getFPGAD10PumpIsParked( void ); BOOL getFPGAD11PumpParkFault( void ); BOOL getFPGAD10PumpParkFault( void ); -U16 getFPGAD11PumpHallSensePulseWidth( void ); -U16 getFPGAD10PumpHallSensePulseWidth( void ); -U16 getFPGAD76PumpHallSensePulseWidth( void ); +U32 getFPGAD11PumpHallSensePulseWidth( void ); +U32 getFPGAD10PumpHallSensePulseWidth( void ); +U32 getFPGAD76PumpHallSensePulseWidth( void ); U16 getFPGAD11PumpRevolutionCountStatus( void ); U16 getFPGAD10PumpRevolutionCountStatus( void ); U16 getFPGAD76PumpRevolutionCountStatus( void );