arendst / Tasmota

Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
https://tasmota.github.io/docs
GNU General Public License v3.0
21.69k stars 4.72k forks source link

Range extender compilation errors with Platformio #21621

Closed fdaubercy closed 2 weeks ago

fdaubercy commented 2 weeks ago

PROBLEM DESCRIPTION

A clear and concise description of what the problem is.

REQUESTED INFORMATION

Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!

- [ ] If using rules, provide the output of this command: `Backlog Rule1; Rule2; Rule3`:
```lua
  Rules output here:
- [ ] Set `weblog` to 4 and then, when you experience your issue, provide the output of the Console log:
```lua
  Console output here:

TO REPRODUCE

Steps to reproduce the behavior:

EXPECTED BEHAVIOUR

Hi all. I ask for your help.

I can't compile properly with platformio on an ESP32 with a personal firmware integrating Range extender. Here are the parameters placed in the platformio-tasmota-cenv.ini file:

[env:tasmota32-serveur-debitmetres-pac]
upload_port             = COM5
monitor_port            = COM5
extends                 = env:tasmota32_base
build_flags             = ${env:tasmota32_base.build_flags}
                            -D FIRMWARE_TASMOTA32
                            -D MY_LANGUAGE=fr_FR 
                            -D FIRMWARE_SERVEUR_DEBITMETRES_PAC
                            -D OTA_URL='"http://ota.tasmota.com/tasmota32/release/tasmota32-FR.bin"'

                            -D USE_WIFI_RANGE_EXTENDER
                            -D USE_WIFI_RANGE_EXTENDER_NAPT

This configuration only works up to version 13.4.0.

I'm trying to compile with versions v14.0.0 and v14.1.0 but I'm getting the following compilation errors (see in the section 'ADDITIONAL CONTEXT' below) :

The following configuration provided in the tasmota doc also does not work :

[env:tasmota32-rangeextender]
extends                 = env:tasmota32idf4
build_flags             = ${env:tasmota32idf4.build_flags}
                          -D FIRMWARE_TASMOTA32
                          -D USE_WIFI_RANGE_EXTENDER
                          -D USE_WIFI_RANGE_EXTENDER_NAPT

PS: Note that before each build, I cleaned up with the "Full Clean" command from platformio.

Thank you for the help you can give me. Frédéric

SCREENSHOTS

If applicable, add screenshots to help explain your problem.

ADDITIONAL CONTEXT

