Dear Richard,
thank you very much for your patience and support!
I have achieved a partial success, I made a classic beginner’s mistake and thanks to your hint discovered it: Namely, I tried to connect the board to the PC via an active USB hub (RSH-A10) - this does not seem to work in the case of board ESC1. Note on the side: With all other boards and Platformio it works however.
So, a bare raw upload without the Simple-Foc library obviously works now - success!
Unfortunately my problems with the included SimpleFOC library are now different, and even the build does not work again. Maybe you may help me again.
Here is my platformio.ini:
[env:disco_b_g431b_esc1]
platform = ststm32
board = disco_b_g431b_esc1
framework = arduino
monitor_speed = 115200
build_flags =
-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
-D PIO_FRAMEWORK_ARDUINO_NANOLIB_FLOAT_PRINTF
lib_deps = askuric/Simple FOC@^2.2
Here my code:
#include <Arduino.h>
#include <SimpleFOC.h>
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
Here the (partial) error log after trying to upload the code to the ESC1 board:
Processing disco_b_g431b_esc1 (platform: ststm32; board: disco_b_g431b_esc1; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose
option
…aso…
Compiling .pio\build\disco_b_g431b_esc1\lib544\Simple FOC\drivers\StepperDriver4PWM.cpp.o
In file included from .pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.cpp:7:
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:9:21: error: variable or field ‘MX_OPAMP1_Init’ declared void
9 | void MX_OPAMP1_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~~~~~~~~~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:9:21: error: ‘OPAMP_HandleTypeDef’ was not declared in this scope; did you mean ‘UART_HandleTypeDef’?
Compiling .pio\build\disco_b_g431b_esc1\lib544\Simple FOC\drivers\hardware_specific\atmega2560_mcu.cpp.o
9 | void MX_OPAMP1_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:9:42: error: ‘hopamp’ was not declared in this scope
9 | void MX_OPAMP1_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:10:21: error: variable or field ‘MX_OPAMP2_Init’ declared void
10 | void MX_OPAMP2_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~~~~~~~~~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:10:21: error: ‘OPAMP_HandleTypeDef’ was not declared in this scope; did you mean ‘UART_HandleTypeDef’?
10 | void MX_OPAMP2_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:10:42: error: ‘hopamp’ was not declared in this scope
10 | void MX_OPAMP2_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:11:21: error: variable or field ‘MX_OPAMP3_Init’ declared void
11 | void MX_OPAMP3_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~~~~~~~~~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:11:21: error: ‘OPAMP_HandleTypeDef’ was not declared in this scope; did you mean ‘UART_HandleTypeDef’?
11 | void MX_OPAMP3_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:11:42: error: ‘hopamp’ was not declared in this scope
11 | void MX_OPAMP3_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.cpp:202:24: error: variable or field ‘HAL_OPAMP_MspInit’ declared void
202 | void HAL_OPAMP_MspInit(OPAMP_HandleTypeDef* hopamp)
| ^~~~~~~~~~~~~~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.cpp:202:24: error: ‘OPAMP_HandleTypeDef’ was not declared in this scope; did you mean ‘UART_HandleTypeDef’?
202 | void HAL_OPAMP_MspInit(OPAMP_HandleTypeDef* hopamp)
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.cpp:202:45: error: ‘hopamp’ was not declared in this scope
202 | void HAL_OPAMP_MspInit(OPAMP_HandleTypeDef* hopamp)
| ^~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.cpp:277:26: error: variable or field ‘HAL_OPAMP_MspDeInit’ declared void
277 | void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef* hopamp)
| ^~~~~~~~~~~~~~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.cpp:277:26: error: ‘OPAMP_HandleTypeDef’ was not declared in this scope; did you mean ‘UART_HandleTypeDef’?
277 | void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef* hopamp)
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.cpp:277:47: error: ‘hopamp’ was not declared in this scope
277 | void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef* hopamp)
| ^~~~~~
*** [.pio\build\disco_b_g431b_esc1\lib544\Simple FOC\current_sense\hardware_specific\stm32g4_hal.cpp.o] Error 1
In file included from .pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:2:
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:9:21: error: variable or field ‘MX_OPAMP1_Init’ declared void
9 | void MX_OPAMP1_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~~~~~~~~~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:9:21: error: ‘OPAMP_HandleTypeDef’ was not declared in this scope; did you mean ‘UART_HandleTypeDef’?
9 | void MX_OPAMP1_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:9:42: error: ‘hopamp’ was not declared in this scope
9 | void MX_OPAMP1_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:10:21: error: variable or field ‘MX_OPAMP2_Init’ declared void
10 | void MX_OPAMP2_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~~~~~~~~~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:10:21: error: ‘OPAMP_HandleTypeDef’ was not declared in this scope; did you mean ‘UART_HandleTypeDef’?
10 | void MX_OPAMP2_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:10:42: error: ‘hopamp’ was not declared in this scope
10 | void MX_OPAMP2_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:11:21: error: variable or field ‘MX_OPAMP3_Init’ declared void
11 | void MX_OPAMP3_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~~~~~~~~~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:11:21: error: ‘OPAMP_HandleTypeDef’ was not declared in this scope; did you mean ‘UART_HandleTypeDef’?
11 | void MX_OPAMP3_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_hal.h:11:42: error: ‘hopamp’ was not declared in this scope
11 | void MX_OPAMP3_Init(OPAMP_HandleTypeDef* hopamp);
| ^~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:12:8: error: ‘OPAMP_HandleTypeDef’ does not name a type; did you mean ‘UART_HandleTypeDef’?
12 | static OPAMP_HandleTypeDef hopamp1;
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:13:8: error: ‘OPAMP_HandleTypeDef’ does not name a type; did you mean ‘UART_HandleTypeDef’?
13 | static OPAMP_HandleTypeDef hopamp2;
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:14:8: error: ‘OPAMP_HandleTypeDef’ does not name a type; did you mean ‘UART_HandleTypeDef’?
14 | static OPAMP_HandleTypeDef hopamp3;
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:38:22: error: variable or field ‘_configureOPAMP’ declared void
38 | void _configureOPAMP(OPAMP_HandleTypeDef *hopamp, OPAMP_TypeDef *OPAMPx_Def){
| ^~~~~~~~~~~~~~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:38:22: error: ‘OPAMP_HandleTypeDef’ was not declared in this scope; did you mean ‘UART_HandleTypeDef’?
38 | void _configureOPAMP(OPAMP_HandleTypeDef *hopamp, OPAMP_TypeDef *OPAMPx_Def){
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:38:43: error: ‘hopamp’ was not declared in this scope
38 | void _configureOPAMP(OPAMP_HandleTypeDef *hopamp, OPAMP_TypeDef OPAMPx_Def){
| ^~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:38:65: error: expected primary-expression before '’ token
38 | void _configureOPAMP(OPAMP_HandleTypeDef *hopamp, OPAMP_TypeDef *OPAMPx_Def){
| ^
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:38:66: error: ‘OPAMPx_Def’ was not declared in this scope; did you mean ‘OPAMP_TypeDef’?
38 | void _configureOPAMP(OPAMP_HandleTypeDef *hopamp, OPAMP_TypeDef *OPAMPx_Def){
| ^~~~~~~~~~
| OPAMP_TypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:54:23: error: variable or field ‘_configureOPAMPs’ declared void
54 | void _configureOPAMPs(OPAMP_HandleTypeDef *OPAMPA, OPAMP_HandleTypeDef *OPAMPB, OPAMP_HandleTypeDef *OPAMPC){
| ^~~~~~~~~~~~~~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:54:23: error: ‘OPAMP_HandleTypeDef’ was not declared in this scope; did you mean ‘UART_HandleTypeDef’?
54 | void _configureOPAMPs(OPAMP_HandleTypeDef *OPAMPA, OPAMP_HandleTypeDef *OPAMPB, OPAMP_HandleTypeDef *OPAMPC){
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:54:44: error: ‘OPAMPA’ was not declared in this scope; did you mean ‘OPAMP’?
54 | void _configureOPAMPs(OPAMP_HandleTypeDef *OPAMPA, OPAMP_HandleTypeDef *OPAMPB, OPAMP_HandleTypeDef *OPAMPC){
| ^~~~~~
| OPAMP
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:54:52: error: ‘OPAMP_HandleTypeDef’ was not declared in this scope; did you mean ‘UART_HandleTypeDef’?
54 | void _configureOPAMPs(OPAMP_HandleTypeDef *OPAMPA, OPAMP_HandleTypeDef *OPAMPB, OPAMP_HandleTypeDef *OPAMPC){
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:54:73: error: ‘OPAMPB’ was not declared in this scope; did you mean ‘OPAMP’?
54 | void _configureOPAMPs(OPAMP_HandleTypeDef *OPAMPA, OPAMP_HandleTypeDef *OPAMPB, OPAMP_HandleTypeDef *OPAMPC){
| ^~~~~~
| OPAMP
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:54:81: error: ‘OPAMP_HandleTypeDef’ was not declared in this scope; did you mean ‘UART_HandleTypeDef’?
54 | void _configureOPAMPs(OPAMP_HandleTypeDef *OPAMPA, OPAMP_HandleTypeDef *OPAMPB, OPAMP_HandleTypeDef *OPAMPC){
| ^~~~~~~~~~~~~~~~~~~
| UART_HandleTypeDef
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:54:102: error: ‘OPAMPC’ was not declared in this scope; did you mean ‘OPAMP’?
54 | void _configureOPAMPs(OPAMP_HandleTypeDef *OPAMPA, OPAMP_HandleTypeDef *OPAMPB, OPAMP_HandleTypeDef *OPAMPC){
| ^~~~~~
| OPAMP
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp: In function ‘void _configureADCInline(int, int, int)’:
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:83:21: error: ‘hopamp1’ was not declared in this scope
83 | _configureOPAMPs(&hopamp1, &hopamp3, &hopamp2);
| ^~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:83:31: error: ‘hopamp3’ was not declared in this scope
83 | _configureOPAMPs(&hopamp1, &hopamp3, &hopamp2);
| ^~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:83:41: error: ‘hopamp2’ was not declared in this scope
83 | _configureOPAMPs(&hopamp1, &hopamp3, &hopamp2);
| ^~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:83:3: error: ‘_configureOPAMPs’ was not declared in this scope
83 | _configureOPAMPs(&hopamp1, &hopamp3, &hopamp2);
| ^~~~~~~~~~~~~~~~
.pio\libdeps\disco_b_g431b_esc1\Simple FOC\src\current_sense\hardware_specific\stm32g4_mcu.cpp:99:3: error: ‘HAL_OPAMP_Start’ was not declared in this scope; did you mean ‘HAL_PCD_Start’?
99 | HAL_OPAMP_Start(&hopamp1);
| ^~~~~~~~~~~~~~~
| HAL_PCD_Start
*** [.pio\build\disco_b_g431b_esc1\lib544\Simple FOC\current_sense\hardware_specific\stm32g4_mcu.cpp.o] Error 1
================================================================================= [FAILED] Took 16.06 seconds =================================================================================
Der Terminalprozess “C:\Users\dika.platformio\penv\Scripts\platformio.exe ‘run’” wurde mit folgendem Exitcode beendet: 1.
Das Terminal wird von Aufgaben wiederverwendet, drücken Sie zum Schließen eine beliebige Taste.
Unfortunately, digging into the potential root cause of these errors is by far miles away from my coding skills.
Again, thank you very much for your patience,
best regards,
Dirk