TMCStepper icon indicating copy to clipboard operation
TMCStepper copied to clipboard

Build Issues with Branch Release_v1 on ESP32 and PlatformIO

Open KettererPatrick opened this issue 3 years ago • 1 comments
trafficstars

I've been using PlatformIO with platform = [email protected] specified in the paltform.ini file. All built fine with this version. I want to upgrade to the newest platform version by using platform = espressif32. However, as soon as I do this, I get the following build errors (bunch of functions not defined in this scope errors).

Any ideas on how to fix this?

CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/featheresp32.html PLATFORM: Espressif 32 (5.1.0) > Adafruit ESP32 Feather 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.220818 (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 ~ chain, Compatibility ~ soft Found 33 compatible libraries Scanning dependencies... Dependency Graph |-- TMCStepper @ 0.7.3+sha.3205ba0 | |-- SPI @ 2.0.0 Building in release mode Compiling .pio\build\tinypico\src\main.cpp.o Generating partitions .pio\build\tinypico\partitions.bin Compiling .pio\build\tinypico\libfc1\SPI\SPI.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC2130Stepper.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC2160Stepper.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC2208Stepper.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC2209Stepper.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC2300Stepper.cpp.o Archiving .pio\build\tinypico\libfc1\libSPI.a Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC2660Stepper.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC5130Stepper.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC5160Stepper.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC_HAL\TMC_HAL_AVR.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC_HAL\TMC_HAL_Arduino.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC_HAL\TMC_HAL_ESP_IDF.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC_HAL\TMC_HAL_LPC.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC_HAL\TMC_HAL_PICO_SDK.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC_HAL\TMC_HAL_RaspberryPi.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC_HAL\TMC_HAL_SAM.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC_HAL\TMC_HAL_STM.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC_HAL\TMC_HAL_mbed.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC_SPI.cpp.o Compiling .pio\build\tinypico\lib734\TMCStepper\source\TMC_UART.cpp.o Compiling .pio\build\tinypico\FrameworkArduino\Esp.cpp.o Compiling .pio\build\tinypico\FrameworkArduino\FirmwareMSC.cpp.o Compiling .pio\build\tinypico\FrameworkArduino\FunctionalInterrupt.cpp.o Compiling .pio\build\tinypico\FrameworkArduino\HWCDC.cpp.o Compiling .pio\build\tinypico\FrameworkArduino\HardwareSerial.cpp.o Compiling .pio\build\tinypico\FrameworkArduino\IPAddress.cpp.o .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp: In member function 'void TMC_HAL::InputPin::setMode() const': .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:17:25: error: invalid conversion from 'TMC_HAL::PinDef' {aka 'unsigned char'} to 'gpio_num_t' [-fpermissive] gpio_set_direction( pin, GPIO_MODE_INPUT ); ^~~ In file included from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-dac.h:28, from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal.h:81, from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:36, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/../../source/TMC_HAL.h:127, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/../../TMCStepper.h:9, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:5: C:/Users/patri/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include/driver/gpio.h:167:41: note: initializing argument 1 of 'esp_err_t gpio_set_direction(gpio_num_t, gpio_mode_t)' esp_err_t gpio_set_direction(gpio_num_t gpio_num, gpio_mode_t mode); ~~~~~~~~~~~^~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:18:25: error: invalid conversion from 'TMC_HAL::PinDef' {aka 'unsigned char'} to 'gpio_num_t' [-fpermissive] gpio_set_pull_mode( pin, GPIO_FLOATING ); ^~~ In file included from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-dac.h:28, from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal.h:81, from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:36, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/../../source/TMC_HAL.h:127, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/../../TMCStepper.h:9, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:5: C:/Users/patri/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include/driver/gpio.h:182:41: note: initializing argument 1 of 'esp_err_t gpio_set_pull_mode(gpio_num_t, gpio_pull_mode_t)' esp_err_t gpio_set_pull_mode(gpio_num_t gpio_num, gpio_pull_mode_t pull); ~~~~~~~~~~~^~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp: In member function 'bool TMC_HAL::InputPin::read() const': .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:22:28: error: invalid conversion from 'TMC_HAL::PinDef' {aka 'unsigned char'} to 'gpio_num_t' [-fpermissive] return gpio_get_level( pin ); ^~~ In file included from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-dac.h:28, from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal.h:81, from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:36, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/../../source/TMC_HAL.h:127, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/../../TMCStepper.h:9, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:5: C:/Users/patri/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include/driver/gpio.h:152:31: note: initializing argument 1 of 'int gpio_get_level(gpio_num_t)' int gpio_get_level(gpio_num_t gpio_num); ~~~~~~~~~~~^~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp: In member function 'void TMC_HAL::OutputPin::setMode() const': .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:30:25: error: invalid conversion from 'TMC_HAL::PinDef' {aka 'unsigned char'} to 'gpio_num_t' [-fpermissive] gpio_set_direction( pin, GPIO_MODE_OUTPUT ); ^~~ In file included from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-dac.h:28, from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal.h:81, from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:36, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/../../source/TMC_HAL.h:127, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/../../TMCStepper.h:9, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:5: C:/Users/patri/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include/driver/gpio.h:167:41: note: initializing argument 1 of 'esp_err_t gpio_set_direction(gpio_num_t, gpio_mode_t)' esp_err_t gpio_set_direction(gpio_num_t gpio_num, gpio_mode_t mode); ~~~~~~~~~~~^~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp: In member function 'void TMC_HAL::OutputPin::set() const': .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:34:21: error: invalid conversion from 'TMC_HAL::PinDef' {aka 'unsigned char'} to 'gpio_num_t' [-fpermissive] gpio_set_level( pin, HIGH ); ^~~ In file included from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-dac.h:28, from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal.h:81, from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:36, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/../../source/TMC_HAL.h:127, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/../../TMCStepper.h:9, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:5: C:/Users/patri/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include/driver/gpio.h:138:37: note: initializing argument 1 of 'esp_err_t gpio_set_level(gpio_num_t, uint32_t)' esp_err_t gpio_set_level(gpio_num_t gpio_num, uint32_t level); ~~~~~~~~~~~^~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp: In member function 'void TMC_HAL::OutputPin::reset() const': .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:38:21: error: invalid conversion from 'TMC_HAL::PinDef' {aka 'unsigned char'} to 'gpio_num_t' [-fpermissive] gpio_set_level( pin, LOW ); ^~~ In file included from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-dac.h:28, from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal.h:81, from C:/Users/patri/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:36, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/../../source/TMC_HAL.h:127, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/../../TMCStepper.h:9, from .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:5: C:/Users/patri/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include/driver/gpio.h:138:37: note: initializing argument 1 of 'esp_err_t gpio_set_level(gpio_num_t, uint32_t)' esp_err_t gpio_set_level(gpio_num_t gpio_num, uint32_t level); ~~~~~~~~~~~^~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp: In member function 'void TMCStepper_n::TMC_SPI::beginTransaction()': .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:48:5: error: 'spi_device_acquire_bus' was not declared in this scope spi_device_acquire_bus(*TMC_HW_SPI, 100); ^~~~~~~~~~~~~~~~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:48:5: note: suggested alternative: 'spinlock_acquire' spi_device_acquire_bus(TMC_HW_SPI, 100); ^~~~~~~~~~~~~~~~~~~~~~ spinlock_acquire .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp: In member function 'void TMCStepper_n::TMC_SPI::transfer(void, uint8_t)': .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:53:5: error: 'spi_transaction_t' was not declared in this scope spi_transaction_t t{}; ^~~~~~~~~~~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:53:5: note: suggested alternative: 'spiTransaction' spi_transaction_t t{}; ^~~~~~~~~~~~~~~~~ spiTransaction .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:54:5: error: 't' was not declared in this scope t.length = count * 8u; ^ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:54:5: note: suggested alternative: 'tm' t.length = count * 8u; ^ tm .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:59:5: error: 'spi_device_polling_transmit' was not declared in this scope spi_device_polling_transmit(*TMC_HW_SPI, &t); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp: In member function 'void TMCStepper_n::TMC_SPI::endTransaction()': .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:64:5: error: 'spi_device_release_bus' was not declared in this scope spi_device_release_bus(*TMC_HW_SPI); ^~~~~~~~~~~~~~~~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:64:5: note: suggested alternative: 'spinlock_release' spi_device_release_bus(TMC_HW_SPI); ^~~~~~~~~~~~~~~~~~~~~~ spinlock_release .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp: In member function 'int TMC_HAL::TMC_UART::available()': .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:70:19: error: 'uart_get_buffered_data_len' was not declared in this scope if (ESP_OK != uart_get_buffered_data_len(HWSerial, &len)) { ^~~~~~~~~~~~~~~~~~~~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp: In member function 'size_t TMC_HAL::TMC_UART::serial_read(void, int8_t)': .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:91:15: error: 'uart_read_bytes' was not declared in this scope int len = uart_read_bytes(HWSerial, (uint8_t)data, 1, 0); ^~~~~~~~~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:91:15: note: suggested alternative: 'pgm_read_byte' int len = uart_read_bytes(HWSerial, (uint8_t)data, 1, 0); ^~~~~~~~~~~~~~~ pgm_read_byte .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp: In member function 'size_t TMC_HAL::TMC_UART::serial_write(const void, int8_t)': .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:99:21: error: 'uart_write_bytes' was not declared in this scope const int len = uart_write_bytes(HWSerial, (const char)data, 1); ^~~~~~~~~~~~~~~~ .pio/libdeps/tinypico/TMCStepper/src/source/TMC_HAL/TMC_HAL_ESP_IDF.cpp:99:21: note: suggested alternative: 'uartWriteBuf' const int len = uart_write_bytes(HWSerial, (const char)data, 1); ^~~~~~~~~~~~~~~~ uartWriteBuf *** [.pio\build\tinypico\lib734\TMCStepper\source\TMC_HAL\TMC_HAL_ESP_IDF.cpp.o] Error 1 =================================================================== [FAILED] Took 15.51 seconds ===================================================================
  • The terminal process "C:\Users\patri.platformio\penv\Scripts\platformio.exe 'run'" terminated with exit code: 1.
  • Terminal will be reused by tasks, press any key to close it.

Here is the full content of my platform.ini file:

[env:tinypico] platform = espressif32 board = featheresp32 framework = arduino

lib_deps = https://github.com/teemuatlut/TMCStepper.git#Release_v1


main.cpp is pretty much empty, see below:

#include <Arduino.h>

void setup() { // put your setup code here, to run once: }

void loop() { // put your main code here, to run repeatedly: }

KettererPatrick avatar Aug 24 '22 05:08 KettererPatrick

Hi there, I am running into the same issue. Any news on this?

All the best

pitchbent avatar Jul 13 '23 08:07 pitchbent