Closed jimmys01 closed 2 years ago
Thanks for the report. Can you please tell us what build target, platform, and IDE you're using so we can replicate this?
I'm asking because this isn't showing up in our automated build system (which is PlatformIO).
The IDE is Visual Studio with PlatformIO I can recreate it with IRrecvDumpV3 from the examples
Processing nodemcuv2 (board: nodemcuv2; platform: espressif8266; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/nodemcuv2.html
PLATFORM: Espressif 8266 (2.6.3) > NodeMCU 1.0 (ESP-12E Module)
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:
- framework-arduinoespressif8266 3.20704.0 (2.7.4)
- tool-esptool 1.413.0 (4.13)
- tool-esptoolpy 1.30000.201119 (3.0.0)
- toolchain-xtensa 2.40802.200502 (4.8.2)
Interesting.
I don't get the same result with my env. Looking through my build and your environment, it looks like this may have been an issue fixed in the more recent Espressif 8266 platform (i.e. 3.0.2 vs your 2.6.3) and framework-arduinoespressif8266 3.30002.0 (3.0.2 vs your 2.7.4)
i.e.
PLATFORM: Espressif 8266 (3.2.0) > NodeMCU 1.0 (ESP-12E Module)
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:
- framework-arduinoespressif8266 3.30002.0 (3.0.2)
- tool-esptool 1.413.0 (4.13)
- tool-esptoolpy 1.30000.201119 (3.0.0)
- toolchain-xtensa 2.100300.210717 (10.3.0)
Full output of the build below:
examples/IRrecvDumpV3$ pio run --project-dir . --environment nodemcuv2
********************************************************************************
Obsolete PIO Core v5.2.0 is used (previous was 5.2.1)
Please remove multiple PIO Cores from a system:
https://docs.platformio.org/page/faq.html#multiple-platformio-cores-in-a-system
********************************************************************************
Processing nodemcuv2 (board: nodemcuv2; platform: espressif8266; framework: arduino)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/nodemcuv2.html
PLATFORM: Espressif 8266 (3.2.0) > NodeMCU 1.0 (ESP-12E Module)
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:
- framework-arduinoespressif8266 3.30002.0 (3.0.2)
- tool-esptool 1.413.0 (4.13)
- tool-esptoolpy 1.30000.201119 (3.0.0)
- toolchain-xtensa 2.100300.210717 (10.3.0)
Converting IRrecvDumpV3.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ deep+, Compatibility ~ soft
Found 46 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <ESP8266WiFi> 1.0
|-- <ArduinoOTA> 1.0
| |-- <ESP8266WiFi> 1.0
| |-- <ESP8266mDNS> 1.2
| | |-- <ESP8266WiFi> 1.0
|-- <src>
Building in release mode
Compiling .pio/build/nodemcuv2/src/IRrecvDumpV3.ino.cpp.o
Generating LD script .pio/build/nodemcuv2/ld/local.eagle.app.v6.common.ld
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/BearSSLHelpers.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/CertStoreBearSSL.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/ESP8266WiFi.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/ESP8266WiFiAP.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/ESP8266WiFiMulti.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/ESP8266WiFiSTA.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/ESP8266WiFiScan.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/WiFiClient.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/WiFiServer.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/WiFiUdp.cpp.o
Compiling .pio/build/nodemcuv2/liba45/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o
Compiling .pio/build/nodemcuv2/lib98e/ESP8266mDNS/ESP8266mDNS.cpp.o
Compiling .pio/build/nodemcuv2/lib98e/ESP8266mDNS/LEAmDNS.cpp.o
Archiving .pio/build/nodemcuv2/liba45/libESP8266WiFi.a
Indexing .pio/build/nodemcuv2/liba45/libESP8266WiFi.a
Compiling .pio/build/nodemcuv2/lib98e/ESP8266mDNS/LEAmDNS_Control.cpp.o
Compiling .pio/build/nodemcuv2/lib98e/ESP8266mDNS/LEAmDNS_Helpers.cpp.o
Compiling .pio/build/nodemcuv2/lib98e/ESP8266mDNS/LEAmDNS_Structs.cpp.o
Compiling .pio/build/nodemcuv2/lib98e/ESP8266mDNS/LEAmDNS_Transfer.cpp.o
Compiling .pio/build/nodemcuv2/lib603/ArduinoOTA/ArduinoOTA.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/IRac.cpp.o
Archiving .pio/build/nodemcuv2/lib98e/libESP8266mDNS.a
Indexing .pio/build/nodemcuv2/lib98e/libESP8266mDNS.a
Compiling .pio/build/nodemcuv2/libd31/src/IRrecv.cpp.o
Archiving .pio/build/nodemcuv2/lib603/libArduinoOTA.a
Indexing .pio/build/nodemcuv2/lib603/libArduinoOTA.a
Compiling .pio/build/nodemcuv2/libd31/src/IRsend.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/IRtext.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/IRtimer.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/IRutils.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Airwell.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Aiwa.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Amcor.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Argo.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Arris.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Bose.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Carrier.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Coolix.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Corona.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Daikin.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Delonghi.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Denon.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Dish.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Doshisha.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Ecoclim.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Electra.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_EliteScreens.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Epson.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Fujitsu.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_GICable.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_GlobalCache.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Goodweather.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Gree.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Haier.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Hitachi.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Inax.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_JVC.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Kelon.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Kelvinator.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_LG.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Lasertag.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Lego.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Lutron.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_MWM.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Magiquest.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Metz.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Midea.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_MilesTag2.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Mirage.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Mitsubishi.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_MitsubishiHeavy.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Multibrackets.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_NEC.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Neoclima.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Nikai.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Panasonic.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Pioneer.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Pronto.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_RC5_RC6.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_RCMM.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Rhoss.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Samsung.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Sanyo.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Sharp.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Sherwood.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Sony.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Symphony.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Tcl.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Technibel.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Teco.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Teknopoint.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Toshiba.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Transcold.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Trotec.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Truma.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Vestel.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Voltas.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Whirlpool.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Whynter.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Xmp.cpp.o
Compiling .pio/build/nodemcuv2/libd31/src/ir_Zepeal.cpp.o
Archiving .pio/build/nodemcuv2/libFrameworkArduinoVariant.a
Indexing .pio/build/nodemcuv2/libFrameworkArduinoVariant.a
Compiling .pio/build/nodemcuv2/FrameworkArduino/Crypto.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/Esp-frag.cpp.o
Archiving .pio/build/nodemcuv2/libd31/libsrc.a
Indexing .pio/build/nodemcuv2/libd31/libsrc.a
Compiling .pio/build/nodemcuv2/FrameworkArduino/Esp-version.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/Esp.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/FS.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/FSnoop.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/FunctionalInterrupt.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/IPAddress.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/LwipDhcpServer-NonOS.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/LwipDhcpServer.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/LwipIntf.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/LwipIntfCB.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/MD5Builder.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/Print.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/Schedule.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/StackThunk.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/StreamSend.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/TypeConversion.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/Updater.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/WString.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/abi.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/aes_unwrap.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/base64.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/cbuf.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/cont.S.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/cont_util.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_eboot_command.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_features.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_flash_quirks.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_flash_utils.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_i2s.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_main.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_non32xfer.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_noniso.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_phy.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_postmortem.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_si2c.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_sigma_delta.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_spi_utils.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_timer.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_vm.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_waveform_phase.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_waveform_pwm.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_wiring.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_wiring_analog.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_wiring_digital.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/core_esp8266_wiring_shift.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/crc32.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/debug.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/exc-c-wrapper-handler.S.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/exc-sethandler.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/flash_hal.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/gdb_hooks.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/heap.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/hwdt_app_entry.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/libb64/cdecode.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/libb64/cencode.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/libc_replacements.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/mmu_iram.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/reboot_uart_dwnld.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/spiffs/spiffs_cache.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/spiffs/spiffs_check.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/spiffs/spiffs_gc.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/spiffs_api.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/sqrt32.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/stdlib_noniso.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/time.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/uart.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/umm_malloc/umm_info.c.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/umm_malloc/umm_integrity.c.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/umm_malloc/umm_local.c.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/umm_malloc/umm_malloc.cpp.o
Compiling .pio/build/nodemcuv2/FrameworkArduino/umm_malloc/umm_poison.c.o
Archiving .pio/build/nodemcuv2/libFrameworkArduino.a
Indexing .pio/build/nodemcuv2/libFrameworkArduino.a
Linking .pio/build/nodemcuv2/firmware.elf
Retrieving maximum program size .pio/build/nodemcuv2/firmware.elf
Checking size .pio/build/nodemcuv2/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [==== ] 35.5% (used 29072 bytes from 81920 bytes)
Flash: [==== ] 35.8% (used 373617 bytes from 1044464 bytes)
Building .pio/build/nodemcuv2/firmware.bin
Creating BIN file ".pio/build/nodemcuv2/firmware.bin" using "/home/david/.platformio/packages/framework-arduinoespressif8266/bootloaders/eboot/eboot.elf" and ".pio/build/nodemcuv2/firmware.elf"
========================= [SUCCESS] Took 37.61 seconds =========================
Environment Status Duration
------------- -------- ------------
nodemcuv2 SUCCESS 00:00:37.606
========================= 1 succeeded in 00:00:37.606 =========================
However, in the meantime, assuming you can't upgrade, I'll look to see what is the "best" fix to give you backward compatiblity.
Oh, and I'm using the current master branch head, not that I think it matters. Just for reference.
Looking through my build and your environment, it looks like this may have been an issue fixed in the more recent Espressif 8266 platform (i.e. 3.0.2 vs your 2.6.3) and framework-arduinoespressif8266 3.30002.0 (3.0.2 vs your 2.7.4)
@TD-er
Looking through my build and your environment, it looks like this may have been an issue fixed in the more recent Espressif 8266 platform (i.e. 3.0.2 vs your 2.6.3) and framework-arduinoespressif8266 3.30002.0 (3.0.2 vs your 2.7.4)
@TD-er
FWIW, that is just an educated guess. I didn't look to see if it was something that was fixed, but it wouldn't surprise me if it was something that was fixed.
@jimmys01 & @TD-er Can you please test it against your build environment? I'm going to assume it works as I've basically taking @jimmys01's suggested changes. Branch: https://github.com/crankyoldgit/IRremoteESP8266/tree/Issue1639 (PR #1640)
To save me the effort of downgrading my environment, any chance I can get you to run the following in your build env (i.e. 2.6.x) in the examples/IRrecvDumpV2
& examples/IRMQTTServer
directories:
pio run --project-dir . --environment nodemcuv2
That is to see if we can flush out any other compiler warning/error oddities I'm not finding in my build env.
Thanks in advance.
I don't know why that "custom IR" build env. is still using 2.6.3 As soon as this fix of yours is done, we may need to look into why that one is not set to 2.7.4 at least.
Still working on 3.0.x support as it had a lot more to change than I would have expected it to be.
@TD-er I'd be interested to see what "version" they fixed this in (assuming I'm correct) .. I'm hunting through to find when/where they fixed it.
Well there has been a recent merge of PR of mine regarding the way how FlashStrings are being dealt with in the String
class.
That one was mainly intended to reduce build size as you would otherwise get a lot of explicit String()
casts in the compiled binary.
But maybe that also "fixed" this issue we're seeing now.
As far as I remember, that one was merged after 3.0 was released.
My current leading candidate is: https://github.com/esp8266/Arduino/pull/7781 where they fixed/corrected the +
overload operator and rework etc.
i.e. 3.0.0
Yep, looks like a good candidate for what we're seeing here.
Concatenating directly to flashstring items used to be quite problematic in the past. Glad to know that will be less of an issue in the future :)
My review of https://github.com/esp8266/Arduino/releases looking for likely changes is 3.0.0 introduced the improvement. i.e. My guess above as the best candidate PR for the change.
Anyway. Just waiting for review etc and I'll merge the suggestions. I just fear in all the recent string work we've done there is going to be some other pre-3.0.0 compile issue that we've missed. 🤞
With the suggested changes made by @jimmys01 the build was successful. See GH actions of that build.
With the suggested changes made by @jimmys01 the build was successful. See GH actions of that build.
Thanks.
FYI, the changes mentioned above have now been included in the new v2.8.0 release of the library.
Thanks for the heads up. I guess @jimmys01 is already preparing a new PR for ESPEasy then :)
Version/revision of the library used
Latest and greatest self compiled build
Describe the bug
The Compiler is nagging about
IRutils.cpp:98:50: error: conversion from 'const __FlashStringHelper* const' to 'const StringSumHelper' is ambiguous return kDashStr + uint64ToString(-input, base);
My fix ( I do not know if is the best solution)return String(kDashStr) + uint64ToString(-input, base);
Also
My fix (also dont know if this is the best solution)
? kOffStr : String(uint64ToString(getSensorTemp()) + 'C'), kSensorTempStr);
Expected behaviour
To compile.
Keep up the excelent work Mutsos Gracias