Jak chcesz skompilować dokładnie ten kod pod Airly kolegi Duch_ to napisz na priv to podeślę Tobie te stare biblioteki.marek.rz@poczta.fm pisze: ↑sob paź 16, 2021 10:48 am Dokładnie te biblioteki mam teraz zainstalowane. A czy jest możliwe, że ten przykładowy kod, utworzony w styczniu 2020 r., był na innych starszych bibliotekach i teraz prawie po dwóch latach one się zmieniły i dlatego kod się nie kompiluje?
kompilacja GUI Generic pod Arduino IDE
jak coś nie działa to włącz zasilanie.....
-
- Posty: 16
- Rejestracja: czw wrz 09, 2021 5:07 am
Witam, właśnie podstawiłem przesłane przez kolegę QLQ starsze biblioteki SuplaDevice i niestety kod się nie skompilował.
"Błąd kompilacji dla płytki Generic ESP8266 Module."
Ten sam błąd wychodził mi wcześniej przy próbie kompilacji innych kodów.
Nie mam pojęcia co robię nie tak....
"Błąd kompilacji dla płytki Generic ESP8266 Module."
Ten sam błąd wychodził mi wcześniej przy próbie kompilacji innych kodów.
Nie mam pojęcia co robię nie tak....
-
- Posty: 16
- Rejestracja: czw wrz 09, 2021 5:07 am
Cały skopiowany opis błędów nie mieści się w dopuszczalnej ilości znaków w poście. Wkleję więc fragment, nie wiem tylko czy dobry
Kod: Zaznacz cały
Arduino:1.8.16 (Windows 10), Płytka:"Generic ESP8266 Module, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers
(most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, dtr (aka nodemcu), 26 MHz, 40MHz,
DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory,
Disabled, None, Only Sketch, 115200"
Kod: Zaznacz cały
C:\Users\marek\Documents\Arduino\libraries\SuplaDevice\SuplaDevice.cpp: In member function 'void SuplaDeviceClass::iterate()':
C:\Users\marek\Documents\Arduino\libraries\SuplaDevice\SuplaDevice.cpp:1327:60: error: call of overloaded 'abs(long unsigned int)' is ambiguous
1327 | unsigned long time_diff = abs(_millis - last_iterate_time);
| ^
In file included from c:\users\marek\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed\xtensa-lx106-elf\include\c++\10.3.0\cstdlib:75,
from c:\users\marek\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed\xtensa-lx106-elf\include\c++\10.3.0\stdlib.h:36,
from C:\Users\marek\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/Arduino.h:27,
from C:\Users\marek\Documents\Arduino\libraries\SuplaDevice\SuplaDevice.cpp:19:
c:\users\marek\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed\xtensa-lx106-elf\include\stdlib.h:74:5: note: candidate: 'int abs(int)'
74 | int abs (int);
| ^~~
In file included from c:\users\marek\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed\xtensa-lx106-elf\include\c++\10.3.0\cstdlib:77,
from c:\users\marek\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed\xtensa-lx106-elf\include\c++\10.3.0\stdlib.h:36,
from C:\Users\marek\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/Arduino.h:27,
from C:\Users\marek\Documents\Arduino\libraries\SuplaDevice\SuplaDevice.cpp:19:
c:\users\marek\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed\xtensa-lx106-elf\include\c++\10.3.0\bits\std_abs.h:79:3: note: candidate: 'constexpr long double std::abs(long double)'
79 | abs(long double __x)
| ^~~
c:\users\marek\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed\xtensa-lx106-elf\include\c++\10.3.0\bits\std_abs.h:75:3: note: candidate: 'constexpr float std::abs(float)'
75 | abs(float __x)
| ^~~
c:\users\marek\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed\xtensa-lx106-elf\include\c++\10.3.0\bits\std_abs.h:71:3: note: candidate: 'constexpr double std::abs(double)'
71 | abs(double __x)
| ^~~
c:\users\marek\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed\xtensa-lx106-elf\include\c++\10.3.0\bits\std_abs.h:61:3: note: candidate: 'long long int std::abs(long long int)'
61 | abs(long long __x) { return __builtin_llabs (__x); }
| ^~~
c:\users\marek\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.0.4-gcc10.3-1757bed\xtensa-lx106-elf\include\c++\10.3.0\bits\std_abs.h:56:3: note: candidate: 'long int std::abs(long int)'
56 | abs(long __i) { return __builtin_labs(__i); }
| ^~~
"C:\\Users\\marek\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.4-gcc10.3-1757bed/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE "-IC:\\Users\\marek\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/include" "-IC:\\Users\\marek\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/lwip2/include" "-IC:\\Users\\marek\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\marek\\AppData\\Local\\Temp\\arduino_build_702894/core" -c -w -Werror=return-type -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10816 -DARDUINO_ESP8266_GENERIC -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_GENERIC\"" -DLED_BUILTIN=2 -DFLASHMODE_DOUT -DESP8266 "-IC:\\Users\\marek\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266" "-IC:\\Users\\marek\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\variants\\generic" "-IC:\\Users\\marek\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\SPI" "-IC:\\Users\\marek\\Documents\\Arduino\\libraries\\SuplaDevice" "-IC:\\Users\\marek\\Documents\\Arduino\\libraries\\ArduinoJson-6.14.0\\src" "-IC:\\Users\\marek\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\EEPROM" "-IC:\\Users\\marek\\Documents\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\marek\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\ESP8266WiFi\\src" "C:\\Users\\marek\\Documents\\Arduino\\libraries\\SuplaDevice\\network.cpp" -o "C:\\Users\\marek\\AppData\\Local\\Temp\\arduino_build_702894\\libraries\\SuplaDevice\\network.cpp.o"
Użycie biblioteki SPI w wersji 1.0 z folderu: C:\Users\marek\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\SPI
Użycie biblioteki SuplaDevice w wersji 2.3 z folderu: C:\Users\marek\Documents\Arduino\libraries\SuplaDevice
Użycie biblioteki ArduinoJson-6.14.0 w wersji 6.14.0 z folderu: C:\Users\marek\Documents\Arduino\libraries\ArduinoJson-6.14.0
Użycie biblioteki EEPROM w wersji 1.0 z folderu: C:\Users\marek\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\EEPROM
Użycie biblioteki Adafruit_NeoPixel w wersji 1.3.4 z folderu: C:\Users\marek\Documents\Arduino\libraries\Adafruit_NeoPixel
Użycie biblioteki ESP8266WiFi w wersji 1.0 z folderu: C:\Users\marek\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WiFi
exit status 1
Błąd kompilacji dla płytki Generic ESP8266 Module.
Masz dwa wyjścia:marek.rz@poczta.fm pisze: ↑ndz paź 17, 2021 8:31 amKod: Zaznacz cały
C:\Users\marek\Documents\Arduino\libraries\SuplaDevice\SuplaDevice.cpp: In member function 'void SuplaDeviceClass::iterate()': C:\Users\marek\Documents\Arduino\libraries\SuplaDevice\SuplaDevice.cpp:1327:60: error: call of overloaded 'abs(long unsigned int)' is ambiguous
1. kompilowanie kodu w wersjach poniżej 3.0.0
2. lub usunięcie abs w SuplaDevice.cpp czyli:
zamieniasz:
Kod: Zaznacz cały
unsigned long time_diff = abs(_millis - last_iterate_time);
Kod: Zaznacz cały
unsigned long time_diff = _millis - last_iterate_time;
https://gui-generic-builder.supla.io/
-
- Posty: 16
- Rejestracja: czw wrz 09, 2021 5:07 am
Po stokroć dzięki koledze Krycha88!!!!. Człek siedzi godzinami i kombinuje a tu wystarczy trzy literki usunąć . A tak przy okazji czy przez tą modyfikację ominie mnie jakaś funkcjonalność skompilowanego programu?
Jak usunąłeś abs() to przy założeniu, że _millis będzie mniejsze od last_iterate_time, to dostaniesz wynik ujemny. Z abs() zawsze jest dodatni, nie ważne co od czego odejmujesz. Czy mniejsze od większego, czy większe od mniejszego
Czekam na kolejne Supla Offline Party
Jeśli oba odejmowane typy są "unsigned', to wynik odejmowania będzie zawsze dodani. Po zejściu poniżej 0, liczba się "przekręca".
Np.
unsigned char a = 0;
unsigned char b = 1;
unsigned char delta = a - b; // delta == 255
Widzimy się na Supla Offline Party vol. 2