Description
PROBLEM DESCRIPTION
A clear and concise description of what the problem is.
Building Tasmota32 v14.x (v14.0, v14.1, v14.2 or master) with DALI support enabled in 'user_config_override.h' fails to compile with the following error:
[...]
Compiling .pio/build/tasmota32/libfcf/WebServer/Parsing.cpp.o
Archiving .pio/build/tasmota32/lib18b/libAdafruit_seesaw_soilsensor_1.3.1.a
Indexing .pio/build/tasmota32/lib18b/libAdafruit_seesaw_soilsensor_1.3.1.a
Compiling .pio/build/tasmota32/libfcf/WebServer/WebServer.cpp.o
Compiling .pio/build/tasmota32/libfcf/WebServer/detail/mimetable.cpp.o
Compiling .pio/build/tasmota32/libd08/Update/HttpsOTAUpdate.cpp.o
Compiling .pio/build/tasmota32/libd08/Update/Updater.cpp.o
/home/User/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_89_esp32_dali.ino:81:38: warning: ignoring attribute 'section (".iram1.87")' because it conflicts with previous 'section (".iram1.5")' [-Wattributes]
81 | void IRAM_ATTR DALI_Tick_Handler(void)
| ^
/home/User/Tasmota/tasmota/tasmota.ino:3938:16: note: previous declaration here
Compiling .pio/build/tasmota32/lib647/WiFi/AP.cpp.o
Archiving .pio/build/tasmota32/lib3e5/libFS.a
Compiling .pio/build/tasmota32/lib647/WiFi/STA.cpp.o
Indexing .pio/build/tasmota32/lib3e5/libFS.a
/home/User/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_89_esp32_dali.ino: In function 'void enableDaliRxInterrupt()':
/home/User/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_89_esp32_dali.ino:100:5: error: 'timerAlarmDisable' was not declared in this scope
100 | timerAlarmDisable(Dali->timer);
| ^~~~~~~~~~~~~~~~~
Compiling .pio/build/tasmota32/lib647/WiFi/WiFi.cpp.o
Compiling .pio/build/tasmota32/lib647/WiFi/WiFiAP.cpp.o
Compiling .pio/build/tasmota32/lib647/WiFi/WiFiGeneric.cpp.o
/home/User/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_89_esp32_dali.ino: In function 'void disableRxInterrupt()':
/home/User/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_89_esp32_dali.ino:110:5: error: 'timerAlarmEnable' was not declared in this scope; did you mean 'timerAlarm'?
110 | timerAlarmEnable(Dali->timer);
| ^~~~~~~~~~~~~~~~
| timerAlarm
/home/User/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_89_esp32_dali.ino: In function 'void DaliPreInit()':
/home/User/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_89_esp32_dali.ino:386:30: error: too many arguments to function 'hw_timer_t* timerBegin(uint32_t)'
386 | Dali->timer = timerBegin(DALI_TIMER, 13, true);
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/User/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal.h:84,
from /home/User/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:36,
from /tmp/tmpvdkr5_5b:1:
/home/User/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-timer.h:35:13: note: declared here
35 | hw_timer_t *timerBegin(uint32_t frequency);
| ^~~~~~~~~~
/home/User/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_89_esp32_dali.ino:387:25: error: too many arguments to function 'void timerAttachInterrupt(hw_timer_t*, void (*)())'
387 | timerAttachInterrupt(Dali->timer, &DALI_Tick_Handler, true);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/User/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-timer.h:50:6: note: declared here
50 | void timerAttachInterrupt(hw_timer_t *timer, void (*userFunc)(void));
| ^~~~~~~~~~~~~~~~~~~~
Compiling .pio/build/tasmota32/lib647/WiFi/WiFiMulti.cpp.o
/home/User/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_89_esp32_dali.ino:388:5: error: 'timerAlarmWrite' was not declared in this scope; did you mean 'timerWrite'?
388 | timerAlarmWrite(Dali->timer, 641, true);
| ^~~~~~~~~~~~~~~
| timerWrite
Archiving .pio/build/tasmota32/lib08c/libNetwork.a
Indexing .pio/build/tasmota32/lib08c/libNetwork.a
Compiling .pio/build/tasmota32/lib647/WiFi/WiFiSTA.cpp.o
Archiving .pio/build/tasmota32/lib062/libHTTPClient.a
Indexing .pio/build/tasmota32/lib062/libHTTPClient.a
Compiling .pio/build/tasmota32/lib647/WiFi/WiFiScan.cpp.o
Archiving .pio/build/tasmota32/libd08/libUpdate.a
Indexing .pio/build/tasmota32/libd08/libUpdate.a
Compiling .pio/build/tasmota32/lib3f4/HTTPUpdate/HTTPUpdate.cpp.o
Archiving .pio/build/tasmota32/libfcf/libWebServer.a
Compiling .pio/build/tasmota32/liba50/ESPmDNS/ESPmDNS.cpp.o
Indexing .pio/build/tasmota32/libfcf/libWebServer.a
Compiling .pio/build/tasmota32/lib84e/ESP32-to-ESP8266-compat/esp8266toEsp32.cpp.o
*** [.pio/build/tasmota32/src/tasmota.ino.cpp.o] Error 1
Compiling .pio/build/tasmota32/libc28/SD/SD.cpp.o
======================================= [FAILED] Took 30.59 seconds =======================================
Environment Status Duration
------------- -------- ------------
tasmota32 FAILED 00:00:30.595
================================== 1 failed, 0 succeeded in 00:00:30.595 ==================================
* The terminal process "platformio 'run', '--environment', 'tasmota32'" terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.
REQUESTED INFORMATION
Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!
- Read the Contributing Guide and Policy and the Code of Conduct
- Searched the problem in issues
- Searched the problem in discussions
- Searched the problem in the docs
- Searched the problem in the chat
- Device used (e.g., Sonoff Basic): _____
- Tasmota binary firmware version number used: v14.x (v14.0, v14.1, v14.2 or master)
- Pre-compiled
- Self-compiled
- Flashing tools used: _____
- Provide the output of command:
Backlog Template; Module; GPIO 255
:
Configuration output here:
- If using rules, provide the output of this command:
Backlog Rule1; Rule2; Rule3
:
Rules output here:
- Provide the output of this command:
Status 0
:
STATUS 0 output here:
- Set
weblog
to 4 and then, when you experience your issue, provide the output of the Console log:
Console output here:
TO REPRODUCE
Steps to reproduce the behavior:
Build Tasmota32 v14.x (v14.0, v14.1, v14.2 or master) with DALI support enabled in 'user_config_override.h' (see below) via e.g. "platformio run --environment tasmota32" with VSCode or Gitpod.
Additions in 'user_config_override.h':
#ifndef USE_DALI
#define USE_DALI
#endif
#ifdef DALI_IN_INVERT
#undef DALI_IN_INVERT
#endif
#define DALI_IN_INVERT 0
#ifdef DALI_OUT_INVERT
#undef DALI_OUT_INVERT
#endif
#define DALI_OUT_INVERT 0
#ifdef DALI_TIMER
#undef DALI_TIMER
#endif
#define DALI_TIMER 0
EXPECTED BEHAVIOUR
Successful build of Tasmota32 with DALI support (as in Tasmota32 v13.4 and earlier).
SCREENSHOTS
If applicable, add screenshots to help explain your problem.
ADDITIONAL CONTEXT
Add any other context about the problem here.
Build with the same 'user_config_override.h' is successful up to Tasmota32 v13.4, the error occurs since v14.0.
(Please, remember to close the issue when the problem has been addressed)