Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r53d6550ebd61a9527cbecd507e326cc3079c05ce -r08fd3b3564f6852dec6d2038d37f66b8692fdf44 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 53d6550ebd61a9527cbecd507e326cc3079c05ce) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 08fd3b3564f6852dec6d2038d37f66b8692fdf44) @@ -40,8 +40,10 @@ // ********** private definitions ********** -#define HEATERS_MAX_DUTY_CYCLE 1.00F ///< Heaters max duty cycle (100%) or ON state -#define HEATERS_MIN_DUTY_CYCLE 0.00F ///< Heaters minimum duty cycle (0.00%) or OFF state +#define HEATERS_MAX_DUTY_CYCLE 1.00F ///< Heater max duty cycle (100%) or ON state +#define HEATERS_MIN_DUTY_CYCLE 0.00F ///< Heater minimum duty cycle (0.00%) or OFF state +#define HEATER_PWM_FULL_SCALE 450 ///< Heater full scale PWM value. +#define HEATER_PWM_OFFSET 25 ///< Heater PWM offset. #define HEATER_ON_CTRL_DUTY_CYCLE 1.00F ///< Heater ON control duty cycle. #define HEATERS_DISINFECT_DUTY_CYCLE 0.80F ///< Heaters disinfect cycle. #define HEATERS_DISINFECT_TRANSFER_DUTY_CYCLE 0.60F ///< Heaters disinfect transfer duty cycle. @@ -455,10 +457,16 @@ *************************************************************************/ static void setHeaterControl( void ) { - F32 ctrl; + F32 ctrl = getHeaterControl(); + BOOL enable = FALSE; + U16 pwm = (U16)( ctrl * (F32)HEATER_PWM_FULL_SCALE + (F32)HEATER_PWM_OFFSET + 0.5F ); - ctrl = getHeaterControl(); -// setFPGACPrimaryHeaterOnOffControl( (BOOL)ctrl ); // TODO ctrl is F32 - why casting as BOOL???? // TODO - implement FPGA set function + if ( ctrl > 0.0F ) + { + enable = TRUE; + } + setFPGAHeaterEnabled( enable ); + setFPGAHeaterPWM( pwm ); } /*********************************************************************//**