From 3098c8f1ab0d48946495132f7ff035e8de0048b1 Mon Sep 17 00:00:00 2001 From: jedi Date: Fri, 25 Jun 2021 18:08:50 +0200 Subject: [PATCH] stash --- firmware/fiatlux.c | 11 +++--- firmware/web.cpp | 93 ++++++++++++++++++++++++---------------------- 2 files changed, 54 insertions(+), 50 deletions(-) diff --git a/firmware/fiatlux.c b/firmware/fiatlux.c index 869eb7a..88ebc8a 100644 --- a/firmware/fiatlux.c +++ b/firmware/fiatlux.c @@ -21,6 +21,7 @@ #include "lux.h" + #define SNTP_SERVERS "0.pool.ntp.org", "1.pool.ntp.org", \ "2.pool.ntp.org", "3.pool.ntp.org" @@ -252,7 +253,7 @@ void user_init(void) { sdk_wifi_set_opmode(wifi_mode); if(wifi_sta_enable) { - printf("try STA Mode\n"); + printf("try STA Mode: %s %s\n", wifi_sta_ssid, wifi_sta_password); struct sdk_station_config config; strcpy((char *) config.ssid, wifi_sta_ssid); strcpy((char *) config.password, wifi_sta_password); @@ -289,7 +290,7 @@ void user_init(void) { } if(wifi_ap_enable) { - printf("try AP Mode\n"); + printf("try AP Mode: %s %s\n", wifi_ap_ssid, wifi_ap_password); /* Read and validate paramenters. */ int8_t wifi_ap_ssid_hidden = 0; sysparam_get_int8("wifi_ap_ssid_hidden", &wifi_ap_ssid_hidden); @@ -402,12 +403,12 @@ void user_init(void) { /* turn off LED */ //gpio_enable(LED_PIN, GPIO_OUTPUT); //gpio_write(LED_PIN, true); - xTaskCreate(&lux_task, "lux_task", 256, NULL, 2, NULL); + xTaskCreate(&lux_task, "lux_task", 256, NULL, 1, NULL); /* initialize tasks */ - xTaskCreate(&httpd_task, "&httpd_task", 2048, NULL, 2, NULL); + xTaskCreate(&httpd_task, "httpd_task", 2048, NULL, 3, NULL); - xTaskCreate(&sntp_task, "SNTP", 512, NULL, 1, NULL); + xTaskCreate(&sntp_task, "SNTP", 512, NULL, 2, NULL); } >>>>>>> 4b8d354 (basic webconf) } diff --git a/firmware/web.cpp b/firmware/web.cpp index c31e71d..2f1f78a 100644 --- a/firmware/web.cpp +++ b/firmware/web.cpp @@ -11,9 +11,12 @@ #include #include #include + extern "C" { #include +#include } + #include #include @@ -31,9 +34,10 @@ struct { } has_changed; void websocket_task(void *pvParameter) { - struct tcp_pcb *pcb = (struct tcp_pcb *) pvParameter; + auto *pcb = (struct tcp_pcb *) pvParameter; - int connstarttime = xTaskGetTickCount(); + size_t connstarttime = xTaskGetTickCount(); + has_changed = {true, true, true}; for (;;) { if(pcb == NULL || pcb->state != ESTABLISHED) { @@ -43,8 +47,8 @@ void websocket_task(void *pvParameter) { //Global Info - if(has_changed.global){ - struct timeval tv; + if(has_changed.global) { + timeval tv; gettimeofday(&tv, NULL); int uptime = xTaskGetTickCount() * portTICK_PERIOD_MS / 1000; int heap = (int) xPortGetFreeHeapSize(); @@ -57,14 +61,14 @@ void websocket_task(void *pvParameter) { /* Generate response in JSON format */ char response[160]; size_t len = snprintf(response, sizeof(response), - "{\"walltime\" : \"%d\"," - "\"uptime\" : \"%d\"," - " \"heap\" : \"%d\"," - " \"chipid\" : \"%08x\"," - " \"flashid\" : \"0x%08x\"," - " \"flashsize\" : \"%u\"," - " \"hostname\" : \"%s\"" - "}", (int) tv.tv_sec, uptime, heap, chip_id, flash_id, flash_size, hostname); + "{\"walltime\" : \"%d\"," + "\"uptime\" : \"%d\"," + " \"heap\" : \"%d\"," + " \"chipid\" : \"%08x\"," + " \"flashid\" : \"0x%08x\"," + " \"flashsize\" : \"%u\"," + " \"hostname\" : \"%s\"" + "}", (int) tv.tv_sec, uptime, heap, chip_id, flash_id, flash_size, hostname); free(hostname); if(len < sizeof(response)) { LOCK_TCPIP_CORE(); @@ -78,23 +82,23 @@ void websocket_task(void *pvParameter) { //Connection Info - if(has_changed.connection){ - struct timeval tv; + if(has_changed.connection) { + timeval tv; gettimeofday(&tv, NULL); int connuptime = (xTaskGetTickCount() - connstarttime) * portTICK_PERIOD_MS / 1000; printf("conn %d: " - IPSTR - " <-> " - IPSTR - " \n", pcb->netif_idx, IP2STR(&pcb->local_ip), IP2STR(&pcb->remote_ip)); + IPSTR + " <-> " + IPSTR + " \n", pcb->netif_idx, IP2STR(&pcb->local_ip), IP2STR(&pcb->remote_ip)); char response[160]; size_t len = snprintf(response, sizeof(response), - "{\"connage\" : \"%d\"," - "\"clientip\" : \"" - IPSTR - "\"" - "}", connuptime, IP2STR(&pcb->remote_ip)); + "{\"connage\" : \"%d\"," + "\"clientip\" : \"" + IPSTR + "\"" + "}", connuptime, IP2STR(&pcb->remote_ip)); if(len < sizeof(response)) { LOCK_TCPIP_CORE(); websocket_write(pcb, (unsigned char *) response, len, WS_TEXT_MODE); @@ -104,8 +108,7 @@ void websocket_task(void *pvParameter) { vTaskDelayMs(2000); } - - if(has_changed.wifi){ + if(has_changed.wifi) { uint8_t opmode = sdk_wifi_get_opmode(); const char *opmode_str = "??"; switch (opmode) { @@ -136,7 +139,7 @@ void websocket_task(void *pvParameter) { if(opmode == SOFTAP_MODE || opmode == STATIONAP_MODE) { uint8_t hwaddr[6]; sdk_wifi_get_macaddr(SOFTAP_IF, hwaddr); - struct ip_info info; + ip_info info; sdk_wifi_get_ip_info(SOFTAP_IF, &info); char *apssid = NULL; @@ -145,15 +148,15 @@ void websocket_task(void *pvParameter) { /* Generate response in JSON format */ char response[128]; size_t len = snprintf(response, sizeof(response), - "{\"opmode\" : \"%s\"," - " \"apssid\" : \"%s\"," - " \"apip\" : \"" - IPSTR - "\"," - " \"apmac\" : \"" - MACSTR - "\"" - "}", opmode_str, apssid, IP2STR(&info.ip), MAC2STR(hwaddr)); + "{\"opmode\" : \"%s\"," + " \"apssid\" : \"%s\"," + " \"apip\" : \"" + IPSTR + "\"," + " \"apmac\" : \"" + MACSTR + "\"" + "}", opmode_str, apssid, IP2STR(&info.ip), MAC2STR(hwaddr)); free(apssid); if(len < sizeof(response)) { LOCK_TCPIP_CORE(); @@ -168,7 +171,7 @@ void websocket_task(void *pvParameter) { if(opmode == STATION_MODE || opmode == STATIONAP_MODE) { uint8_t hwaddr[6]; sdk_wifi_get_macaddr(STATION_IF, hwaddr); - struct ip_info info; + ip_info info; sdk_wifi_get_ip_info(STATION_IF, &info); char *stassid = NULL; sysparam_get_string("wifi_sta_ssid", &stassid); @@ -176,15 +179,15 @@ void websocket_task(void *pvParameter) { /* Generate response in JSON format */ char response[128]; size_t len = snprintf(response, sizeof(response), - "{\"opmode\" : \"%s\"," - " \"stassid\" : \"%s\"," - " \"staip\" : \"" - IPSTR - "\"," - " \"stamac\" : \"" - MACSTR - "\"" - "}", opmode_str, stassid, IP2STR(&info.ip), MAC2STR(hwaddr)); + "{\"opmode\" : \"%s\"," + " \"stassid\" : \"%s\"," + " \"staip\" : \"" + IPSTR + "\"," + " \"stamac\" : \"" + MACSTR + "\"" + "}", opmode_str, stassid, IP2STR(&info.ip), MAC2STR(hwaddr)); free(stassid); if(len < sizeof(response)) { LOCK_TCPIP_CORE();