stm32duino/STM32LowPower

do not compile on platformio

pat1 opened this issue · 1 comments

pat1 commented

The example https://github.com/stm32duino/STM32LowPower/blob/master/examples/TimedWakeup/TimedWakeup.ino works well with arduino but with platformio (same board) and platformio.ini:

[env]
framework = arduino
monitor_speed = 115200
lib_deps =
	 STM32duino  Low Power

[env:nucleo_l476rg]
platform = ststm32
board = nucleo_l476rg

I get:

pio run -j1 -e nucleo_l476rg -v
******************************************************************************************************************************************************************************************************************************
Obsolete PIO Core v5.1.1 is used (previous was 5.2.0a3)
****************************************************************************
Processing nucleo_l476rg (platform: ststm32; board: nucleo_l476rg; framework: arduino; monitor_speed: 115200; lib_deps: STM32duino  Low Power)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/nucleo_l476rg.html
PLATFORM: ST STM32 (12.1.1) > ST Nucleo L476RG
HARDWARE: STM32L476RGT6 80MHz, 128KB RAM, 1MB Flash
DEBUG: Current (stlink) On-board (stlink) External (blackmagic, cmsis-dap, jlink)
PACKAGES: 
 - framework-arduinoststm32 4.10900.200819 (1.9.0) 
 - framework-cmsis 2.50501.200527 (5.5.1) 
 - toolchain-gccarmnoneeabi 1.90201.191206 (9.2.1)
