From 030a16e5eef86883c5a4a4a68a2cadf8d7cc49cd Mon Sep 17 00:00:00 2001 From: adamoferro Date: Sat, 9 Apr 2022 23:30:16 +0200 Subject: [PATCH] Strange behavior regarding the "flash reset" flag and the use of GPIO 3. FIRST TRIAL 1) created a blink bloard WITHOUT "flash reset" flag. No network. Standard blink board uses GPIO 2. 2) Compiled, flashed and run. First logs on my board: I (533) grownode: grownode startup sequence completed! D (543) gn_leaf_gpio: [blink] gn_gpio_config D (543) grownode: gn_leaf_param_create status D (553) grownode: check stored value for key blink_status D (553) grownode: found stored value for key blink_status D (563) grownode: .. value: 0 D (563) grownode: gn_leaf_param_create inverted D (563) grownode: check stored value for key blink_inverted D (573) grownode: found stored value for key blink_inverted D (583) grownode: .. value: 0 D (583) grownode: gn_leaf_param_create gpio D (583) grownode: check stored value for key blink_gpio D (593) grownode: found stored value for key blink_gpio D (593) grownode: .. value: 2.000000 D (603) grownode: Param status added in blink D (603) grownode: Param inverted added in blink D (613) grownode: Param gpio added in blink D (613) grownode: gn_create_leaf success D (613) grownode: gn_leaf_param_init_double gpio 2 D (623) grownode: .. value already found: (2.000000) - skipping D (633) grownode: gn_leaf_param_init_bool inverted 0 D (633) grownode: .. value already found: (204) - skipping D (643) grownode: gn_leaf_param_init_bool status 0 D (643) grownode: .. value already found: (244) - skipping D (653) grownode: gn_start_node: nft2, leaves: 1 I (653) grownode: _gn_leaf_start blink D (663) gn_leaf_gpio: [blink] gn_gpio_task D (663) gn_leaf_gpio: configuring - gpio 2, status 0, inverted 0 D (673) gn_leaf_gpio: [blink] task cycle.. I (763) grownode: _gn_start_leaf blink completed I (763) grownode: looping. grownode startup status: Started, sleep mode = 0 D (2653) gn_blink: blinking - old status = 0 I (2653) gn_blink: blinking - new status = 1 D (2653) grownode: gn_leaf_parameter_update. param=status D (2653) gn_leaf_gpio: [blink] received message: 260 D (2663) gn_leaf_gpio: [blink] request to update param status, data = '1' D (2663) gn_leaf_gpio: written: 1 D (2673) grownode: gn_leaf_param_write_bool: after validator: 1 W (2893) grownode: not possible to store leaf parameter value - key blink_status value 1 D (2893) gn_leaf_gpio: [blink] - gpio 2, toggle 1, inverted 0 D (2893) gn_leaf_gpio: [blink] task cycle.. D (4653) gn_blink: blinking - old status = 1 I (4653) gn_blink: blinking - new status = 0 D (4653) grownode: gn_leaf_parameter_update. param=status D (4653) gn_leaf_gpio: [blink] received message: 260 D (4663) gn_leaf_gpio: [blink] request to update param status, data = '0' D (4663) gn_leaf_gpio: written: 0 D (4673) grownode: gn_leaf_param_write_bool: after validator: 0 D (4673) grownode: gn_leaf_param_write_bool - result 0 D (4683) gn_leaf_gpio: [blink] - gpio 2, toggle 0, inverted 0 D (4683) gn_leaf_gpio: [blink] task cycle.. D (6653) gn_blink: blinking - old status = 0 I (6653) gn_blink: blinking - new status = 1 D (6653) grownode: gn_leaf_parameter_update. param=status D (6653) gn_leaf_gpio: [blink] received message: 260 D (6663) gn_leaf_gpio: [blink] request to update param status, data = '1' D (6663) gn_leaf_gpio: written: 1 D (6673) grownode: gn_leaf_param_write_bool: after validator: 1 W (6893) grownode: not possible to store leaf parameter value - key blink_status value 1 D (6893) gn_leaf_gpio: [blink] - gpio 2, toggle 1, inverted 0 D (6903) gn_leaf_gpio: [blink] task cycle.. D (8653) gn_blink: blinking - old status = 1 I (8653) gn_blink: blinking - new status = 0 D (8653) grownode: gn_leaf_parameter_update. param=status D (8653) gn_leaf_gpio: [blink] received message: 260 D (8663) gn_leaf_gpio: [blink] request to update param status, data = '0' D (8663) gn_leaf_gpio: written: 0 D (8673) grownode: gn_leaf_param_write_bool: after validator: 0 D (8673) grownode: gn_leaf_param_write_bool - result 0 D (8683) gn_leaf_gpio: [blink] - gpio 2, toggle 0, inverted 0 D (8683) gn_leaf_gpio: [blink] task cycle.. D (10653) gn_blink: blinking - old status = 0 I (10653) gn_blink: blinking - new status = 1 D (10653) grownode: gn_leaf_parameter_update. param=status D (10653) gn_leaf_gpio: [blink] received message: 260 D (10663) gn_leaf_gpio: [blink] request to update param status, data = '1' D (10663) gn_leaf_gpio: written: 1 D (10673) grownode: gn_leaf_param_write_bool: after validator: 1 I (10763) grownode: looping. grownode startup status: Started, sleep mode = 0 W (10903) grownode: not possible to store leaf parameter value - key blink_status value 1 D (10903) gn_leaf_gpio: [blink] - gpio 2, toggle 1, inverted 0 D (10913) gn_leaf_gpio: [blink] task cycle.. SECOND TRIAL 3) modified gn_blink.c and set GPIO 3 4) modified sdkconfig and SET "Reset Flash at every startup" 5) compiled, flashed and run. From the logs you can see that the GPIO has been set, but the INIT function is skipped because value 2 has been already found. So the "reset" flag is not considered. I (533) grownode: grownode startup sequence completed! D (543) gn_leaf_gpio: [blink] gn_gpio_config D (543) grownode: gn_leaf_param_create status D (553) grownode: check stored value for key blink_status D (553) grownode: found stored value for key blink_status D (563) grownode: .. value: 0 D (563) grownode: gn_leaf_param_create inverted D (563) grownode: check stored value for key blink_inverted D (573) grownode: found stored value for key blink_inverted D (583) grownode: .. value: 0 D (583) grownode: gn_leaf_param_create gpio D (583) grownode: check stored value for key blink_gpio D (593) grownode: found stored value for key blink_gpio D (593) grownode: .. value: 2.000000 D (603) grownode: Param status added in blink D (603) grownode: Param inverted added in blink D (613) grownode: Param gpio added in blink D (613) grownode: gn_create_leaf success D (613) grownode: gn_leaf_param_init_double gpio 3 D (623) grownode: .. value already found: (3.000000) - skipping D (633) grownode: gn_leaf_param_init_bool inverted 0 D (633) grownode: .. value already found: (204) - skipping D (643) grownode: gn_leaf_param_init_bool status 0 D (643) grownode: .. value already found: (244) - skipping D (653) grownode: gn_start_node: nft2, leaves: 1 I (653) grownode: _gn_leaf_start blink D (663) gn_leaf_gpio: [blink] gn_gpio_task D (663) gn_leaf_gpio: configuring - gpio 2, status 0, inverted 0 D (673) gn_leaf_gpio: [blink] task cycle.. I (763) grownode: _gn_start_leaf blink completed I (763) grownode: looping. grownode startup status: Started, sleep mode = 0 D (2653) gn_blink: blinking - old status = 0 I (2653) gn_blink: blinking - new status = 1 D (2653) grownode: gn_leaf_parameter_update. param=status D (2653) gn_leaf_gpio: [blink] received message: 260 D (2663) gn_leaf_gpio: [blink] request to update param status, data = '1' D (2663) gn_leaf_gpio: written: 1 D (2673) grownode: gn_leaf_param_write_bool: after validator: 1 W (2903) grownode: not possible to store leaf parameter value - key blink_status value 1 D (2903) gn_leaf_gpio: [blink] - gpio 2, toggle 1, inverted 0 D (2913) gn_leaf_gpio: [blink] task cycle.. D (4653) gn_blink: blinking - old status = 1 I (4653) gn_blink: blinking - new status = 0 D (4653) grownode: gn_leaf_parameter_update. param=status D (4653) gn_leaf_gpio: [blink] received message: 260 D (4663) gn_leaf_gpio: [blink] request to update param status, data = '0' D (4663) gn_leaf_gpio: written: 0 D (4673) grownode: gn_leaf_param_write_bool: after validator: 0 D (4673) grownode: gn_leaf_param_write_bool - result 0 D (4683) gn_leaf_gpio: [blink] - gpio 2, toggle 0, inverted 0 D (4683) gn_leaf_gpio: [blink] task cycle.. D (6653) gn_blink: blinking - old status = 0 I (6653) gn_blink: blinking - new status = 1 D (6653) grownode: gn_leaf_parameter_update. param=status D (6653) gn_leaf_gpio: [blink] received message: 260 D (6663) gn_leaf_gpio: [blink] request to update param status, data = '1' D (6663) gn_leaf_gpio: written: 1 D (6673) grownode: gn_leaf_param_write_bool: after validator: 1 W (6923) grownode: not possible to store leaf parameter value - key blink_status value 1 D (6923) gn_leaf_gpio: [blink] - gpio 2, toggle 1, inverted 0 D (6923) gn_leaf_gpio: [blink] task cycle.. D (8653) gn_blink: blinking - old status = 1 I (8653) gn_blink: blinking - new status = 0 D (8653) grownode: gn_leaf_parameter_update. param=status D (8653) gn_leaf_gpio: [blink] received message: 260 D (8663) gn_leaf_gpio: [blink] request to update param status, data = '0' D (8663) gn_leaf_gpio: written: 0 D (8673) grownode: gn_leaf_param_write_bool: after validator: 0 D (8673) grownode: gn_leaf_param_write_bool - result 0 D (8683) gn_leaf_gpio: [blink] - gpio 2, toggle 0, inverted 0 D (8683) gn_leaf_gpio: [blink] task cycle.. D (10653) gn_blink: blinking - old status = 0 I (10653) gn_blink: blinking - new status = 1 D (10653) grownode: gn_leaf_parameter_update. param=status D (10653) gn_leaf_gpio: [blink] received message: 260 D (10663) gn_leaf_gpio: [blink] request to update param status, data = '1' D (10663) gn_leaf_gpio: written: 1 D (10673) grownode: gn_leaf_param_write_bool: after validator: 1 I (10763) grownode: looping. grownode startup status: Started, sleep mode = 0 W (10883) grownode: not possible to store leaf parameter value - key blink_status value 1 D (10883) gn_leaf_gpio: [blink] - gpio 2, toggle 1, inverted 0 D (10883) gn_leaf_gpio: [blink] task cycle.. D (12653) gn_blink: blinking - old status = 1 I (12653) gn_blink: blinking - new status = 0 D (12653) grownode: gn_leaf_parameter_update. param=status D (12653) gn_leaf_gpio: [blink] received message: 260 D (12663) gn_leaf_gpio: [blink] request to update param status, data = '0' D (12663) gn_leaf_gpio: written: 0 D (12673) grownode: gn_leaf_param_write_bool: after validator: 0 D (12673) grownode: gn_leaf_param_write_bool - result 0 D (12683) gn_leaf_gpio: [blink] - gpio 2, toggle 0, inverted 0 D (12683) gn_leaf_gpio: [blink] task cycle.. D (14653) gn_blink: blinking - old status = 0 I (14653) gn_blink: blinking - new status = 1 D (14653) grownode: gn_leaf_parameter_update. param=status D (14653) gn_leaf_gpio: [blink] received message: 260 D (14663) gn_leaf_gpio: [blink] request to update param status, data = '1' D (14663) gn_leaf_gpio: written: 1 D (14673) grownode: gn_leaf_param_write_bool: after validator: 1 W (14883) grownode: not possible to store leaf parameter value - key blink_status value 1 D (14883) gn_leaf_gpio: [blink] - gpio 2, toggle 1, inverted 0 D (14883) gn_leaf_gpio: [blink] task cycle.. THIRD TRIAL 5) changed the leaf name into gn_blink.c, keeping GPIO configured to 3 6) compiled, flashed and run. The code searches for already set parameters and fails. Blinking GPIO is set to 32 instead of 3 (confirmed measuring with a tester on GPIO 32) I (533) grownode: grownode startup sequence completed! D (543) gn_leaf_gpio: [blink123] gn_gpio_config D (543) grownode: gn_leaf_param_create status D (553) grownode: check stored value for key blink123_status D (553) grownode: gn_storage_get(blink123_status) - FAIL D (563) grownode: not found stored value for key blink123_status D (563) grownode: gn_leaf_param_create inverted D (573) grownode: check stored value for key blink123_inverted D (573) grownode: gn_storage_get(blink123_inverted) - FAIL D (583) grownode: not found stored value for key blink123_inverted D (593) grownode: gn_leaf_param_create gpio D (593) grownode: check stored value for key blink123_gpio D (603) grownode: gn_storage_get(blink123_gpio) - FAIL D (603) grownode: not found stored value for key blink123_gpio D (613) grownode: Param status added in blink123 D (613) grownode: Param inverted added in blink123 D (623) grownode: Param gpio added in blink123 D (623) grownode: gn_create_leaf success D (623) grownode: gn_leaf_param_init_double gpio 3 D (633) grownode: gn_storage_get(blink123_gpio) - FAIL W (813) grownode: not possible to store leaf parameter value - key blink123_gpio value 3.000000 D (823) grownode: gn_leaf_param_init_bool inverted 0 D (823) grownode: gn_storage_get(blink123_inverted) - FAIL W (1003) grownode: not possible to store leaf parameter value - key blink123_inverted value 0 D (1003) grownode: gn_leaf_param_init_bool status 0 D (1013) grownode: gn_storage_get(blink123_status) - FAIL W (1193) grownode: not possible to store leaf parameter value - key blink123_status value 0 D (1193) grownode: gn_start_node: nft2, leaves: 1 I (1203) grownode: _gn_leaf_start blink123 D (1203) gn_leaf_gpio: [blink123] gn_gpio_task D (1213) gn_leaf_gpio: configuring - gpio 32, status 0, inverted 0 D (1213) gn_leaf_gpio: [blink123] task cycle.. I (1303) grownode: _gn_start_leaf blink123 completed I (1303) grownode: looping. grownode startup status: Started, sleep mode = 0 D (3193) gn_blink: blinking - old status = 0 I (3193) gn_blink: blinking - new status = 1 D (3193) grownode: gn_leaf_parameter_update. param=status D (3203) gn_leaf_gpio: [blink123] received message: 260 D (3203) gn_leaf_gpio: [blink123] request to update param status, data = '1' D (3213) gn_leaf_gpio: written: 1 D (3213) grownode: gn_leaf_param_write_bool: after validator: 1 W (3423) grownode: not possible to store leaf parameter value - key blink123_status value 1 D (3423) gn_leaf_gpio: [blink123] - gpio 32, toggle 1, inverted 0 D (3423) gn_leaf_gpio: [blink123] task cycle.. D (5193) gn_blink: blinking - old status = 1 I (5193) gn_blink: blinking - new status = 0 D (5193) grownode: gn_leaf_parameter_update. param=status D (5203) gn_leaf_gpio: [blink123] received message: 260 D (5203) gn_leaf_gpio: [blink123] request to update param status, data = '0' D (5213) gn_leaf_gpio: written: 0 D (5213) grownode: gn_leaf_param_write_bool: after validator: 0 W (5423) grownode: not possible to store leaf parameter value - key blink123_status value 0 D (5423) gn_leaf_gpio: [blink123] - gpio 32, toggle 0, inverted 0 D (5423) gn_leaf_gpio: [blink123] task cycle.. D (7193) gn_blink: blinking - old status = 0 I (7193) gn_blink: blinking - new status = 1 D (7193) grownode: gn_leaf_parameter_update. param=status D (7203) gn_leaf_gpio: [blink123] received message: 260 D (7203) gn_leaf_gpio: [blink123] request to update param status, data = '1' D (7213) gn_leaf_gpio: written: 1 D (7213) grownode: gn_leaf_param_write_bool: after validator: 1 W (7443) grownode: not possible to store leaf parameter value - key blink123_status value 1 D (7443) gn_leaf_gpio: [blink123] - gpio 32, toggle 1, inverted 0 D (7453) gn_leaf_gpio: [blink123] task cycle.. D (9193) gn_blink: blinking - old status = 1 I (9193) gn_blink: blinking - new status = 0 D (9193) grownode: gn_leaf_parameter_update. param=status D (9203) gn_leaf_gpio: [blink123] received message: 260 D (9203) gn_leaf_gpio: [blink123] request to update param status, data = '0' D (9213) gn_leaf_gpio: written: 0 D (9213) grownode: gn_leaf_param_write_bool: after validator: 0 W (9433) grownode: not possible to store leaf parameter value - key blink123_status value 0 D (9433) gn_leaf_gpio: [blink123] - gpio 32, toggle 0, inverted 0 D (9443) gn_leaf_gpio: [blink123] task cycle.. D (11193) gn_blink: blinking - old status = 0 I (11193) gn_blink: blinking - new status = 1 D (11193) grownode: gn_leaf_parameter_update. param=status D (11203) gn_leaf_gpio: [blink123] received message: 260 D (11203) gn_leaf_gpio: [blink123] request to update param status, data = '1' D (11213) gn_leaf_gpio: written: 1 D (11213) grownode: gn_leaf_param_write_bool: after validator: 1 I (11303) grownode: looping. grownode startup status: Started, sleep mode = 0 W (11443) grownode: not possible to store leaf parameter value - key blink123_status value 1 D (11443) gn_leaf_gpio: [blink123] - gpio 32, toggle 1, inverted 0 D (11453) gn_leaf_gpio: [blink123] task cycle.. --- components/grownode/boards/gn_blink.c | 9 +++++++++ main/main.c | 12 ++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/components/grownode/boards/gn_blink.c b/components/grownode/boards/gn_blink.c index 5bc9834f..62211ff3 100644 --- a/components/grownode/boards/gn_blink.c +++ b/components/grownode/boards/gn_blink.c @@ -52,8 +52,17 @@ void gn_configure_blink(gn_node_handle_t node) { esp_log_level_set("gn_leaf_gpio", esp_log_level_get(TAG)); //fastcreate call + + // FIRST TRIAL (original board code) gn_leaf_handle_t blink = gn_gpio_fastcreate(node, "blink", 2, false, false); + // SECOND TRIAL + // gn_leaf_handle_t blink = gn_gpio_fastcreate(node, "blink", 3, false, false); + + // THIRD TRIAL + // gn_leaf_handle_t blink = gn_gpio_fastcreate(node, "blink123", 3, false, false); + + //creates a timer that fires the led blinking every 5 seconds, using esp_timer API esp_timer_handle_t timer_handler; diff --git a/main/main.c b/main/main.c index ce2c0221..e5c78385 100644 --- a/main/main.c +++ b/main/main.c @@ -22,9 +22,7 @@ #include "grownode.h" //include the board you want to start here -#include "gn_oscilloscope.h" -#include "gn_easypot1.h" -#include "gn_nft2.h" +#include "gn_blink.h" #define TASK_STACK_SIZE 8192*4 @@ -48,7 +46,7 @@ void app_main(void) { esp_log_level_set("gn_main", ESP_LOG_INFO); //core - esp_log_level_set("grownode", ESP_LOG_INFO); + esp_log_level_set("grownode", ESP_LOG_DEBUG); esp_log_level_set("gn_commons", ESP_LOG_INFO); esp_log_level_set("gn_nvs", ESP_LOG_INFO); esp_log_level_set("gn_mqtt_protocol", ESP_LOG_INFO); @@ -56,9 +54,7 @@ void app_main(void) { esp_log_level_set("gn_display", ESP_LOG_INFO); //boards - esp_log_level_set("gn_oscilloscope", ESP_LOG_INFO); - esp_log_level_set("gn_easypot1", ESP_LOG_INFO); - esp_log_level_set("gn_nft2", ESP_LOG_INFO); + esp_log_level_set("gn_blink", ESP_LOG_DEBUG); gn_config_init_param_t config_init = { .provisioning_security = true, @@ -93,7 +89,7 @@ void app_main(void) { gn_node_handle_t node = gn_node_create(config, "nft2"); //the board to start - gn_configure_nft2(node); + gn_configure_blink(node); //gn_configure_easypot1(node); //finally, start node