89 lines
1.8 KiB
C
89 lines
1.8 KiB
C
#include "leds.h"
|
|
#include "shared.h"
|
|
#include "network.h"
|
|
#include "server.h"
|
|
#include "rom/ets_sys.h"
|
|
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
// 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");
|
|
}
|
|
|