put pump queue in outer loop (this all needs a real rewrite...)

This commit is contained in:
morgan 2026-08-02 09:37:24 -07:00
parent 3900d87fe9
commit ef137a9e7e

View file

@ -108,7 +108,7 @@ uint8_t pump_disable(int8_t i) {
} }
void pump_timer_done(TimerHandle_t timer) { void pump_timer_done(TimerHandle_t timer) {
uint8_t idx = (pcTimerGetName(timer) - 0x48); uint8_t idx = (uint8_t)(pcTimerGetName(timer) - 0x48);
ESP_LOGD(TAG, "pump done: %d", idx); ESP_LOGD(TAG, "pump done: %d", idx);
xQueueSend(pump_step_queue, &idx, portMAX_DELAY); xQueueSend(pump_step_queue, &idx, portMAX_DELAY);
@ -147,11 +147,12 @@ void pumps_run() {
void pump_step_task() { void pump_step_task() {
uint8_t idx; uint8_t idx;
BaseType_t awoke = pdFALSE; TickType_t awoke = pdFALSE;
ESP_LOGI(TAG, "Starting pump stepping task"); ESP_LOGI(TAG, "Starting pump stepping task");
while(xQueueReceive(pump_step_queue, &idx, &awoke)) { while(true) {
while(xQueueReceive(pump_step_queue, &idx, awoke)) {
ESP_LOGI(TAG, "step %d complete for %d", pump_states[idx], idx); ESP_LOGI(TAG, "step %d complete for %d", pump_states[idx], idx);
if(pump_states[idx] == PUMP_STATE_RAMPING_UP) { if(pump_states[idx] == PUMP_STATE_RAMPING_UP) {
@ -186,6 +187,9 @@ void pump_step_task() {
ESP_LOGE(TAG, "Pump step fired with unknown state: %d", pump_states[idx]); ESP_LOGE(TAG, "Pump step fired with unknown state: %d", pump_states[idx]);
} }
} }
vTaskDelay(portTICK_PERIOD_MS / 10);
}
} }
static IRAM_ATTR bool ledc_fade_end_event(const ledc_cb_param_t *param, void *parg) { static IRAM_ATTR bool ledc_fade_end_event(const ledc_cb_param_t *param, void *parg) {