PlatformIO i -biblioteka SUPLA

Tomasz1981
Posty: 8
Rejestracja: pt maja 07, 2021 3:58 pm

Witam, mam problem z biblioteką Supla pod PlatformIO. W Arduino IDE kompiluje sie bez problemu natomiast w PlatformIO (VSC) wyrzuca błędy kompilacji. Nie mogę sobie z tym poradzić. Proszę o wskazówki i pomoc

Kod: Zaznacz cały

#include <Arduino.h>

#include <WiFiClient.h>
#include <SuplaDevice.h>
#include <EEPROM.h>

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

błędy:
Processing d1_mini_pro (platform: espressif8266; board: d1_mini_pro; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards ... i_pro.html
PLATFORM: Espressif 8266 (3.1.0) > WeMos D1 mini Pro
HARDWARE: ESP8266 80MHz, 80KB RAM, 16MB Flash
PACKAGES:
- framework-arduinoespressif8266 3.30001.210627 (3.0.1)
- tool-esptool 1.413.0 (4.13)
- tool-esptoolpy 1.30000.201119 (3.0.0)
- toolchain-xtensa 2.100300.210717 (10.3.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 36 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <SuplaDevice> 2.3.5
| |-- <Ticker> 1.0
| |-- <ESP8266WiFi> 1.0
| |-- <EEPROM> 1.0
|-- <EEPROM> 1.0
|-- <ESP8266WiFi> 1.0
Building in release mode
Compiling .pio/build/d1_mini_pro/libbbe/SuplaDevice/supla/sensor/Si7021_sonoff.cpp.o
Compiling .pio/build/d1_mini_pro/libbbe/SuplaDevice/supla/sensor/impulse_counter.cpp.o
Compiling .pio/build/d1_mini_pro/libbbe/SuplaDevice/supla/sensor/therm_hygro_meter.cpp.o
Compiling .pio/build/d1_mini_pro/libbbe/SuplaDevice/supla/sensor/therm_hygro_press_meter.cpp.o
In file included from .pio/libdeps/d1_mini_pro/SuplaDevice/src/supla/sensor/Si7021_sonoff.cpp:17:
.pio/libdeps/d1_mini_pro/SuplaDevice/src/supla/sensor/Si7021_sonoff.h: In constructor 'Supla::Sensor::Si7021Sonoff::Si7021Sonoff(int)':
.pio/libdeps/d1_mini_pro/SuplaDevice/src/supla/sensor/Si7021_sonoff.h:43:10: warning: 'Supla::Sensor::Si7021Sonoff::humidity' will be initialized after [-Wreorder]
43 | double humidity;
| ^~~~~~~~
.pio/libdeps/d1_mini_pro/SuplaDevice/src/supla/sensor/Si7021_sonoff.h:41:10: warning: 'int8_t Supla::Sensor::Si7021Sonoff::pin' [-Wreorder]
41 | int8_t pin;
| ^~~
.pio/libdeps/d1_mini_pro/SuplaDevice/src/supla/sensor/Si7021_sonoff.cpp:21:1: warning: when initialized here [-Wreorder]
21 | Si7021Sonoff::Si7021Sonoff(int pin)
| ^~~~~~~~~~~~
.pio/libdeps/d1_mini_pro/SuplaDevice/src/supla/sensor/Si7021_sonoff.cpp: In member function 'bool Supla::Sensor::Si7021Sonoff::read()':
.pio/libdeps/d1_mini_pro/SuplaDevice/src/supla/sensor/Si7021_sonoff.cpp:106:1: error: no return statement in function returning non-void [-Werror=return-type]
106 | }
| ^
Compiling .pio/build/d1_mini_pro/libbbe/SuplaDevice/supla/sensor/thermometer.cpp.o
cc1plus: some warnings being treated as errors
*** [.pio/build/d1_mini_pro/libbbe/SuplaDevice/supla/sensor/Si7021_sonoff.cpp.o] Error 1
============================================================================= [FAILED] Took 1.78 seconds =============================================================================
Działanie procesu terminalu „platformio 'run', '--environment', 'd1_mini_pro'” zostało zakończone z kodem zakończenia: 1.

Terminal zostanie ponownie użyty przez zadania. Naciśnij dowolny klawisz, aby go zamknąć.

Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

Kompilatory bardziej zaawansowane od Arduino IDE sprawdzają czy funkcje, które w deklaracji zwracają jakąś wartość faktycznie tą wartość zwrócą. Jeśli nie ma takiej pewności wyrzucają błąd. Autor kodu powinien to poprawić. Możesz też sam poprawić i przesłać PR do repozytorium biblioteki na githubie.
@klew jest sprawa do Ciebie ;)
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Tomasz1981
Posty: 8
Rejestracja: pt maja 07, 2021 3:58 pm

Dzięki, za odpowiedź. Nie jestem za dobry w te klocki. Będę musiał prosić autora o pomoc w rozwiązaniu tego problwmu
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

Spróbuj dodać
build_flags = -w
do platformie.ini

tu masz więcej o flagach przy kompilacji
https://docs.platformio.org/en/latest/p ... uild-flags
https://gui-generic-builder.supla.io/
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

krycha88 pisze: sob sie 14, 2021 5:24 pm Spróbuj dodać
build_flags = -w
do platformie.ini

tu masz więcej o flagach przy kompilacji
https://docs.platformio.org/en/latest/p ... uild-flags
To jest jakieś wyjście dla tych co kompilują sobie sami soft, ale developerzy nie powinni sobie tego włączać :D żeby takich sytuacji uniknąć :D
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Jakby co to nie ja jestem autorem tego kodu :p
Wrzucę poprawkę
Widzimy się na Supla Offline Party vol. 2 :!:
Tomasz1981
Posty: 8
Rejestracja: pt maja 07, 2021 3:58 pm

Super, proszę o info jak już będzie po poprawce
krycha88
Posty: 5187
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

klew pisze: sob sie 14, 2021 6:17 pm Jakby co to nie ja jestem autorem tego kodu :p
Wrzucę poprawkę
Coś czuję, że będzie więcej takich ostrzeżeń ;)

Zwłaszcza jak zacznie się dodawać inne biblioteki. Więc mój sposób jest optymalny :D
https://gui-generic-builder.supla.io/
Awatar użytkownika
pzygmunt
Posty: 18284
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Funkcje/metody, które powinny zwracać jakaś wartość, a zwracają random to proszenie się o kłopoty. Osobiście nie wyłączałbym takich ostrzeżeń, a wręcz pozostawiłbym to jako błąd kompilacji.
Tomasz1981
Posty: 8
Rejestracja: pt maja 07, 2021 3:58 pm

klew pisze: sob sie 14, 2021 6:17 pm Jakby co to nie ja jestem autorem tego kodu :p
Wrzucę poprawkę
Hej i jak udało się zrobić poprawkę?
ODPOWIEDZ

Wróć do „Arduino IDE”