Skip to content

Build with DALI support fails since v14.x #22214

Closed
@FeKn

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)

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions