-
Notifications
You must be signed in to change notification settings - Fork 3
Build failing in VSCode with PlatformIO #26
Description
Hi there,
This project is very impressive! What you've put together seems very powerful and easy to use, once the ESP32 is flashed. I'm very excited to have a go at putting this together, with the aim instead of having the stepper motor have a sprocket on it that turns the ball-cord for the roller blinds to be a bit more friendly to renters, whilst having HomeKit support!
However, I'm currently having some issues building the project in VSCode. First, I had to change the version number of the MQTT client to 0.9.0, as it seems that 0.8.2 doesn't exist any more. But now, when trying to build I get the following output, and my understanding of the dependencies/libraries here isn't deep enough to make a whole lot of sense. Any ides would be very appreciated! Apologies for console dump - happy to clean anything up if that makes it any easier.
* Executing task: platformio run
Processing esp32dev (platform: espressif32; board: esp32dev; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (5.1.1) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 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.20004.220825 (2.0.4)
- tool-esptoolpy @ 1.30300.0 (3.3.0)
- toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ deep+, Compatibility ~ soft
Found 39 compatible libraries
Scanning dependencies...
Dependency Graph
|-- FastAccelStepper @ 0.23.5
|-- ArduinoJson @ 6.19.4
|-- AsyncTCP @ 1.1.1
|-- LittleFS_esp32 @ 1.0.6+sha.f0817ca
| |-- FS @ 2.0.0
|-- ESP Async WebServer @ 1.2.3
| |-- AsyncTCP @ 1.1.1
| |-- FS @ 2.0.0
| |-- WiFi @ 2.0.0
|-- AsyncMqttClient @ 0.9.0+sha.89bf464
| |-- AsyncTCP @ 1.1.1
|-- FS @ 2.0.0
|-- WiFi @ 2.0.0
|-- homekit
|-- DNSServer @ 2.0.0
| |-- WiFi @ 2.0.0
|-- ArduinoOTA @ 2.0.0
| |-- WiFi @ 2.0.0
| |-- Update @ 2.0.0
| |-- ESPmDNS @ 2.0.0
| | |-- WiFi @ 2.0.0
|-- Update @ 2.0.0
Building in release mode
Compiling .pio/build/esp32dev/libaaf/FastAccelStepper/StepperISR_esp32.cpp.o
<command-line>: warning: ISO C++11 requires whitespace after the macro name
Compiling .pio/build/esp32dev/lib3fe/LittleFS_esp32/LITTLEFS.cpp.o
<command-line>: warning: ISO C++11 requires whitespace after the macro name
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp: In function 'void apply_command(StepperQueue*, const queue_entry*)':
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:110:27: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'status'; did you mean 'timer_status'?
if (mcpwm->timer[timer].status.value <= 1) { // mcpwm Timer is stopped ?
^~~~~~
timer_status
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:111:25: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'period'
mcpwm->timer[timer].period.upmethod = 0; // 0 = immediate update, 1 = TEZ
^~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:113:25: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'period'
mcpwm->timer[timer].period.upmethod = 1; // 0 = immediate update, 1 = TEZ
^~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:115:23: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'period'
mcpwm->timer[timer].period.period = ticks;
^~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:118:12: error: 'struct mcpwm_dev_t' has no member named 'channel'
mcpwm->channel[timer].generator[0].utea = 1;
^~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:170:12: error: 'struct mcpwm_dev_t' has no member named 'channel'
mcpwm->channel[timer].generator[0].utea = 2;
^~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp: In function 'void init_stop(StepperQueue*)':
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:182:23: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'mode'
mcpwm->timer[timer].mode.start = 0; // 0: stop at TEZ
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp: In function 'void mcpwm0_isr_service(void*)':
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:223:20: error: 'volatile union mcpwm_int_st_reg_t' has no member named 'cmpr0_tea_int_st'
if (mcpwm.int_st.cmpr##TIMER##_tea_int_st != 0) { \
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:233:3: note: in expansion of macro 'MCPWM_SERVICE'
MCPWM_SERVICE(MCPWM0, 0, 0);
^~~~~~~~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:223:20: error: 'volatile union mcpwm_int_st_reg_t' has no member named 'cmpr1_tea_int_st'
if (mcpwm.int_st.cmpr##TIMER##_tea_int_st != 0) { \
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:234:3: note: in expansion of macro 'MCPWM_SERVICE'
MCPWM_SERVICE(MCPWM0, 1, 1);
^~~~~~~~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:223:20: error: 'volatile union mcpwm_int_st_reg_t' has no member named 'cmpr2_tea_int_st'
if (mcpwm.int_st.cmpr##TIMER##_tea_int_st != 0) { \
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:235:3: note: in expansion of macro 'MCPWM_SERVICE'
MCPWM_SERVICE(MCPWM0, 2, 2);
^~~~~~~~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp: In function 'void mcpwm1_isr_service(void*)':
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:223:20: error: 'volatile union mcpwm_int_st_reg_t' has no member named 'cmpr0_tea_int_st'
if (mcpwm.int_st.cmpr##TIMER##_tea_int_st != 0) { \
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:238:3: note: in expansion of macro 'MCPWM_SERVICE'
MCPWM_SERVICE(MCPWM1, 0, 3);
^~~~~~~~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:223:20: error: 'volatile union mcpwm_int_st_reg_t' has no member named 'cmpr1_tea_int_st'
if (mcpwm.int_st.cmpr##TIMER##_tea_int_st != 0) { \
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:239:3: note: in expansion of macro 'MCPWM_SERVICE'
MCPWM_SERVICE(MCPWM1, 1, 4);
^~~~~~~~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:223:20: error: 'volatile union mcpwm_int_st_reg_t' has no member named 'cmpr2_tea_int_st'
if (mcpwm.int_st.cmpr##TIMER##_tea_int_st != 0) { \
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:240:3: note: in expansion of macro 'MCPWM_SERVICE'
MCPWM_SERVICE(MCPWM1, 2, 5);
^~~~~~~~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp: In member function 'void StepperQueue::init(uint8_t, uint8_t)':
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:288:55: error: 'PERIPH_PWM0_MODULE' was not declared in this scope
periph_module_enable(mcpwm_unit == MCPWM_UNIT_0 ? PERIPH_PWM0_MODULE
^~~~~~~~~~~~~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:288:55: note: suggested alternative: 'PERIPHS_IO_MUX_MTDO_U'
periph_module_enable(mcpwm_unit == MCPWM_UNIT_0 ? PERIPH_PWM0_MODULE
^~~~~~~~~~~~~~~~~~
PERIPHS_IO_MUX_MTDO_U
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:289:55: error: 'PERIPH_PWM1_MODULE' was not declared in this scope
: PERIPH_PWM1_MODULE);
^~~~~~~~~~~~~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:289:55: note: suggested alternative: 'PERIPHS_IO_MUX_MTDO_U'
: PERIPH_PWM1_MODULE);
^~~~~~~~~~~~~~~~~~
PERIPHS_IO_MUX_MTDO_U
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:288:5: error: 'periph_module_enable' was not declared in this scope
periph_module_enable(mcpwm_unit == MCPWM_UNIT_0 ? PERIPH_PWM0_MODULE
^~~~~~~~~~~~~~~~~~~~
Compiling .pio/build/esp32dev/libfc2/WiFi/WiFiClient.cpp.o
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:288:5: note: suggested alternative: 'esp_intr_enable'
periph_module_enable(mcpwm_unit == MCPWM_UNIT_0 ? PERIPH_PWM0_MODULE
^~~~~~~~~~~~~~~~~~~~
esp_intr_enable
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:297:20: error: 'volatile union mcpwm_clk_cfg_reg_t' has no member named 'prescale'
mcpwm->clk_cfg.prescale = 5 - 1;
^~~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:299:12: error: 'struct mcpwm_dev_t' has no member named 'timer_sel'; did you mean 'timer'?
mcpwm->timer_sel.operator0_sel = 0; // timer 0 is input for operator 0
^~~~~~~~~
timer
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:300:12: error: 'struct mcpwm_dev_t' has no member named 'timer_sel'; did you mean 'timer'?
mcpwm->timer_sel.operator1_sel = 1; // timer 1 is input for operator 1
^~~~~~~~~
timer
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:301:12: error: 'struct mcpwm_dev_t' has no member named 'timer_sel'; did you mean 'timer'?
mcpwm->timer_sel.operator2_sel = 2; // timer 2 is input for operator 2
^~~~~~~~~
timer
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:303:23: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'period'
mcpwm->timer[timer].period.upmethod = 1; // 0 = immediate update, 1 = TEZ
^~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:304:23: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'period'
mcpwm->timer[timer].period.prescale = TIMER_PRESCALER;
^~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:305:23: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'period'
mcpwm->timer[timer].period.period = 400; // Random value
^~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:306:23: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'mode'
mcpwm->timer[timer].mode.mode = 3; // 3=up/down counting
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:307:23: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'mode'
mcpwm->timer[timer].mode.start = 0; // 0: stop at TEZ
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:310:23: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'sync'
mcpwm->timer[timer].sync.timer_phase = 0; // prepare value of 0
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:311:23: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'sync'
mcpwm->timer[timer].sync.in_en = 1; // enable sync
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:312:23: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'sync'
mcpwm->timer[timer].sync.sync_sw ^= 1; // force a sync
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:313:23: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'sync'
mcpwm->timer[timer].sync.in_en = 0; // disable sync
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:315:10: error: 'struct mcpwm_dev_t' has no member named 'channel'
mcpwm->channel[timer].cmpr_cfg.a_upmethod = 0; // 0 = immediate update
^~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:316:10: error: 'struct mcpwm_dev_t' has no member named 'channel'
mcpwm->channel[timer].cmpr_value[0].cmpr_val = 1; // set compare value A
^~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:317:10: error: 'struct mcpwm_dev_t' has no member named 'channel'
mcpwm->channel[timer].generator[0].val = 0; // clear all trigger actions
^~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:318:10: error: 'struct mcpwm_dev_t' has no member named 'channel'
mcpwm->channel[timer].generator[1].val = 0; // clear all trigger actions
^~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:319:10: error: 'struct mcpwm_dev_t' has no member named 'channel'
mcpwm->channel[timer].generator[0].dtep = 1; // low at period
^~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:320:10: error: 'struct mcpwm_dev_t' has no member named 'channel'
mcpwm->channel[timer].db_cfg.val = 0; // edge delay disabled
^~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:321:10: error: 'struct mcpwm_dev_t' has no member named 'channel'
mcpwm->channel[timer].carrier_cfg.val = 0; // carrier disabled
^~~~~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp: In member function 'bool StepperQueue::isRunning()':
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:367:27: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'status'; did you mean 'timer_status'?
if (mcpwm->timer[timer].status.value > 1) {
^~~~~~
timer_status
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:370:31: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'mode'
return (mcpwm->timer[timer].mode.start == 2); // 2=run continuous
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp: In member function 'void StepperQueue::commandAddedToQueue(bool)':
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:408:25: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'mode'
mcpwm->timer[timer].mode.start = 2; // 2=run continuous
^~~~
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp: In member function 'int8_t StepperQueue::startPreparedQueue()':
.pio/libdeps/esp32dev/FastAccelStepper/src/StepperISR_esp32.cpp:418:23: error: 'volatile struct mcpwm_timer_regs_t' has no member named 'mode'
mcpwm->timer[timer].mode.start = 2; // 2=run continuous
^~~~
Compiling .pio/build/esp32dev/libfc2/WiFi/WiFiGeneric.cpp.o
Compiling .pio/build/esp32dev/libfc2/WiFi/WiFiMulti.cpp.o
Compiling .pio/build/esp32dev/libfc2/WiFi/WiFiSTA.cpp.o
<command-line>: warning: ISO C++11 requires whitespace after the macro name
<command-line>: warning: ISO C++11 requires whitespace after the macro name
*** [.pio/build/esp32dev/libaaf/FastAccelStepper/StepperISR_esp32.cpp.o] Error 1
Compiling .pio/build/esp32dev/libfc2/WiFi/WiFiScan.cpp.o
Compiling .pio/build/esp32dev/libfc2/WiFi/WiFiServer.cpp.o
<command-line>: warning: ISO C++11 requires whitespace after the macro name
<command-line>: warning: ISO C++11 requires whitespace after the macro name
<command-line>: warning: ISO C++11 requires whitespace after the macro name
<command-line>: warning: ISO C++11 requires whitespace after the macro name
.pio/libdeps/esp32dev/LittleFS_esp32/src/LITTLEFS.cpp: In member function 'virtual bool LITTLEFSImpl::exists(const char*)':
.pio/libdeps/esp32dev/LittleFS_esp32/src/LITTLEFS.cpp:44:28: error: no matching function for call to 'LITTLEFSImpl::open(const char*&, const char [2])'
File f = open(path, "r");
^
In file included from .pio/libdeps/esp32dev/LittleFS_esp32/src/LITTLEFS.cpp:17:
/Users/myUser/.platformio/packages/framework-arduinoespressif32/libraries/FS/src/vfs_api.h:38:17: note: candidate: 'virtual fs::FileImplPtr VFSImpl::open(const char*, const char*, bool)'
FileImplPtr open(const char* path, const char* mode, const bool create) override;
^~~~
/Users/myUser/.platformio/packages/framework-arduinoespressif32/libraries/FS/src/vfs_api.h:38:17: note: candidate expects 3 arguments, 2 provided
*** [.pio/build/esp32dev/lib3fe/LittleFS_esp32/LITTLEFS.cpp.o] Error 1
================================================================ [FAILED] Took 3.14 seconds ================================================================
Environment Status Duration
------------- -------- ------------
esp32dev FAILED 00:00:03.140
========================================================== 1 failed, 0 succeeded in 00:00:03.140 ==========================================================
* The terminal process "platformio 'run'" terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.