PlatformIO Version (platformio --version): PlatformIO Core, version 6.0.2
Description of problem
I'm faceing problem when compilig the BIN file with #define USE_IR_REMOTE_FULL parameter included in user_config_override.h.
Terminal indicates problem inside xdrv_05_irremote_full.ino libary. Location:557:13: Error description: 'class IRsend' has no member named 'sendGC' irsend->sendGC(GC, count+1);
xdrv_05_irremote_full.ino libary potential source of the problem:
//
// Send Global Cache commands
//
// Input:
// p: token for strtok_r()
// count: number of commas in parameters, i.e. it contains count+1 values
// repeat: number of repeats (0 means no repeat)
//
uint32_t IrRemoteSendGC(char pp, uint32_t count, uint32_t repeat) {
// IRsend gc,1000,2000,2000,1000
uint16_t GC[count+1];
for (uint32_t i = 0; i <= count; i++) {
GC[i] = strtol(strtok_r(nullptr, ",", pp), nullptr, 0);
if (!GC[i]) { return IE_INVALID_RAWDATA; }
}
if (!IR_RCV_WHILE_SENDING && (irrecv != nullptr)) { irrecv->disableIRIn(); }
for (uint32_t r = 0; r <= repeat; r++) {
irsend->sendGC(GC, count+1);**
}
if (!IR_RCV_WHILE_SENDING && (irrecv != nullptr)) { irrecv->enableIRIn(); }
return IE_NO_ERROR;
}
//
Steps to Reproduce
user_config_override.h edited with below:
define USE_IR_REMOTE_FULL // Support all IR protocols from IRremoteESP8266
Actual Results
/workspace/Tasmota/tasmota/xdrv_05_irremote_full.ino: In function 'uint32_t IrRemoteSendGC(char**, uint32_t, uint32_t)':
/workspace/Tasmota/tasmota/xdrv_05_irremote_full.ino:557:13: error: 'class IRsend' has no member named 'sendGC'
irsend->sendGC(GC, count+1);
^
Expected Results
If problems with PlatformIO Build System:
The content of platformio.ini:
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter, extra scripting
; Upload options: custom port, speed and extra flags
; Library options: dependencies, extra library storages
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/en/stable/projectconf.html
;
; *********************************************************************
; *** Selection of Tasmota build variant is done with VSC
; *** alternatively can be done in: platformio_override.ini
; *** See example: platformio_override_sample.ini
; *********************************************************************
[platformio]
description = Provide ESP8266 / ESP32 based devices with Web, MQTT and OTA firmware
src_dir = tasmota
lib_dir = lib/default
boards_dir = boards
build_cache_dir = .cache
extra_configs = platformio_tasmota32.ini
platformio_tasmota_env.ini
platformio_tasmota_env32.ini
platformio_override.ini
platformio_tasmota_cenv.ini
[common]
platform = ${core.platform}
platform_packages = ${core.platform_packages}
framework = arduino
board = esp8266_1M
board_build.filesystem = littlefs
custom_unpack_dir = unpacked_littlefs
build_unflags = ${core.build_unflags}
build_flags = ${core.build_flags}
monitor_speed = 115200
monitor_port = COM5
; *** Upload Serial reset method for Wemos and NodeMCU
upload_resetmethod = nodemcu
upload_port = COM5
extra_scripts = ${esp_defaults.extra_scripts}
lib_ldf_mode = chain
lib_compat_mode = strict
shared_libdeps_dir = lib
lib_extra_dirs =
lib/lib_basic
lib/lib_i2c
lib/lib_display
lib/lib_ssl
lib/lib_audio
lib/lib_rf
lib/lib_div
[tasmota]
; *** Settings here do NOT affect firmware building ***
; Uncomment if you do NOT want gzipped map file(s)
;disable_map_gz = 1
; Uncomment and specify a folder where to place the map file(s) (default set to folder build_output)
;map_dir = /tmp/map_files/
; Uncomment if you do NOT want additionally gzipped firmware file(s)
;disable_bin_gz = 1
; Uncomment and specify a folder where to place the firmware file(s) (default set to folder build_output)
;bin_dir = /tmp/bin_files/
[scripts_defaults]
extra_scripts = pio-tools/strip-floats.py
pio-tools/name-firmware.py
pio-tools/gzip-firmware.py
pio-tools/override_copy.py
pio-tools/download_fs.py
[esp_defaults]
extra_scripts = ${scripts_defaults.extra_scripts}
; *** remove undesired all warnings
build_unflags = -Wall
; -mtarget-align
-Wdeprecated-declarations
build_flags = -DCORE_DEBUG_LEVEL=0
-Wl,-Map,firmware.map
-Wno-deprecated-declarations
; -mno-target-align
-mtarget-align
-free
-fipa-pta
-Wreturn-type
; *********************************************************************
; *** Use custom settings from file user_config_override.h
-DUSE_CONFIG_OVERRIDE
; *********************************************************************
[esp82xx_defaults]
build_flags = ${esp_defaults.build_flags}
-DNDEBUG
-DFP_IN_IROM
-DBEARSSL_SSL_BASIC
; NONOSDK22x_190703 = 2.2.2-dev(38a443e)
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
-DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
; VTABLES in Flash
-DVTABLES_IN_FLASH
; remove the 4-bytes alignment for PSTR()
-DPSTR_ALIGN=1
; restrict to minimal mime-types
-DMIMETYPE_MINIMAL
; uncomment the following to enable TLS with 4096 RSA certificates
;-DUSE_4K_RSA
[core]
; *** Esp8266 Tasmota modified Arduino core based on core 2.7.4. Added Backport for PWM selection
platform = https://github.com/tasmota/platform-espressif8266/releases/download/v2.7.4.9/platform-espressif8266-2.7.4.9.zip
platform_packages =
build_unflags = ${esp_defaults.build_unflags}
build_flags = ${esp82xx_defaults.build_flags}
; *** Use ONE of the two PWM variants. Tasmota default is Locked PWM
;-DWAVEFORM_LOCKED_PHASE
-DWAVEFORM_LOCKED_PWM
Configuration
Operating system: Tasmota
PlatformIO Version (
platformio --version
): PlatformIO Core, version 6.0.2Description of problem
I'm faceing problem when compilig the BIN file with #define USE_IR_REMOTE_FULL parameter included in user_config_override.h. Terminal indicates problem inside xdrv_05_irremote_full.ino libary. Location:557:13: Error description: 'class IRsend' has no member named 'sendGC' irsend->sendGC(GC, count+1);
xdrv_05_irremote_full.ino libary potential source of the problem:
// // Send Global Cache commands // // Input: // p: token for strtok_r() // count: number of commas in parameters, i.e. it contains count+1 values // repeat: number of repeats (0 means no repeat) // uint32_t IrRemoteSendGC(char pp, uint32_t count, uint32_t repeat) { // IRsend gc,1000,2000,2000,1000 uint16_t GC[count+1]; for (uint32_t i = 0; i <= count; i++) { GC[i] = strtol(strtok_r(nullptr, ",", pp), nullptr, 0); if (!GC[i]) { return IE_INVALID_RAWDATA; } } if (!IR_RCV_WHILE_SENDING && (irrecv != nullptr)) { irrecv->disableIRIn(); } for (uint32_t r = 0; r <= repeat; r++) { irsend->sendGC(GC, count+1);** } if (!IR_RCV_WHILE_SENDING && (irrecv != nullptr)) { irrecv->enableIRIn(); } return IE_NO_ERROR; }
//
Steps to Reproduce
user_config_override.h edited with below:
define USE_IR_REMOTE_FULL // Support all IR protocols from IRremoteESP8266
Actual Results
/workspace/Tasmota/tasmota/xdrv_05_irremote_full.ino: In function 'uint32_t IrRemoteSendGC(char**, uint32_t, uint32_t)': /workspace/Tasmota/tasmota/xdrv_05_irremote_full.ino:557:13: error: 'class IRsend' has no member named 'sendGC' irsend->sendGC(GC, count+1); ^
Expected Results
If problems with PlatformIO Build System:
The content of
platformio.ini
:Source file to reproduce issue:
Additional info
The cache is cleared all the time with: