Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -rcf82e0c4128078cce50bd6c7969ea7192ab5be94 -r0362e435bb028b4d9154105e8f386306a89432d5 --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision cf82e0c4128078cce50bd6c7969ea7192ab5be94) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision 0362e435bb028b4d9154105e8f386306a89432d5) @@ -35,7 +35,7 @@ #define ENERGIZED 1 ///< 1 for energized valve. #define ALL_VALVES_DEENERGIZED 0x0000 ///< 0 in U16 bit field for all valves. -#define VALVE_PWM_PERIOD 20000 ///< Valve PWM Period +#define VALVE_PWM_PERIOD 50 ///< Valve PWM Period in 0.1 us res ( 20kHz ) #define VALVE_PWM_LOW ( VALVE_PWM_PERIOD * 0.2 ) ///< Valve low PWM percentage #define VALVE_PWM_PULL_IN 100 ///< Valve 'strike' period at 100% PWM in ms @@ -87,7 +87,7 @@ void initValves( void ) { FP_VALVES_T valve; - U16 valvePWMenable; + U16 valvePWMEnable; // initialize valve states for ( valve = FP_FIRST_VALVE; valve < FP_NUM_OF_VALVES; valve++ ) @@ -102,7 +102,7 @@ valveSensedStates[ valve ].ovInitData = DEENERGIZED; valveSensedStates[ valve ].ovData = DEENERGIZED; valveSensedStates[ valve ].override = OVERRIDE_RESET; - valvePWMenable |= ValveBits[ valve ]; + valvePWMEnable |= ValveBits[ valve ]; } // initialize time intervals and timer counters @@ -116,8 +116,8 @@ // initially set valve PWM configuration and enable setFPGAValvePWMPullIn( VALVE_PWM_PULL_IN ); setFPGAValvePWMLow( VALVE_PWM_LOW ); - setFPGAValvePWMPeroid( VALVE_PWM_PERIOD ); - setFPGAValvePWMEnable( valvePWMenable ); + setFPGAValvePWMPeriod( VALVE_PWM_PERIOD ); + setFPGAValvePWMEnable( valvePWMEnable ); // initially set all valves to de-energized state via FPGA updateValveStates( ALL_VALVES_DEENERGIZED ); Index: firmware/App/Services/FpgaFP.c =================================================================== diff -u -rcf82e0c4128078cce50bd6c7969ea7192ab5be94 -r0362e435bb028b4d9154105e8f386306a89432d5 --- firmware/App/Services/FpgaFP.c (.../FpgaFP.c) (revision cf82e0c4128078cce50bd6c7969ea7192ab5be94) +++ firmware/App/Services/FpgaFP.c (.../FpgaFP.c) (revision 0362e435bb028b4d9154105e8f386306a89432d5) @@ -163,8 +163,8 @@ U16 descalePumpSpeed; ///< Reg 22. Descaler pump speed register. U08 descalePumpControl; ///< Reg 24. Descaler pump control register. U08 p12PumpControl; ///< Reg 25. P12 pump control register. - U16 valveVwiPWMLow; ///< Reg 26. Valve VWi PWM low pulse period in 0.1 uSec. - U16 valveVwiPWMPeriod; ///< Reg 28. Valve VWi PWM full period in 0.1 uSec. + U16 valvePWMLow; ///< Reg 26. Valve VWi PWM low pulse period in 0.1 uSec. + U16 valvePWMPeriod; ///< Reg 28. Valve VWi PWM full period in 0.1 uSec. U16 valvePWMPullIn; ///< Reg 30. Valve PWM high pulse period when valve is on in 0.1 uSec. U16 p12PumpPWMDutyCyclePct; ///< Reg 32. P12 pump PWM duty cycle in percentage. U16 p40PumpPWMDutyCyclePct; ///< Reg 34. P40 pump PWM duty cycle in percentage. @@ -418,24 +418,62 @@ fpgaActuatorSetPoints.valvePWMEnable = valvePWMStates; } +/*********************************************************************//** + * @brief + * The getFPGAValvePWMEnable function gets the RO valve pwm states with + * an 8-bit mask representing the set of states with a 1 meaning "enabled" + * and a 0 meaning "disabled". + * @details \b Inputs: none + * @details \b Outputs: fpgaSensorReadings.valvePWMEnableReadback + * @return none + *************************************************************************/ U16 getFPGAValvePWMEnable( void ) { return fpgaSensorReadings.valvePWMEnableReadback; } + +/*********************************************************************//** + * @brief + * The setFPGAValvePWMPullIn function sets the RO valves Pull-in "strike" + * period where PWM is at 100% in 1ms resolution. + * @details \b Inputs: none + * @details \b Outputs: fpgaActuatorSetPoints.valvePWMPullIn + * @param valvePWMPullIn Pull-in period in 1ms resolution. + * @return none + *************************************************************************/ void setFPGAValvePWMPullIn( U16 valvePWMPullIn ) { fpgaActuatorSetPoints.valvePWMPullIn = valvePWMPullIn; } +/*********************************************************************//** + * @brief + * The setFPGAValvePWMLow function sets the RO valves "low" + * period where PWM is at 0% in 0.1us resolution. + * @details \b Inputs: none + * @details \b Outputs: fpgaActuatorSetPoints.valvePWMLow + * @param valvePWMLow low period in 0.1us resolution. + * @return none + *************************************************************************/ void setFPGAValvePWMLow( U16 valvePWMLow ) { - fpgaActuatorSetPoints.valveVwiPWMLow = valvePWMLow; + fpgaActuatorSetPoints.valvePWMLow = valvePWMLow; } -void setFPGAValvePWMPeroid( U16 valvePWMPeroid ) +/*********************************************************************//** + * @brief + * The setFPGAValvePWMPeriod function sets the RO valves pwm + * period in 0.1us resolution. + * @details \b Inputs: none + * @details \b Outputs: fpgaActuatorSetPoints.valvePWMPeriod + * @param valvePWMPeriod period in 0.1us resolution. + * @return none + *************************************************************************/ +void setFPGAValvePWMPeriod( U16 valvePWMPeriod ) { - fpgaActuatorSetPoints.valveVwiPWMPeriod = valvePWMPeroid; + fpgaActuatorSetPoints.valvePWMPeriod = valvePWMPeriod; } + /*********************************************************************//** * @brief * The setFPGAP12PumpEnable function enables or disables the P12 pump. Index: firmware/App/Services/FpgaFP.h =================================================================== diff -u -rcf82e0c4128078cce50bd6c7969ea7192ab5be94 -r0362e435bb028b4d9154105e8f386306a89432d5 --- firmware/App/Services/FpgaFP.h (.../FpgaFP.h) (revision cf82e0c4128078cce50bd6c7969ea7192ab5be94) +++ firmware/App/Services/FpgaFP.h (.../FpgaFP.h) (revision 0362e435bb028b4d9154105e8f386306a89432d5) @@ -48,7 +48,7 @@ U16 getFPGAValvePWMEnable( void ); void setFPGAValvePWMPullIn( U16 valvePWMPullIn ); void setFPGAValvePWMLow( U16 valvePWMLow ); -void setFPGAValvePWMPeroid( U16 valvePWMPeroid ); +void setFPGAValvePWMPeriod( U16 valvePWMPeriod ); void setFPGAP12PumpEnable( BOOL enable ); void setFPGAP12PumpPWM( U16 pwm );