Processing tasmota32-serveur-debitmetres-pac (framework: arduino; platform: https://github.com/tasmota/platform-espressif32/releases/download/2024.05.13/platform-espressif32.zip; board: esp32)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
Nothing more to solidify
-DCONFIG_TASMOTA_FLASHMODE_DIO
*** use provided user_config_override.h as planned *** 
*** use provided platformio_override.ini as planned ***
*** use provided platformio_tasmota_cenv.ini as planned ***
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32.html
PLATFORM: Espressif 32 (2024.5.13) > Espressif Generic ESP32 >= 4M Flash PSRAM, Tasmota 2880k Code/OTA, 320k FS
HARDWARE: ESP32 160MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - framework-arduinoespressif32 @ 3.0.0+sha.14a0ebd
 - tool-esptoolpy @ 4.7.3
 - tool-mklittlefs @ 3.2.0
 - tool-riscv32-esp-elf-gdb @ 11.2.0+20220823 
 - tool-xtensa-esp-elf-gdb @ 11.2.0+20230208
 - toolchain-xtensa-esp32 @ 12.2.0+20230208
Converting tasmota.ino
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ strict
Found 125 compatible libraries
Scanning dependencies...
Dependency Graph
|-- Adafruit CCS811 Library @ 1.0.0
|-- Adafruit MAX31865 library @ 1.0.1
|-- Adafruit MCP9808 Library @ 1.1.2
|-- Adafruit PM25 AQI Sensor @ 1.0.6
|-- Adafruit seesaw Library @ 1.3.1
|-- Adafruit SGP30 Sensor @ 1.2.0
|-- Adafruit SGP40 Sensor @ 1.1.0
|-- Adafruit VEML7700 Library @ 1.0.0
|-- ESP8266Audio @ 1.9.5
|-- Berry @ 7.0
|-- Berry animation library for WS2812 leds @ 0.1
|-- Berry custom template @ 0.1
|-- Berry Matter protocol implementation @ 0.1
|-- Berry Tasmota mapping @ 1.0
|-- Berry int64 implementation for 32 bits architecture @ 1.0
|-- HASPmota @ 1.0
|-- Berry mapping to C @ 1.0
|-- BME8563
|-- headers
|-- ccronexpr
|-- WebServer @ 2.0.0
|-- EEPROM 24C128_256_521
|-- ESP32-to-ESP8266-compat @ 0.0.2
|-- FFat @ 2.0.0
|-- FS @ 2.0.0
|-- ams @ 1.0
|-- HttpClient light @ 1.0
|-- I2Cdevlib-Core
|-- LibTeleinfo @ 1.1.7
|-- lvgl @ 9.1.0
|-- Berry mapping to LVGL @ 1.0
|-- arduino-mcp2515-1.0.1
|-- MPU6050 I2C
|-- Mutichannel_Gas_Sensor @ 0.0.1
|-- esp-nimble-cpp @ 1.4.1
|-- NTP Library
|-- OpenTherm Library @ 0.9.0
|-- Process_control @ 1.0.0
|-- re1.5 @ 0.9
|-- ScioSense ENS16x @ 8.0.0
|-- ScioSense ENS210 @ 3.0.0
|-- Sensirion I2C SGP41 @ 0.1.0
|-- SevenSegmentTM1637 @ 1.1.0
|-- SPL06-007 @ 0.1.0
|-- ESP Mail Client @ 3.4.9
|-- LVGL_assets @ 7.0
|-- UdpListener @ 1.0
|-- Unishox Compressor Decompressor highly customized and optimized for ESP8266 and Tasmota @ 1.0
|-- VL53L0X @ 1.0.2
|-- VL53L1X @ 1.0.1
|-- TLS mini client derived from Arduino @ 1.0
|-- Zip-readonly-FS @ 1.0
|-- A4988_Stepper @ 0.0.1
|-- Adafruit Fingerprint Sensor Library @ 2.1.0
|-- Adafruit GFX Library @ 1.5.6
|-- Adafruit LED Backpack Library @ 1.1.6
|-- Adafruit TSL2591
|-- base64 @ 1.1.1
|-- BME68x
|-- Micro-RTSP @ 0.1.6
|-- DHT sensor library @ 1.4.3
|-- DNSServer @ 2.0.0
|-- DS2480 Library @ 0.1.0
|-- Waveshare esp 2.9 inch e-paper display driver @ 1.0
|-- Waveshare esp 4.2 inch e-paper display driver @ 1.0
|-- Display renderer @ 1.0
|-- ESP KNX IP Library @ 0.5.2
|-- ESP8266SAM @ 1.0.1
|-- ESPFtpServer @ 0.1.0
|-- Ethernet @ 2.0.0
|-- Ext-printf @ 1.0
|-- FrogmoreScd30
|-- FrogmoreScd40
|-- FT5206_Library @ 1.0.0
|-- GT911
|-- HPMA115S0 Arduino Library @ 1.0.0
|-- IRremoteESP8266 @ 2.8.6
|-- JSMN JSON parser customized and optimized for ESP8266 and Tasmota @ 1.0
|-- KeeloqLib @ 1.1
|-- mp3_shine_esp32 @ 1.0.0
|-- LedControl @ 1.0.6
|-- LinkedList
|-- LiquidCrystal_I2C
|-- LittleFS @ 2.0.0
|-- TasmotaLList @ 1.0
|-- LOLIN_HP303B @ 1.0.0
|-- LoRa @ 0.8.0
|-- MFRC522 @ 1.4.7
|-- MLX90640
|-- MPU_accel
|-- NeoPixelBus @ 2.6.7
|-- NewPing @ 1.9.1
|-- OneWire @ 2.3.2
|-- PubSubClient @ 2.8
|-- RA8876 @ 1.0.2
|-- RadioLib @ 6.4.2
|-- rc-switch @ 1.0.0
|-- RF24 @ 1.3.3
|-- SD @ 2.0.0
|-- SD_MMC @ 2.0.0
|-- Sensirion I2C SEN5X @ 0.2.0
|-- SPI @ 2.0.0
|-- TasmotaModbus @ 3.6.0
|-- TasmotaSerial @ 3.6.0
|-- Ticker @ 2.0.0
|-- TM1638plus @ 1.7.0
|-- Joba_Tsl2561 @ 2.0.10
|-- BearSSL @ 0.6
|-- universal display Library @ 0.1
|-- WiFiHelper @ 1.0.0
|-- WiFi @ 2.0.0
|-- Wire @ 2.0.0
|-- XPT2046_Touchscreen
Building in release mode
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\src\tasmota.ino.cpp.o
Building .pio\build\tasmota32-serveur-debitmetres-pac\bootloader.bin
Retrieved `.pio\build\tasmota32-serveur-debitmetres-pac\partitions.bin' from cache
esptool.py v4.7.3
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\libff5\Wire\Wire.cpp.o
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\lib62a\Adafruit_CCS811-1.0.0.14\Adafruit_CCS811.cpp.o
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\lib3dc\SPI\SPI.cpp.o
Archiving .pio\build\tasmota32-serveur-debitmetres-pac\libff5\libWire.a
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\lib2f3\Adafruit_MAX31865-1.1.0-custom\Adafruit_MAX31865.cpp.o
Archiving .pio\build\tasmota32-serveur-debitmetres-pac\lib62a\libAdafruit_CCS811-1.0.0.14.a
Archiving .pio\build\tasmota32-serveur-debitmetres-pac\lib3dc\libSPI.a
In file included from tasmota/include/i18n.h:893,
                 from C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota.ino:32:
tasmota/language/fr_FR.h:719: warning: "D_SENSOR_SDIO_CMD" redefined
  719 | #define D_SENSOR_SDIO_CMD      "SDIO CMD"
      |
tasmota/language/fr_FR.h:715: note: this is the location of the previous definition
  715 | #define D_SENSOR_SDIO_CMD      "SDIO Cmd"
      |
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\lib513\Adafruit_MCP9808_Tasmota\Adafruit_MCP9808.cpp.o
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\lib830\Adafruit_BusIO\Adafruit_BusIO_Register.cpp.o
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino:65:2: warning: #warning **** USE_WIFI_RANGE_EXTENDER is enabled **** [-Wcpp]
   65 | #warning **** USE_WIFI_RANGE_EXTENDER is enabled ****
      |  ^~~~~~~
Archiving .pio\build\tasmota32-serveur-debitmetres-pac\lib2f3\libAdafruit_MAX31865-1.1.0-custom
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\lib830\Adafruit_BusIO\Adafruit_I2CDevice.cpp.o
Archiving .pio\build\tasmota32-serveur-debitmetres-pac\lib513\libAdafruit_MCP9808_Tasmota.a
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\lib830\Adafruit_BusIO\Adafruit_SPIDevice.cpp.o
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\lib241\Adafruit_PM25AQI-1.0.6\Adafruit_PM25AQI.cpp.o
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino: In function 'void CmndRgxClients()':
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino:185:3: error: 'tcpip_adapter_sta_list_t' was not declared in this scope; did you mean 'tcpip_adapter_if_t'?
  185 |   tcpip_adapter_sta_list_t adapter_sta_list = {0};
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
      |   tcpip_adapter_if_t
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino:188:47: error: 'adapter_sta_list' was not declared in this scope
  188 |   tcpip_adapter_get_sta_list(&wifi_sta_list, &adapter_sta_list);
      |                                               ^~~~~~~~~~~~~~~~
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino:188:3: error: 'tcpip_adapter_get_sta_list' was not declared in this 
scope
  188 |   tcpip_adapter_get_sta_list(&wifi_sta_list, &adapter_sta_list);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino: In function 'void rngxSetup()':
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino:403:3: error: 'tcpip_adapter_dns_info_t' was not declared in this scope; did you mean 'tcpip_adapter_if_t'?
  403 |   tcpip_adapter_dns_info_t ip_dns;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
      |   tcpip_adapter_if_t
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino:405:9: error: 'tcpip_adapter_dhcps_stop' was not declared in this scope; did you mean 'tcpip_adapter_if_t'?
  405 |   err = tcpip_adapter_dhcps_stop(TCPIP_ADAPTER_IF_AP);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
      |         tcpip_adapter_if_t
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino:406:79: error: 'ip_dns' was not declared in this scope
  406 |   err = tcpip_adapter_get_dns_info(TCPIP_ADAPTER_IF_STA, ESP_NETIF_DNS_MAIN, &ip_dns);
      |                                                                               ^~~~~~
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino:406:9: error: 'tcpip_adapter_get_dns_info' was not declared in this 
scope
  406 |   err = tcpip_adapter_get_dns_info(TCPIP_ADAPTER_IF_STA, ESP_NETIF_DNS_MAIN, &ip_dns);
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\lib43e\Adafruit_seesaw_soilsensor_1.3.1\Adafruit_seesaw.cpp.o
      |         ^~~~~~~~~~~~~~~~~~~~~~~Archiving .pio\build\tasmota32-serveur-debitmetres-pac\lib830\libAdafruit_BusIO.a
~~~
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino:407:9: error: 'tcpip_adapter_set_dns_info' was not declared in this 
scope
  407 |   err = tcpip_adapter_set_dns_info(TCPIP_ADAPTER_IF_AP, ESP_NETIF_DNS_MAIN, &ip_dns);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino:409:3: error: 'tcpip_adapter_dhcps_option' was not declared in this 
scope
  409 |   tcpip_adapter_dhcps_option(ESP_NETIF_OP_SET, ESP_NETIF_DOMAIN_NAME_SERVER, &opt_val, 1);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
C:/Users/fdaub/Documents/Github/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_58_range_extender.ino:410:9: error: 'tcpip_adapter_dhcps_start' was not declared in this scope; did you mean 'tcpip_adapter_if_t'?
  410 |   err = tcpip_adapter_dhcps_start(TCPIP_ADAPTER_IF_AP);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
      |         tcpip_adapter_if_t
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\lib64d\Adafruit_SGP30-1.2.0\Adafruit_SGP30.cpp.o
Archiving .pio\build\tasmota32-serveur-debitmetres-pac\lib241\libAdafruit_PM25AQI-1.0.6.a
*** [.pio\build\tasmota32-serveur-debitmetres-pac\src\tasmota.ino.cpp.o] Error 1
Compiling .pio\build\tasmota32-serveur-debitmetres-pac\libc97\Adafruit_SGP40-1.1.0\Adafruit_SGP40.cpp.o
================================================================== [FAILED] Took 312.19 seconds ==================================================================

Environment                        Status    Duration
---------------------------------  --------  ------------
tasmota32-serveur-debitmetres-pac  FAILED    00:05:12.186
============================================================== 1 failed, 0 succeeded in 00:05:12.186 ==============================================================
 *  Arrêt du processus de terminal "C:\Users\fdaub\.platformio\penv\Scripts\platformio.exe 'run', '--environment', 'tasmota32-serveur-debitmetres-pac'". Code de sortie : 1. 
 *  Le terminal sera réutilisé par les tâches, appuyez sur une touche pour le fermer. 

(Please, remember to close the issue when the problem has been addressed)

Jason2866 commented 2 weeks ago

closing since duplicate of #21200

sfromis commented 2 weeks ago

The release notes also warns about the range extender functionality not being restored to work with Arduino Core3. https://github.com/arendst/Tasmota/blob/development/RELEASENOTES.md#known-issues-with-v1410