]> vcs.slashdirt.org Git - sw/tic2json.git/commitdiff

vcs.slashdirt.org Git - sw/tic2json.git/commitdiff

git git / sw / tic2json.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 1e38c19)
embedded: esptic: blink only when receiving frames
2021年9月28日 10:47:18 +0000 (12:47 +0200)
2021年9月28日 17:27:04 +0000 (19:27 +0200)
Don't use a task just to blink an LED.
Improve status reporting:
- LED on static when boot complete
- LED blinks after each received frame

This contradicts Enedis-NOI-CPT_02E / 3.3 but is IMO clearer (blink, i.e.
heartbeat when data is received).


diff --git a/embedded/ESP-RTOS/esptic/main/Kconfig b/embedded/ESP-RTOS/esptic/main/Kconfig
index 935303e7598c406b573bb5570b1454fce69da7bb..5b4a08a36beb9ae8b37a488f0faf29039d7bd0c0 100644 (file)
--- a/embedded/ESP-RTOS/esptic/main/Kconfig
+++ b/embedded/ESP-RTOS/esptic/main/Kconfig
@@ -37,5 +37,15 @@ config ESPTIC_LED_GPIO_NUM
int "LED GPIO NUM"
default 2
+config ESPTIC_LED_ACTIVE_HIGH
+ bool "LED active high"
+ help
+ Set if LED is active high, unset otherwise
+
+config ESPTIC_LED_ACTIVE_STATE
+ int
+ default 1 if ESPTIC_LED_ACTIVE_HIGH
+ default 0
+
endmenu
diff --git a/embedded/ESP-RTOS/esptic/main/main.c b/embedded/ESP-RTOS/esptic/main/main.c
index 56d91ecc8bcbc2e940d4c4b5a750d9da619a3153..8ddda49ccccd503de531e510138a48f802af6dc3 100644 (file)
--- a/embedded/ESP-RTOS/esptic/main/main.c
+++ b/embedded/ESP-RTOS/esptic/main/main.c
@@ -92,6 +92,9 @@ static void ticframecb(char * buf, size_t size, bool valid)
{
if (valid)
sendto(Gsockfd, buf, size, 0, &Gai_addr, Gai_addrlen);
+
+ // blink after each complete frame
+ gpio_set_level(LED_GPIO, !gpio_get_level(LED_GPIO));
}
static void tic_task(void *pvParameter)
@@ -109,19 +112,6 @@ static void tic_task(void *pvParameter)
tic2json_main(yyin, TIC2JSON_OPT_MASKZEROES|TIC2JSON_OPT_DICTOUT|TIC2JSON_OPT_LONGDATE, buf, UDPBUFSIZE, ticframecb);
}
-static void ledhb_task(void *pvParameter)
-{
- uint32_t level = 0;
-
- gpio_set_direction(LED_GPIO, GPIO_MODE_OUTPUT);
-
- while (1) {
- gpio_set_level(LED_GPIO, level);
- level = !level;
- vTaskDelay(1000 / portTICK_RATE_MS);
- }
-}
-
void app_main(void)
{
BaseType_t ret;
@@ -147,13 +137,14 @@ void app_main(void)
/* setup UDP client */
ESP_ERROR_CHECK(udp_setup());
+ ESP_ERROR_CHECK(gpio_set_direction(LED_GPIO, GPIO_MODE_OUTPUT));
+ gpio_set_level(LED_GPIO, CONFIG_ESPTIC_LED_ACTIVE_STATE);
+
ret = xTaskCreate(&tic_task, "tic", 8192, NULL, 5, NULL);
if (ret != pdPASS) {
ESP_LOGE(TAG, "Failed to create tic task");
abort();
}
- xTaskCreate(&ledhb_task, "lhb", 512, NULL, 1, NULL);
-
ESP_LOGI(TAG, "Rock'n'roll");
}
tic2json TIC parser/converter
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /