diff --git a/examples/deep_sleep/main/main.cpp b/examples/deep_sleep/main/main.cpp index 09a6e0f..7165903 100644 --- a/examples/deep_sleep/main/main.cpp +++ b/examples/deep_sleep/main/main.cpp @@ -15,6 +15,8 @@ #include "esp_sleep.h" #include "freertos/FreeRTOS.h" #include "nvs_flash.h" +#include +#include #include "TheThingsNetwork.h" @@ -47,7 +49,9 @@ const char *appKey = "????????????????????????????????"; static TheThingsNetwork ttn; const unsigned TX_INTERVAL = 60; -static uint8_t msgData[] = "Hello, world"; + +// This counter value is retained (in RTC memory) during deep sleep +RTC_DATA_ATTR int counter_in_rtc_mem; void messageReceived(const uint8_t *message, size_t length, ttn_port_t port) { @@ -111,7 +115,10 @@ extern "C" void app_main(void) } printf("Sending message...\n"); - TTNResponseCode res = ttn.transmitMessage(msgData, sizeof(msgData) - 1); + counter_in_rtc_mem++; + char message[20]; + sprintf(message, "Hello %d", counter_in_rtc_mem); + TTNResponseCode res = ttn.transmitMessage((uint8_t *)message, strlen(message)); printf(res == kTTNSuccessfulTransmission ? "Message sent.\n" : "Transmission failed.\n"); // Wait until TTN communication is idle and save state diff --git a/examples/deep_sleep_in_c/main/main.c b/examples/deep_sleep_in_c/main/main.c index 0c1e80f..c3b3c0d 100644 --- a/examples/deep_sleep_in_c/main/main.c +++ b/examples/deep_sleep_in_c/main/main.c @@ -16,6 +16,8 @@ #include "nvs_flash.h" #include "esp_log.h" #include "esp_sleep.h" +#include +#include #include "ttn.h" @@ -46,7 +48,9 @@ const char *appKey = "????????????????????????????????"; #define TTN_PIN_DIO1 35 #define TX_INTERVAL 60 // in sec -static uint8_t msgData[] = "Hello, world"; + +// This counter value is retained (in RTC memory) during deep sleep +RTC_DATA_ATTR int counter_in_rtc_mem; void messageReceived(const uint8_t* message, size_t length, ttn_port_t port) @@ -113,7 +117,10 @@ void app_main(void) } printf("Sending message...\n"); - ttn_response_code_t res = ttn_transmit_message(msgData, sizeof(msgData) - 1, 1, false); + counter_in_rtc_mem++; + char message[20]; + sprintf(message, "Hello %d", counter_in_rtc_mem); + ttn_response_code_t res = ttn_transmit_message((uint8_t *)message, strlen(message), 1, false); printf(res == TTN_SUCCESSFUL_TRANSMISSION ? "Message sent.\n" : "Transmission failed.\n"); // Wait until TTN communication is idle and save state diff --git a/examples/hello_world_in_c/main/main.c b/examples/hello_world_in_c/main/main.c index a7113f7..04dad5d 100644 --- a/examples/hello_world_in_c/main/main.c +++ b/examples/hello_world_in_c/main/main.c @@ -105,7 +105,7 @@ void app_main(void) // ttn_set_max_tx_pow(14); printf("Joining...\n"); - if (ttn_join_provisioned()) + if (ttn_join()) { printf("Joined.\n"); xTaskCreate(sendMessages, "send_messages", 1024 * 4, (void* )0, 3, NULL);