#include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "driver/gpio.h" #include "hal/gpio_types.h" #include "ssd1306.h" #include enum Lane { RED, ORANGE, GREEN, BLUE, WHITE, SPEAKER, PIN_COUNT }; const static int ANDON_PINS[PIN_COUNT] = { 10, 3, 7, 6, 5, 4 }; void app_main(void) { SSD1306_t display; int i, tick = 0; ssd1306_init(&display); ssd1306_clear_screen(&display, false); ssd1306_display_text(&display, 0, "testing", 7, false); for (i = 0; i < PIN_COUNT; i++) { gpio_reset_pin(ANDON_PINS[i]); gpio_set_level(ANDON_PINS[i], 1); gpio_set_direction(ANDON_PINS[i], GPIO_MODE_OUTPUT_OD); } while (1) { printf("Tick %i\n", ++tick); fflush(stdout); for (i = 0; i < PIN_COUNT; i++) { gpio_set_level(ANDON_PINS[i], 0); vTaskDelay(1000 / portTICK_PERIOD_MS); gpio_set_level(ANDON_PINS[i], 1); } // for (i = 0; i < PIN_COUNT; i++) { // gpio_set_level(ANDON_PINS[i], 0); // } // vTaskDelay(1000 / portTICK_PERIOD_MS); // for (i = 0; i < PIN_COUNT; i++) { // gpio_set_level(ANDON_PINS[i], 1); // } } }