#include "leds.h" #include "shared.h" #include "network.h" #include "server.h" #include "rom/ets_sys.h" #include #include // starts the basic subsystems we will be using static void init_esp(void) { // start the networking interface ESP_ERROR_CHECK(esp_netif_init()); // start the event loop ESP_ERROR_CHECK(esp_event_loop_create_default()); } static void TEST_leds() { // TEST: after a delay, set the leds to a gradient of red - black sleep(1); union led_t led = { .components = { .red = 0, .green = 255, .blue = 0, .global = GLOBAL(10) } }; set_led_range(0, 60, led); led.components.blue = 255; set_led_range(30, 60, led); send_leds(); sleep(1); struct gradient_point_t points[3]; points[0].offset = 0; points[0].led.components = (struct led_components_t) { .global = GLOBAL(10), .red = 200, .green = 0, .blue = 40, }; points[1].offset = 30; points[1].led.components = (struct led_components_t){ .global = GLOBAL(10), .red = 40, .green = 30, .blue = 40, }; points[2].offset = 60; points[2].led.components = (struct led_components_t){ .global = GLOBAL(10), .red = 200, .green = 255, .blue = 255, }; leds_set_gradient(points, 3, 1); } void app_main(void) { LOGLN("---- starting"); // start hardware subsystems init_esp(); // startup leds and send initial state leds_init(); send_leds(); // start wifi subsystem wifi_init(); // configure wifi hardware to act as an access point softap_init(); // start listening for HTTP signals server_init(); TEST_leds(); LOGLN("---- finished setting up"); }