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 wrote: ↑Sat Oct 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
-
- Posts: 2279
- Joined: Sun Sep 03, 2017 9:13 am
- Location: Koszalin
jak coś nie działa to włącz zasilanie.....
-
- Posts: 16
- Joined: Thu Sep 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....
-
- Posts: 8357
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Pokaż jaki masz błąd
Widzimy się na Supla Offline Party vol. 2
-
- Posts: 16
- Joined: Thu Sep 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
Code: Select all
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"
Code: Select all
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.
-
- Posts: 5208
- Joined: Fri Nov 16, 2018 7:25 am
Masz dwa wyjścia:marek.rz@poczta.fm wrote: ↑Sun Oct 17, 2021 8:31 amCode: Select all
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:
Code: Select all
unsigned long time_diff = abs(_millis - last_iterate_time);
Code: Select all
unsigned long time_diff = _millis - last_iterate_time;
https://gui-generic-builder.supla.io/
-
- Posts: 16
- Joined: Thu Sep 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?
-
- Posts: 2814
- Joined: Mon Dec 11, 2017 9:43 pm
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
-
- Posts: 8357
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
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
-
- Posts: 2814
- Joined: Mon Dec 11, 2017 9:43 pm
Unsigned
Czekam na kolejne Supla Offline Party