16 |
16 |
17 |
17 |
18 #define SSR_MLT CONFIG_SSR_MLT_GPIO ///< GPIO SSR MLT pin |
18 #define SSR_MLT CONFIG_SSR_MLT_GPIO ///< GPIO SSR MLT pin |
19 #define SSR_HLT CONFIG_SSR_HLT_GPIO ///< GPIO SSR HLT pin |
19 #define SSR_HLT CONFIG_SSR_HLT_GPIO ///< GPIO SSR HLT pin |
20 #define SSR_PUMP CONFIG_SSR_PUMP_GPIO ///< GPIO Pump relay pin |
20 #define SSR_PUMP CONFIG_SSR_PUMP_GPIO ///< GPIO Pump relay pin |
|
21 #define PWM_MLT CONFIG_PWM_MLT_GPIO ///< GPIO PWM MLT pin |
21 |
22 |
22 |
23 |
23 bool outEnable = false; ///< Enable outputs flag |
24 bool outEnable = false; ///< Enable outputs flag |
24 DRIVER_State * driver_state; ///< Driver state |
25 DRIVER_State * driver_state; ///< Driver state |
25 SemaphoreHandle_t xSemaphoreDriver = NULL; ///< Driver state lock |
26 SemaphoreHandle_t xSemaphoreDriver = NULL; ///< Driver state lock |
160 driver_state->hlt_sp = driver_state->hlt_pv = 0.0; |
161 driver_state->hlt_sp = driver_state->hlt_pv = 0.0; |
161 driver_state->hlt_power = 0; |
162 driver_state->hlt_power = 0; |
162 driver_state->hlt_and_mlt = false; |
163 driver_state->hlt_and_mlt = false; |
163 driver_state->pump_gpio = SSR_PUMP; |
164 driver_state->pump_gpio = SSR_PUMP; |
164 driver_state->pump_run = 0; |
165 driver_state->pump_run = 0; |
|
166 driver_state->pwm_gpio = PWM_MLT; |
|
167 driver_state->pwm_mlt = false; |
|
168 driver_state->pwm_nohlt = 10; /* Conservative safety value. */ |
165 |
169 |
166 PID(&Input, &Output, &Setpoint, 200, 2.0, 1.5, PID_DIRECT); |
170 PID(&Input, &Output, &Setpoint, 200, 2.0, 1.5, PID_DIRECT); |
167 |
171 |
168 /* |
172 /* |
169 * One loop must complete in 20 mSecs, that is one mains |
173 * One loop must complete in 20 mSecs, that is one mains |