Index: firmware/App/Services/FpgaDD.c =================================================================== diff -u -rc07917caced76b53a0ed8f35167fac6f9d8310a4 -rf4a8565c7edec12094b8a737ed7b8cd3424a9208 --- firmware/App/Services/FpgaDD.c (.../FpgaDD.c) (revision c07917caced76b53a0ed8f35167fac6f9d8310a4) +++ firmware/App/Services/FpgaDD.c (.../FpgaDD.c) (revision f4a8565c7edec12094b8a737ed7b8cd3424a9208) @@ -8,8 +8,8 @@ * * @file FpgaDD.c * -* @author (last) “rkallala” -* @date (last) 23-Oct-2025 +* @author (last) Dara Navaei +* @date (last) 14-Nov-2025 * * @author (original) Vinayakam Mani * @date (original) 26-Aug-2024 @@ -107,9 +107,13 @@ #define FPGA_CONDUCTIVITY_WR_ENABLE_BIT 0x04 ///< Conductivity Sensor write enable bit mask. #define FPGA_CONDUCTIVITY_RD_ENABLE_BIT 0x08 ///< Conductivity Sensor read enable bit mask. -#define FPGA_D42_BLOOD_LEAK_STATUS_MASK 0x04 ///< Bit mask for blood leak detector. -#define FPGA_D42_BLOOD_LEAK_ST_BIT_INDEX 2 ///< Bit index for the blood leak self test status bit. +#define FPGA_D42_BLOOD_LEAK_STATUS_MASK 0x04 ///< Bit mask for blood leak detector. +#define FPGA_D42_BLOOD_LEAK_ST_BIT_INDEX 2 ///< Bit index for the blood leak self test status bit. +#define MAX_PUMP_SPEED 3000.0F ///< Maxon controller pump maximum speed +#define PUMP_SPEED_OFFSET 168.7F ///< Speed Scale adjustment intercept factor +#define PUMP_SPEED_FULL_SCALE 3187.0F ///< Speed scale adjustment slope factor + #pragma pack(push,1) /// FPGA header struct. typedef struct @@ -540,7 +544,16 @@ *************************************************************************/ void setFPGAD48PumpSpeed( U16 speed ) { - fpgaActuatorSetPoints.fpgaD48PumpSpeed = speed; +#ifdef __MAXON_SPEED_UPDATE__ + { + U16 currentSpeed =(U16)( ( ( speed + PUMP_SPEED_OFFSET ) / PUMP_SPEED_FULL_SCALE ) * MAX_PUMP_SPEED ); + fpgaActuatorSetPoints.fpgaD48PumpSpeed = currentSpeed; + } +#else + { + fpgaActuatorSetPoints.fpgaD48PumpSpeed = speed; + } +#endif } /*********************************************************************//** @@ -554,7 +567,16 @@ *************************************************************************/ void setFPGAD12PumpSpeed( U16 speed ) { - fpgaActuatorSetPoints.fpgaD12PumpSpeed = speed; +#ifdef __MAXON_SPEED_UPDATE__ + { + U16 currentSpeed =(U16)( ( ( speed + PUMP_SPEED_OFFSET ) / PUMP_SPEED_FULL_SCALE ) * MAX_PUMP_SPEED ); + fpgaActuatorSetPoints.fpgaD12PumpSpeed = currentSpeed; + } +#else + { + fpgaActuatorSetPoints.fpgaD12PumpSpeed = speed; + } +#endif } /*********************************************************************//** @@ -2739,11 +2761,6 @@ return selfTestStatus; } -U08 get_TEMP_REMOVE_STATUS( void ) -{ - return fpgaSensorReadings.fpgaD42PulseStatus; -} - /*********************************************************************//** * @brief * The setFPGABloodLeakUARTControl function sets the blood leak sensor UART