arm-none-eabi-g++ -o "/home/pat1/git/rmap/platformio/test/microduinostm32_F103CB_lowpower/src/TimedWakeup.ino.cpp" -x c++ -fpreprocessed -dD -E "/tmp/tmp6_9qwuio"
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Library Manager: Installing STM32duino  Low Power
Library Manager: STM32duino Low Power @ 1.1.0 has been installed!
Library Manager: Installing dependencies...
Library Manager: STM32duino RTC @ 1.1.0 is already installed
Found 12 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <STM32duino Low Power> 1.1.0 (/home/pat1/git/rmap/platformio/test/microduinostm32_F103CB_lowpower/.pio/libdeps/nucleo_l476rg/STM32duino Low Power)
|   |-- <STM32duino RTC> 1.1.0 (/home/pat1/git/rmap/platformio/test/microduinostm32_F103CB_lowpower/.pio/libdeps/nucleo_l476rg/STM32duino RTC)
|   |-- <Wire> 1.0 (/home/pat1/.platformio/packages/framework-arduinoststm32/libraries/Wire)
Building in release mode
arm-none-eabi-g++ -o .pio/build/nucleo_l476rg/src/TimedWakeup.ino.cpp.o -c -std=gnu++14 -fno-threadsafe-statics -fno-rtti -fno-exceptions -fno-use-cxa-atexit -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Os -mcpu=cortex-m4 -mthumb -ffunction-sections -fdata-sections -Wall -nostdlib --param max-inline-insns-single=500 -DPLATFORMIO=50101 -DSTM32L476xx -DSTM32L4xx -DARDUINO=10808 -DARDUINO_ARCH_STM32 -DARDUINO_NUCLEO_L476RG -DBOARD_NAME=\"NUCLEO_L476RG\" -DHAL_UART_MODULE_ENABLED -Isrc "-I.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src" -I/home/pat1/.platformio/packages/framework-arduinoststm32/libraries/Wire/src "-I.pio/libdeps/nucleo_l476rg/STM32duino RTC/src" -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/avr -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32 -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32/LL -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32/usb -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32/OpenAMP -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32/usb/hid -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32/usb/cdc -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32L4xx_HAL_Driver/Inc -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32L4xx_HAL_Driver/Src -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/STM32L4xx -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Src -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/open-amp/lib/include -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/libmetal/lib/include -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/virtual_driver -I/home/pat1/.platformio/packages/framework-cmsis/CMSIS/Core/Include -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32L4xx/Include -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/gcc -I/home/pat1/.platformio/packages/framework-cmsis/CMSIS/DSP/Include -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino -I/home/pat1/.platformio/packages/framework-arduinoststm32/variants/NUCLEO_L476RG -I/home/pat1/.platformio/packages/framework-arduinoststm32/variants/NUCLEO_L476RG src/TimedWakeup.ino.cpp
arm-none-eabi-g++ -o ".pio/build/nucleo_l476rg/libf31/STM32duino Low Power/STM32LowPower.cpp.o" -c -std=gnu++14 -fno-threadsafe-statics -fno-rtti -fno-exceptions -fno-use-cxa-atexit -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Os -mcpu=cortex-m4 -mthumb -ffunction-sections -fdata-sections -Wall -nostdlib --param max-inline-insns-single=500 -DPLATFORMIO=50101 -DSTM32L476xx -DSTM32L4xx -DARDUINO=10808 -DARDUINO_ARCH_STM32 -DARDUINO_NUCLEO_L476RG -DBOARD_NAME=\"NUCLEO_L476RG\" -DHAL_UART_MODULE_ENABLED "-I.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src" -I/home/pat1/.platformio/packages/framework-arduinoststm32/libraries/Wire/src "-I.pio/libdeps/nucleo_l476rg/STM32duino RTC/src" -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/avr -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32 -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32/LL -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32/usb -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32/OpenAMP -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32/usb/hid -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32/usb/cdc -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32L4xx_HAL_Driver/Inc -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32L4xx_HAL_Driver/Src -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/STM32L4xx -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Src -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/open-amp/lib/include -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/libmetal/lib/include -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/virtual_driver -I/home/pat1/.platformio/packages/framework-cmsis/CMSIS/Core/Include -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32L4xx/Include -I/home/pat1/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/gcc -I/home/pat1/.platformio/packages/framework-cmsis/CMSIS/DSP/Include -I/home/pat1/.platformio/packages/framework-arduinoststm32/cores/arduino -I/home/pat1/.platformio/packages/framework-arduinoststm32/variants/NUCLEO_L476RG -I/home/pat1/.platformio/packages/framework-arduinoststm32/variants/NUCLEO_L476RG ".pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp"
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp: In member function 'void STM32LowPower::begin()':
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp:56:3: error: 'LowPower_init' was not declared in this scope; did you mean 'LowPower'?
   56 |   LowPower_init();
      |   ^~~~~~~~~~~~~
      |   LowPower
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp: In member function 'void STM32LowPower::idle(uint32_t)':
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp:71:3: error: 'LowPower_sleep' was not declared in this scope
   71 |   LowPower_sleep(PWR_MAINREGULATOR_ON);
      |   ^~~~~~~~~~~~~~
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp: In member function 'void STM32LowPower::sleep(uint32_t)':
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp:85:3: error: 'LowPower_sleep' was not declared in this scope
   85 |   LowPower_sleep(PWR_LOWPOWERREGULATOR_ON);
      |   ^~~~~~~~~~~~~~
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp: In member function 'void STM32LowPower::deepSleep(uint32_t)':
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp:99:3: error: 'LowPower_stop' was not declared in this scope; did you mean 'LowPower'?
   99 |   LowPower_stop(_serial);
      |   ^~~~~~~~~~~~~
      |   LowPower
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp: In member function 'void STM32LowPower::shutdown(uint32_t)':
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp:113:3: error: 'LowPower_shutdown' was not declared in this scope
  113 |   LowPower_shutdown();
      |   ^~~~~~~~~~~~~~~~~
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp: In member function 'void STM32LowPower::attachInterruptWakeup(uint32_t, voidFuncPtrVoid, uint32_t, LP_Mode)':
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp:130:5: error: 'LowPower_EnableWakeUpPin' was not declared in this scope; did you mean 'HAL_PWR_EnableWakeUpPin'?
  130 |     LowPower_EnableWakeUpPin(pin, mode);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
      |     HAL_PWR_EnableWakeUpPin
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp: In member function 'void STM32LowPower::enableWakeupFrom(HardwareSerial*, voidFuncPtrVoid)':
.pio/libdeps/nucleo_l476rg/STM32duino Low Power/src/STM32LowPower.cpp:147:5: error: 'LowPower_EnableWakeUpUart' was not declared in this scope
  147 |     LowPower_EnableWakeUpUart(_serial, callback);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
*** [.pio/build/nucleo_l476rg/libf31/STM32duino Low Power/STM32LowPower.cpp.o] Error 1
================================================================================================= [FAILED] Took 2.58 seconds =================================================================================================

Environment           Status    Duration
--------------------  --------  ------------
microduino_stm32f103  IGNORED
nucleo_l476rg         FAILED    00:00:02.577
=========================================================================================== 1 failed, 0 succeeded in 00:00:02.577 ===========================================================================================

any suggestions?

Hi this is a duplicate of #34