• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ESP32, Azure IoT hub błąd kompilacji
#1
Witam i proszę o pomoc z płytką ESP32 DEVKIT V1. (konkretnie ta https://botland.com.pl/moduly-wifi-i-bt-...37438.html)
Płytkę ESP dodałem w menadżerze oraz wybrałem jako "ESP32 Dev module"(wydaje mi się że to, bo konkretnej z oznaczeniami mojej nie znalazłem tam). Następnie dodałem bibliotekę "Azure sdk for c", i z przykładów wybrałem "Azure iot hub esp32" oraz na koniec uzupełniłem odpowiednie dane w iot_config. W czasie kompilacji wyskakują mi takie błędu:
Kod:
D:\Magazyn\IOT esp32\Azure_IoT_Hub_ESP32\Azure_IoT_Hub_ESP32\Azure_IoT_Hub_ESP32.ino: In function
'void getTelemetryPayload(az_span, az_span*)':

D:\Magazyn\IOT esp32\Azure_IoT_Hub_ESP32\Azure_IoT_Hub_ESP32\Azure_IoT_Hub_ESP32.ino:303:23:
warning: ignoring return value of 'az_result az_span_u32toa(az_span, uint32_t, az_span*)',
declared with attribute warn_unused_result [-Wunused-result]

Linia 303 znajduje się w środku metody/funkcji(konkretnie linia zaczynająca się od "(void)az_spin":
Kod:
static void getTelemetryPayload(az_span payload, az_span* out_payload)
{
  az_span original_payload = payload;

  payload = az_span_copy(
              payload, AZ_SPAN_FROM_STR("{ \"msgCount\": "));
  (void)az_span_u32toa(payload, telemetry_send_count++, &payload);
  payload = az_span_copy(payload, AZ_SPAN_FROM_STR(" }"));
  payload = az_span_copy_u8(payload, '\0');

  *out_payload = az_span_slice(original_payload, 0, az_span_size(original_payload) - az_span_size(payload));
}

Postępowałem zgodnie z filmem na yt "IoTTuesday #057: Exploring Azure SDK for Embedded C Arduino Part 2" i pod koniec autor ma ten sam błąd. ale jak przeczytałem na oficjalnym gicie azure do tej płytki postępowałem tak jak kazali.
Może ktoś wie jak rozwiązać ten problem, prosił bym o wyjaśnienie. Z miejsca dziękuję za wszelką pomoc.
 
Odpowiedź
#2
Daj cały raport kompilacji.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#3
Kod:
D:\Magazyn\INŻYNIER\IOT esp32\Azure_IoT_Hub_ESP32\Azure_IoT_Hub_ESP32\Azure_IoT_Hub_ESP32.ino: In function 'void getTelemetryPayload(az_span, az_span*)':
D:\Magazyn\INŻYNIER\IOT esp32\Azure_IoT_Hub_ESP32\Azure_IoT_Hub_ESP32\Azure_IoT_Hub_ESP32.ino:303:23: warning: ignoring return value of 'az_result az_span_u32toa(az_span, uint32_t, az_span*)', declared with attribute warn_unused_result [-Wunused-result]
Szkic używa 824201 bajtów (62%) pamięci programu. Maksimum to 1310720 bajtów.
Zmienne globalne używają 41856 bajtów (12%) pamięci dynamicznej, pozostawiając 285824 bajtów dla zmiennych lokalnych. Maksimum to 327680 bajtów.
 Sorry, nie wiedziałem że te komunikaty na biało też są ważne.
 
Odpowiedź
#4
Błąd związany jest z nieużywaniem uint32_t zwracanym przez funkcję, ktoś dodał (void) żeby pozbyć się takiego komunikatu:
(void)az_span_u32toa(payload, telemetry_send_count++, &payload);
Spróbuj ten (void) usunąć i zobacz co będzie Smile
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości