fiatlux/firmware/fiatlux.c

57 lines
1.4 KiB
C
Raw Permalink Normal View History

2021-07-09 19:13:09 +00:00
#include <FreeRTOS.h>
#include <task.h>
#include <sntp.h>
#include <time.h>
#include <esp/uart.h>
#include <espressif/esp_common.h>
2021-07-09 19:35:41 +00:00
#include "system.h"
2021-07-02 16:45:29 +00:00
#include "wifi.h"
#include "web.h"
#include "mqtt.h"
#include "lux.h"
2021-06-19 14:42:38 +00:00
2021-07-09 19:13:09 +00:00
#define SNTP_SERVERS "0.pool.ntp.org", "1.pool.ntp.org", \
"2.pool.ntp.org", "3.pool.ntp.org"
2021-07-09 19:13:09 +00:00
#define vTaskDelayMs(ms) vTaskDelay((ms)/portTICK_PERIOD_MS)
_Noreturn void sntp_task(void *pvParameters) {
(void) pvParameters;
const char *servers[] = {SNTP_SERVERS};
while (sdk_wifi_station_get_connect_status() != STATION_GOT_IP) {
vTaskDelayMs(1000);
}
sntp_set_update_delay(5 * 60000);
const struct timezone tz = {1 * 60, 1};
sntp_initialize(&tz);
sntp_set_servers(servers, sizeof(servers) / sizeof(char *));
while (1) {
vTaskDelayMs(5000);
time_t ts = time(NULL);
long long t = ts;
printf("TIME: %lld %s", t, ctime(&ts));
}
}
2021-06-19 14:42:38 +00:00
2021-07-09 19:13:09 +00:00
void user_init(void) {
2021-06-19 14:42:38 +00:00
uart_set_baud(0, 115200);
printf("SDK version: %s\n", sdk_system_get_sdk_version());
sdk_wifi_set_sleep_type(WIFI_SLEEP_MODEM);
2021-07-09 19:35:41 +00:00
system_init_config();
2021-07-18 22:18:16 +00:00
wifi_available_semaphore = xSemaphoreCreateBinary();
2021-08-28 21:44:01 +00:00
xTaskCreate(wifi_task, "wifi_task", 1024, NULL, 1, NULL);
2021-08-28 21:44:01 +00:00
xTaskCreate(&httpd_task, "httpd_task", 1024, NULL, 2, NULL);
2021-07-19 20:31:30 +00:00
xTaskCreate(&lux_task, "lux_task", 512, NULL, 1, NULL);
2021-07-09 19:13:09 +00:00
xTaskCreate(&sntp_task, "SNTP", 512, NULL, 2, NULL);
2021-06-19 14:42:38 +00:00
}