main/task_user.c

changeset 37
358bbd5b608e
parent 36
e2a43e7c4035
child 38
46e2c385e9de
equal deleted inserted replaced
36:e2a43e7c4035 37:358bbd5b608e
1147 1147
1148 1148
1149 1149
1150 void task_user(void *pvParameter) 1150 void task_user(void *pvParameter)
1151 { 1151 {
1152 esp_err_t ret;
1153
1154 ESP_LOGI(TAG, "Starting User task"); 1152 ESP_LOGI(TAG, "Starting User task");
1155 Main_Loop2 = -1; 1153 Main_Loop2 = -1;
1156 1154
1157 /* 1155 /*
1158 * Setup the OLED display. 1156 * Setup the OLED display.
1185 gpio_evt_queue = xQueueCreate(10, sizeof(uint32_t)); 1183 gpio_evt_queue = xQueueCreate(10, sizeof(uint32_t));
1186 xTaskCreate(gpio_task, "gpio_task", 2048, NULL, 10, NULL); 1184 xTaskCreate(gpio_task, "gpio_task", 2048, NULL, 10, NULL);
1187 1185
1188 gpio_isr_handler_add(ROT_ENC_SW_GPIO, gpio_isr_handler, (void*) ROT_ENC_SW_GPIO); 1186 gpio_isr_handler_add(ROT_ENC_SW_GPIO, gpio_isr_handler, (void*) ROT_ENC_SW_GPIO);
1189 1187
1190 // Create a queue for events from the rotary encoder driver. 1188 /*
1191 // Tasks can read from this queue to receive up to date position information. 1189 * Create a queue for events from the rotary encoder driver.
1190 * Tasks can read from this queue to receive up to date position information.
1191 */
1192 event_queue = rotary_encoder_create_queue(); 1192 event_queue = rotary_encoder_create_queue();
1193 ESP_ERROR_CHECK(rotary_encoder_set_queue(&rinfo, event_queue)); 1193 ESP_ERROR_CHECK(rotary_encoder_set_queue(&rinfo, event_queue));
1194 1194
1195 /*
1196 * Create a one second periodic timer.
1197 */
1195 esp_timer_create_args_t timerSecond = { 1198 esp_timer_create_args_t timerSecond = {
1196 .callback = &TimerCallback, 1199 .callback = &TimerCallback,
1197 .name = "SecondsTimer" 1200 .name = "SecondsTimer"
1198 }; 1201 };
1199
1200 /*
1201 * Create a one second periodic timer.
1202 */
1203 ESP_ERROR_CHECK(esp_timer_create(&timerSecond, &timerHandle)); 1202 ESP_ERROR_CHECK(esp_timer_create(&timerSecond, &timerHandle));
1204 ret = esp_timer_start_periodic(timerHandle, 1000000); 1203 ESP_ERROR_CHECK(esp_timer_start_periodic(timerHandle, 1000000));
1205 assert(ret == ESP_OK);
1206 1204
1207 EventBits_t uxBits; 1205 EventBits_t uxBits;
1208 1206
1209 /* 1207 /*
1210 * Task loop forever. 1208 * Task loop forever.
1256 } 1254 }
1257 1255
1258 xEventGroupClearBits(xEventGroupUser, TASK_USER_WAKEUP); 1256 xEventGroupClearBits(xEventGroupUser, TASK_USER_WAKEUP);
1259 } 1257 }
1260 } 1258 }
1261 1259 }
1262 // If not configured, start configure 1260
1263 // If configured select first unit
1264 // Handle screen (first is show measured values)
1265 // Display per unit. Temp + Pressure + state. Press is setup this sensor.
1266 // Setup menu: Sensors
1267 // WiFi
1268 // MQTT
1269 // System (timers etc)
1270 // Update OTA
1271 // Return
1272
1273 // Sensors menu: Assignments, turn to choose one.
1274 // Sensors setup menu: DS18B20 addr Press is assign
1275 // DS18B20 addr
1276 }
1277

mercurial