Index: firmware/App/Drivers/FluidPump.c =================================================================== diff -u -r17a448770daa138ebeb6ce79974966e650828f25 -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Drivers/FluidPump.c (.../FluidPump.c) (revision 17a448770daa138ebeb6ce79974966e650828f25) +++ firmware/App/Drivers/FluidPump.c (.../FluidPump.c) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -90,21 +90,30 @@ { U32 tach; - // get latest RO pump duty cycle read back from FPGA - fluidPumpReadDutyCycle[ P12_PUMP ].data = getFPGAP12PumpPWM(); - - // get latest RO pump tachometer count from FPGA and convert to RPM - tach = (U32)getFPGAP12PumpTachCount(); - if ( ( tach != 0 ) && ( tach < FLUID_PUMP_COUNTS_FOR_STOPPED_PUMP ) ) + for ( pump = 0; pump < NUM_OF_PUMPS; pump++ ) { - fluidPumpMeasRPM[ P12_PUMP ].data = FLUID_PUMP_COUNTS_2_RPM_NUMERATOR / (F32)tach; - } - else - { - fluidPumpMeasRPM[ P12_PUMP ].data = 0.0F; - } + // get latest fluid pump duty cycle read back from FPGA + // and get latest fluid pump tachometer count from FPGA and convert to RPM + if ( P12_PUMP == pump ) + { + fluidPumpReadDutyCycle[ pump ].data = getFPGAP12PumpPWM(); + tach = (U32)getFPGAP12PumpTachCount(); + } + else + { + fluidPumpReadDutyCycle[ pump ].data = getFPGAP40PumpPWM(); + tach = (U32)getFPGAP40PumpTachCount(); + } - // TODO - get latest for fluider pump PWM and tach + if ( ( tach != 0 ) && ( tach < FLUID_PUMP_COUNTS_FOR_STOPPED_PUMP ) ) + { + fluidPumpMeasRPM[ pump ].data = FLUID_PUMP_COUNTS_2_RPM_NUMERATOR / (F32)tach; + } + else + { + fluidPumpMeasRPM[ pump ].data = 0.0F; + } + } } /*********************************************************************//** @@ -122,6 +131,7 @@ { BOOL result = FALSE; U16 pwmCnt = 0; + if ( pumpID < NUM_OF_PUMPS ) { pwmCnt = convertDutyCyclePctToCnt( dutyCyclePct ); Index: firmware/App/Drivers/FluidPump.h =================================================================== diff -u -r17a448770daa138ebeb6ce79974966e650828f25 -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Drivers/FluidPump.h (.../FluidPump.h) (revision 17a448770daa138ebeb6ce79974966e650828f25) +++ firmware/App/Drivers/FluidPump.h (.../FluidPump.h) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -5,7 +5,7 @@ * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * -* @file BoostPump.h +* @file FluidPump.h * * @author (last) Sean Nash * @date (last) 12-Nov-2024 @@ -15,34 +15,35 @@ * ***************************************************************************/ -#ifndef __BOOST_PUMP_H__ -#define __BOOST_PUMP_H__ +#ifndef __FLUID_PUMP_H__ +#define __FLUID_PUMP_H__ #include "FPCommon.h" /** - * @defgroup BoostPump BoostPump - * @brief Boost Pump driver unit. Controls the RO and booster pumps. + * @defgroup FluidPump FluidPump + * @brief Fluid Pump driver unit. Controls the RO and booster pumps. * The diaphragm (RO) pump is manufactured by TBD. * The optional booster pump is manufactured by TBD. * - * @addtogroup BoostPump + * @addtogroup FluidPump * @{ */ // ********** public definitions ********** -#define MAX_FLUID_PUMP_PWM_DUTY_CYCLE 500 ///< Maximum settable boost pump duty cycle magnitude. -#define MIN_FLUID_PUMP_PWM_DUTY_CYCLE 0 ///< minimum settable boost pump duty cycle magnitude. +#define MAX_FLUID_PUMP_PWM_DUTY_CYCLE 500 ///< Maximum settable boost pump duty cycle magnitude. +#define MIN_FLUID_PUMP_PWM_DUTY_CYCLE 0 ///< minimum settable boost pump duty cycle magnitude. -#define MAX_FLUID_PUMP_DUTY_CYCLE_PCT 0.99F ///< Max duty cycle in percentage. -#define MIN_FLUID_PUMP_DUTY_CYCLE_PCT 0.0F ///< Min duty cycle in percentage. -/// Enumerations of RO boost pumps. -typedef enum BoostPumps +#define MAX_FLUID_PUMP_DUTY_CYCLE_PCT 0.99F ///< Max duty cycle in percentage. +#define MIN_FLUID_PUMP_DUTY_CYCLE_PCT 0.0F ///< Min duty cycle in percentage. + +/// Enumerations of fluid pumps. +typedef enum FluidPumps { - P12_PUMP = 0, ///< RO pump - P40_PUMP, ///< Optional inlet boost pump - NUM_OF_PUMPS, ///< Number of boost pumps + P12_PUMP = 0, ///< RO pump + P40_PUMP, ///< Optional inlet boost pump + NUM_OF_PUMPS, ///< Number of boost pumps } FP_FLUID_PUMP_T; // ********** public function prototypes ********** @@ -59,7 +60,6 @@ U16 convertDutyCyclePctToCnt( F32 dutyCyclePct ); BOOL setFluidPumpPctToPWMDutyCycle( FP_FLUID_PUMP_T pumpID, F32 dutyCyclePct); - BOOL testSetFluidPumpPWM( MESSAGE_T *message ); BOOL testFluidPumpPWMOverride( MESSAGE_T *message ); BOOL testFluidPumpRPMOverride( MESSAGE_T *message ); Index: firmware/App/Drivers/SafetyShutdown.h =================================================================== diff -u -r99498a5bab0a1f4c706376feceadc66df6d1c22e -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Drivers/SafetyShutdown.h (.../SafetyShutdown.h) (revision 99498a5bab0a1f4c706376feceadc66df6d1c22e) +++ firmware/App/Drivers/SafetyShutdown.h (.../SafetyShutdown.h) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -33,7 +33,4 @@ /**@}*/ - - - #endif Index: firmware/App/Drivers/TemperatureSensor.h =================================================================== diff -u -r99498a5bab0a1f4c706376feceadc66df6d1c22e -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Drivers/TemperatureSensor.h (.../TemperatureSensor.h) (revision 99498a5bab0a1f4c706376feceadc66df6d1c22e) +++ firmware/App/Drivers/TemperatureSensor.h (.../TemperatureSensor.h) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -33,7 +33,7 @@ // ********** public definitions ********** /// Enumeration of temperature sensors. -typedef enum SENSORS_NAME +typedef enum TemperatureSensors { P23_TEMP = 0, ///< Tank temperature sensor at hottest point. TEMP_SENSOR_FIRST = P23_TEMP, ///< First temp sensor. Index: firmware/App/Modes/FilterFlush.c =================================================================== diff -u -r4ab396a72f02cd64728bb37b6085cfd5b9ad8184 -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Modes/FilterFlush.c (.../FilterFlush.c) (revision 4ab396a72f02cd64728bb37b6085cfd5b9ad8184) +++ firmware/App/Modes/FilterFlush.c (.../FilterFlush.c) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -15,7 +15,6 @@ * ***************************************************************************/ - #include "FilterFlush.h" #include "MessageSupport.h" #include "Messaging.h" @@ -38,7 +37,6 @@ static U32 filterFlushDataPublicationTimerCounter; ///< Used to schedule generate water data publication to CAN bus. static OVERRIDE_U32_T filterFlushDataPublishInterval; ///< Generate water mode data publish interval. - // ********** private function prototypes ********** static void publishFilterFlushData( void ); @@ -61,7 +59,6 @@ filterFlushDataPublishInterval.ovInitData = 0; filterFlushDataPublishInterval.override = OVERRIDE_RESET; filterFlushDataPublicationTimerCounter = 0; - } /*********************************************************************//** @@ -116,6 +113,7 @@ } } + /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/ Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -r99498a5bab0a1f4c706376feceadc66df6d1c22e -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 99498a5bab0a1f4c706376feceadc66df6d1c22e) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -21,6 +21,7 @@ #include "PersistentAlarm.h" #include "SystemCommRO.h" #include "TaskGeneral.h" + /** * @addtogroup ROStandbyMode * @{ Index: firmware/App/Modes/ModeWaterGen.c =================================================================== diff -u -r97bcc8f47271e4d3ef06729f3b017f8fc372092e -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Modes/ModeWaterGen.c (.../ModeWaterGen.c) (revision 97bcc8f47271e4d3ef06729f3b017f8fc372092e) +++ firmware/App/Modes/ModeWaterGen.c (.../ModeWaterGen.c) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -15,7 +15,6 @@ * ***************************************************************************/ - #include "DDInterface.h" #include "Level.h" #include "ModeStandby.h" Index: firmware/App/Modes/ModeWaterPreGen.c =================================================================== diff -u -r99498a5bab0a1f4c706376feceadc66df6d1c22e -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Modes/ModeWaterPreGen.c (.../ModeWaterPreGen.c) (revision 99498a5bab0a1f4c706376feceadc66df6d1c22e) +++ firmware/App/Modes/ModeWaterPreGen.c (.../ModeWaterPreGen.c) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -188,8 +188,7 @@ return preGenWState; } -/** - * *******************************************************************//** +/*********************************************************************//** * @brief * The getPreGenRequest function returns the current state of the * pre gen water mode. @@ -216,6 +215,7 @@ return result; } + /*********************************************************************//** * @brief * The publishPreGenWModeData function broadcasts the pre generate water Index: firmware/App/Modes/OperationModes.c =================================================================== diff -u -rd36643be8a309f2ee587b5975663e7519b3addf9 -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision d36643be8a309f2ee587b5975663e7519b3addf9) +++ firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -15,7 +15,6 @@ * ***************************************************************************/ - #include "Messaging.h" #include "ModeInitPOST.h" #include "ModeFault.h" @@ -32,18 +31,18 @@ // ********** private definitions ********** -#define BROADCAST_TD_OP_MODE_INTERVAL ( 250 / TASK_GENERAL_INTERVAL ) ///< RO operation mode broadcast interval (in task interval/sec). -#define DATA_PUBLISH_COUNTER_START_COUNT 11 ///< Data publish counter start count. +#define BROADCAST_TD_OP_MODE_INTERVAL ( 250 / TASK_GENERAL_INTERVAL ) ///< RO operation mode broadcast interval (in task interval/sec). +#define DATA_PUBLISH_COUNTER_START_COUNT 11 ///< Data publish counter start count. // ********** private data ********** -static volatile BOOL modeRequest[ NUM_OF_RO_MODES - 1 ]; ///< Pending operation mode change requests. -static RO_OP_MODE_T lastMode; ///< Last operation mode prior to current mode. -static RO_OP_MODE_T currentMode; ///< Current operation mode. -static U32 currentSubMode; ///< The currently active state of the active mode. -static U32 broadcastModeIntervalCtr; ///< Interval counter used to determine when to broadcast operation mode. Initialize to 11 to stagger broadcast. -static U32 currentSubState; ///< current sub state. -static U32 current4thLevelState; ///< current 4th level state. +static volatile BOOL modeRequest[ NUM_OF_RO_MODES - 1 ]; ///< Pending operation mode change requests. +static RO_OP_MODE_T lastMode; ///< Last operation mode prior to current mode. +static RO_OP_MODE_T currentMode; ///< Current operation mode. +static U32 currentSubMode; ///< The currently active state of the active mode. +static U32 broadcastModeIntervalCtr; ///< Interval counter used to determine when to broadcast operation mode. Initialize to 11 to stagger broadcast. +static U32 currentSubState; ///< current sub state. +static U32 current4thLevelState; ///< current 4th level state. /// Interval (in task intervals) at which to publish operation mode data to CAN bus. static OVERRIDE_U32_T opModePublishInterval = { BROADCAST_TD_OP_MODE_INTERVAL, BROADCAST_TD_OP_MODE_INTERVAL, BROADCAST_TD_OP_MODE_INTERVAL, 0 }; @@ -429,5 +428,4 @@ return result; } - /**@}*/ Index: firmware/App/Modes/OperationModes.h =================================================================== diff -u -rd36643be8a309f2ee587b5975663e7519b3addf9 -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Modes/OperationModes.h (.../OperationModes.h) (revision d36643be8a309f2ee587b5975663e7519b3addf9) +++ firmware/App/Modes/OperationModes.h (.../OperationModes.h) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -55,7 +55,6 @@ BOOL testSetOperationMode( MESSAGE_T *message ); // Set operation mode override BOOL testSetOpModePublishIntervalOverride( MESSAGE_T *message ); // Set operation mode publish interval override - /**@}*/ #endif Index: firmware/App/Monitors/Temperature.c =================================================================== diff -u -r99498a5bab0a1f4c706376feceadc66df6d1c22e -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Monitors/Temperature.c (.../Temperature.c) (revision 99498a5bab0a1f4c706376feceadc66df6d1c22e) +++ firmware/App/Monitors/Temperature.c (.../Temperature.c) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -243,5 +243,4 @@ return result; } - /**@}*/ Index: firmware/App/Services/DDInterface.c =================================================================== diff -u -r99498a5bab0a1f4c706376feceadc66df6d1c22e -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Services/DDInterface.c (.../DDInterface.c) (revision 99498a5bab0a1f4c706376feceadc66df6d1c22e) +++ firmware/App/Services/DDInterface.c (.../DDInterface.c) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -15,8 +15,6 @@ * ***************************************************************************/ - - #include "DDInterface.h" #include "Messaging.h" #include "MessagePayloads.h" Index: firmware/App/Services/DDInterface.h =================================================================== diff -u -r99498a5bab0a1f4c706376feceadc66df6d1c22e -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/App/Services/DDInterface.h (.../DDInterface.h) (revision 99498a5bab0a1f4c706376feceadc66df6d1c22e) +++ firmware/App/Services/DDInterface.h (.../DDInterface.h) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -43,7 +43,6 @@ BOOL handleGenerateWaterRequestMsg( MESSAGE_T *message ); - /**@}*/ #endif Index: firmware/source/sys_main.c =================================================================== diff -u -r17a448770daa138ebeb6ce79974966e650828f25 -rd5574e12aa9638c933d11b9bee8d5cf024864440 --- firmware/source/sys_main.c (.../sys_main.c) (revision 17a448770daa138ebeb6ce79974966e650828f25) +++ firmware/source/sys_main.c (.../sys_main.c) (revision d5574e12aa9638c933d11b9bee8d5cf024864440) @@ -205,7 +205,6 @@ initInitAndPOSTMode(); initFaultMode(); initPreGenWMode(); - } /*************************************************************************