129 /* Set them all, even if not in use now. */ |
129 /* Set them all, even if not in use now. */ |
130 driver_state->hlt_sp = runtime.ManualHLT; |
130 driver_state->hlt_sp = runtime.ManualHLT; |
131 driver_state->mlt_sp = runtime.ManualMLT; |
131 driver_state->mlt_sp = runtime.ManualMLT; |
132 xSemaphoreGive(xSemaphoreDriver); |
132 xSemaphoreGive(xSemaphoreDriver); |
133 } |
133 } |
|
134 runtime.MLT_usage = 0; |
|
135 runtime.HLT_usage = 0; |
|
136 write_runtime(); |
|
137 |
134 if (_ManualHLT) { |
138 if (_ManualHLT) { |
135 if (xSemaphoreTake(xSemaphoreDriver, 10) == pdTRUE) { |
139 if (xSemaphoreTake(xSemaphoreDriver, 10) == pdTRUE) { |
136 driver_state->hlt_mode = HLT_MODE_OFF; |
140 driver_state->hlt_mode = HLT_MODE_OFF; |
137 xSemaphoreGive(xSemaphoreDriver); |
141 xSemaphoreGive(xSemaphoreDriver); |
138 } |
142 } |
166 driver_state->hlt_mode = HLT_MODE_NONE; |
170 driver_state->hlt_mode = HLT_MODE_NONE; |
167 driver_state->hlt_sp = 0.0; |
171 driver_state->hlt_sp = 0.0; |
168 driver_state->pump_run = 0; |
172 driver_state->pump_run = 0; |
169 xSemaphoreGive(xSemaphoreDriver); |
173 xSemaphoreGive(xSemaphoreDriver); |
170 } |
174 } |
|
175 double mwu = (runtime.MLT_usage / 1000.0 / 60.0 / 60.0) * equipment.MLT_watt / 1000.0; |
|
176 double hwu = (runtime.HLT_usage / 1000.0 / 60.0 / 60.0) * equipment.HLT_watt / 1000.0; |
|
177 log_msg(TAG, "MLT usage %.3f KWh, HLT usage %.3f KWh, total %.3f KWh", mwu, hwu, mwu + hwu); |
171 write_runtime(); |
178 write_runtime(); |
172 break; |
179 break; |
173 |
180 |
174 case 1: if (xSemaphoreTake(xSemaphoreDriver, 10) == pdTRUE) { |
181 case 1: if (xSemaphoreTake(xSemaphoreDriver, 10) == pdTRUE) { |
175 if (_ManualMLT) { |
182 if (_ManualMLT) { |