Skip to content

Commit 4647de0

Browse files
committed
variants(G4): add Phoque1 and Phoque2 brushless driver variants
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent 4a8b28a commit 4647de0

9 files changed

Lines changed: 1092 additions & 0 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,8 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
530530

531531
| Status | Device(s) | Name | Release | Notes |
532532
| :----: | :-------: | ---- | :-----: | :---- |
533+
| :yellow_heart: | STSPIN32G4 | Phoque 1 Brushless Motor Driver | **3.0.1* | |
534+
| :yellow_heart: | STM32G431CBU | Phoque 2 Brushless Motor Driver | **3.0.1* | |
533535
| :green_heart: | STM32G474CEU | WeAct G474CE | *2.10.0* | [More info](https://github.com/WeActStudio/WeActStudio.STM32G474CoreBoard) |
534536
| :green_heart: | STM32G431C6<br>STM32G431C8<br>STM32G431CB | Generic Board | *2.4.0* | |
535537
| :green_heart: | STM32G431C6U<br>STM32G431C8U<br>STM32G431CBU | Generic Board | *2.0.0* | |

boards.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8164,6 +8164,26 @@ GenG4.openocd.target=stm32g4x
81648164
GenG4.vid.0=0x0483
81658165
GenG4.pid.0=0x5740
81668166

8167+
# Phoque 1 Brushless Motor Driver
8168+
GenG4.menu.pnum.PHOQUE1=Phoque 1
8169+
GenG4.menu.pnum.PHOQUE1.upload.maximum_size=131072
8170+
GenG4.menu.pnum.PHOQUE1.upload.maximum_data_size=32768
8171+
GenG4.menu.pnum.PHOQUE1.build.board=PHOQUE1
8172+
GenG4.menu.pnum.PHOQUE1.build.product_line=STM32G431xx
8173+
GenG4.menu.pnum.PHOQUE1.build.variant=STM32G4xx/G431V(6-8-B)T_G441VBT
8174+
GenG4.menu.pnum.PHOQUE1.build.variant_h=variant_{build.board}.h
8175+
GenG4.menu.pnum.PHOQUE1.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32G4xx/STM32G431.svd
8176+
8177+
# Phoque 2 Brushless Motor Driver
8178+
GenG4.menu.pnum.PHOQUE2=Phoque 2
8179+
GenG4.menu.pnum.PHOQUE2.upload.maximum_size=131072
8180+
GenG4.menu.pnum.PHOQUE2.upload.maximum_data_size=32768
8181+
GenG4.menu.pnum.PHOQUE2.build.board=PHOQUE2
8182+
GenG4.menu.pnum.PHOQUE2.build.product_line=STM32G431xx
8183+
GenG4.menu.pnum.PHOQUE2.build.variant=STM32G4xx/G431C(6-8-B)U_G441CBU
8184+
GenG4.menu.pnum.PHOQUE2.build.variant_h=variant_{build.board}.h
8185+
GenG4.menu.pnum.PHOQUE2.debug.svd_file={runtime.tools.STM32_SVD.path}/svd/STM32G4xx/STM32G431.svd
8186+
81678187
# WEACT_G474CE board
81688188
GenG4.menu.pnum.WEACT_G474CE=WeAct G474CE
81698189
GenG4.menu.pnum.WEACT_G474CE.upload.maximum_size=524288

cmake/boards_db.cmake

Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2504,6 +2504,50 @@ target_link_options(BLACKPILL_F411CE_8M_hid INTERFACE
25042504
-mcpu=${BLACKPILL_F411CE_8M_hid_MCU}
25052505
)
25062506

2507+
2508+
# BLACKPILL_F411CE_hid
2509+
# -----------------------------------------------------------------------------
2510+
2511+
set(BLACKPILL_F411CE_hid_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32F4xx/F411C(C-E)(U-Y)")
2512+
set(BLACKPILL_F411CE_hid_MAXSIZE 524288)
2513+
set(BLACKPILL_F411CE_hid_MAXDATASIZE 131072)
2514+
set(BLACKPILL_F411CE_hid_MCU cortex-m4)
2515+
set(BLACKPILL_F411CE_hid_FPCONF "-")
2516+
add_library(BLACKPILL_F411CE_hid INTERFACE)
2517+
target_compile_options(BLACKPILL_F411CE_hid INTERFACE
2518+
"SHELL:-DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER"
2519+
"SHELL:-DSTM32F411xE -DHAL_UART_MODULE_ENABLED -DBL_HID"
2520+
"SHELL:-DCUSTOM_PERIPHERAL_PINS"
2521+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
2522+
-mcpu=${BLACKPILL_F411CE_hid_MCU}
2523+
)
2524+
target_compile_definitions(BLACKPILL_F411CE_hid INTERFACE
2525+
"STM32F4xx"
2526+
"ARDUINO_BLACKPILL_F411CE"
2527+
"BOARD_NAME=\"BLACKPILL_F411CE\""
2528+
"BOARD_ID=BLACKPILL_F411CE"
2529+
"VARIANT_H=\"variant_BLACKPILL_F411CE.h\""
2530+
)
2531+
target_include_directories(BLACKPILL_F411CE_hid INTERFACE
2532+
${CMAKE_CURRENT_LIST_DIR}/../system/STM32F4xx
2533+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32F4xx_HAL_Driver/Inc
2534+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32F4xx_HAL_Driver/Src
2535+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Include/
2536+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/
2537+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/
2538+
${BLACKPILL_F411CE_hid_VARIANT_PATH}
2539+
)
2540+
2541+
target_link_options(BLACKPILL_F411CE_hid INTERFACE
2542+
"LINKER:--default-script=${BLACKPILL_F411CE_hid_VARIANT_PATH}/ldscript.ld"
2543+
"LINKER:--defsym=LD_FLASH_OFFSET=0x4000"
2544+
"LINKER:--defsym=LD_MAX_SIZE=524288"
2545+
"LINKER:--defsym=LD_MAX_DATA_SIZE=131072"
2546+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
2547+
-mcpu=${BLACKPILL_F411CE_hid_MCU}
2548+
)
2549+
2550+
25072551
# BLUE_F407VE_MINI
25082552
# -----------------------------------------------------------------------------
25092553

@@ -4645,6 +4689,7 @@ target_link_options(DATABOARD_hid INTERFACE
46454689
-mcpu=${DATABOARD_hid_MCU}
46464690
)
46474691

4692+
46484693
# DEMO_F030F4
46494694
# -----------------------------------------------------------------------------
46504695

@@ -112106,6 +112151,166 @@ target_compile_options(P_NUCLEO_WB55RG_xusb_HSFS INTERFACE
112106112151
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
112107112152
)
112108112153

112154+
# PHOQUE1
112155+
# -----------------------------------------------------------------------------
112156+
112157+
set(PHOQUE1_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32G4xx/G431V(6-8-B)T_G441VBT")
112158+
set(PHOQUE1_MAXSIZE 131072)
112159+
set(PHOQUE1_MAXDATASIZE 32768)
112160+
set(PHOQUE1_MCU cortex-m4)
112161+
set(PHOQUE1_FPCONF "-")
112162+
add_library(PHOQUE1 INTERFACE)
112163+
target_compile_options(PHOQUE1 INTERFACE
112164+
"SHELL:-DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER"
112165+
"SHELL:-DSTM32G431xx"
112166+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
112167+
-mcpu=${PHOQUE1_MCU}
112168+
)
112169+
target_compile_definitions(PHOQUE1 INTERFACE
112170+
"STM32G4xx"
112171+
"ARDUINO_PHOQUE"
112172+
"ARDUINO_PHOQUE1"
112173+
"BOARD_NAME=\"PHOQUE1\""
112174+
"BOARD_ID=PHOQUE1"
112175+
"VARIANT_H=\"variant_PHOQUE1.h\""
112176+
)
112177+
target_include_directories(PHOQUE1 INTERFACE
112178+
${CMAKE_CURRENT_LIST_DIR}/../system/STM32G4xx
112179+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32G4xx_HAL_Driver/Inc
112180+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32G4xx_HAL_Driver/Src
112181+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32G4xx/Include/
112182+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32G4xx/Source/
112183+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32G4xx/Source/Templates/gcc/
112184+
${PHOQUE1_VARIANT_PATH}
112185+
)
112186+
112187+
target_link_options(PHOQUE1 INTERFACE
112188+
"LINKER:--default-script=${PHOQUE1_VARIANT_PATH}/ldscript.ld"
112189+
"LINKER:--defsym=LD_FLASH_OFFSET=0x0"
112190+
"LINKER:--defsym=LD_MAX_SIZE=131072"
112191+
"LINKER:--defsym=LD_MAX_DATA_SIZE=32768"
112192+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
112193+
-mcpu=${PHOQUE1_MCU}
112194+
)
112195+
112196+
add_library(PHOQUE1_serial_disabled INTERFACE)
112197+
target_compile_options(PHOQUE1_serial_disabled INTERFACE
112198+
)
112199+
add_library(PHOQUE1_serial_generic INTERFACE)
112200+
target_compile_options(PHOQUE1_serial_generic INTERFACE
112201+
"SHELL:-DHAL_UART_MODULE_ENABLED"
112202+
)
112203+
add_library(PHOQUE1_serial_none INTERFACE)
112204+
target_compile_options(PHOQUE1_serial_none INTERFACE
112205+
"SHELL:-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE"
112206+
)
112207+
add_library(PHOQUE1_usb_CDC INTERFACE)
112208+
target_compile_options(PHOQUE1_usb_CDC INTERFACE
112209+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB"
112210+
)
112211+
add_library(PHOQUE1_usb_CDCgen INTERFACE)
112212+
target_compile_options(PHOQUE1_usb_CDCgen INTERFACE
112213+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC"
112214+
)
112215+
add_library(PHOQUE1_usb_HID INTERFACE)
112216+
target_compile_options(PHOQUE1_usb_HID INTERFACE
112217+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_HID_COMPOSITE"
112218+
)
112219+
add_library(PHOQUE1_usb_none INTERFACE)
112220+
target_compile_options(PHOQUE1_usb_none INTERFACE
112221+
)
112222+
add_library(PHOQUE1_xusb_FS INTERFACE)
112223+
target_compile_options(PHOQUE1_xusb_FS INTERFACE
112224+
)
112225+
add_library(PHOQUE1_xusb_HS INTERFACE)
112226+
target_compile_options(PHOQUE1_xusb_HS INTERFACE
112227+
"SHELL:-DUSE_USB_HS"
112228+
)
112229+
add_library(PHOQUE1_xusb_HSFS INTERFACE)
112230+
target_compile_options(PHOQUE1_xusb_HSFS INTERFACE
112231+
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
112232+
)
112233+
112234+
# PHOQUE2
112235+
# -----------------------------------------------------------------------------
112236+
112237+
set(PHOQUE2_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32G4xx/G431C(6-8-B)U_G441CBU")
112238+
set(PHOQUE2_MAXSIZE 131072)
112239+
set(PHOQUE2_MAXDATASIZE 32768)
112240+
set(PHOQUE2_MCU cortex-m4)
112241+
set(PHOQUE2_FPCONF "-")
112242+
add_library(PHOQUE2 INTERFACE)
112243+
target_compile_options(PHOQUE2 INTERFACE
112244+
"SHELL:-DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER"
112245+
"SHELL:-DSTM32G431xx"
112246+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
112247+
-mcpu=${PHOQUE2_MCU}
112248+
)
112249+
target_compile_definitions(PHOQUE2 INTERFACE
112250+
"STM32G4xx"
112251+
"ARDUINO_PHOQUE"
112252+
"ARDUINO_PHOQUE2"
112253+
"BOARD_NAME=\"PHOQUE2\""
112254+
"BOARD_ID=PHOQUE2"
112255+
"VARIANT_H=\"variant_PHOQUE2.h\""
112256+
)
112257+
target_include_directories(PHOQUE2 INTERFACE
112258+
${CMAKE_CURRENT_LIST_DIR}/../system/STM32G4xx
112259+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32G4xx_HAL_Driver/Inc
112260+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32G4xx_HAL_Driver/Src
112261+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32G4xx/Include/
112262+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32G4xx/Source/
112263+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32G4xx/Source/Templates/gcc/
112264+
${PHOQUE2_VARIANT_PATH}
112265+
)
112266+
112267+
target_link_options(PHOQUE2 INTERFACE
112268+
"LINKER:--default-script=${PHOQUE2_VARIANT_PATH}/ldscript.ld"
112269+
"LINKER:--defsym=LD_FLASH_OFFSET=0x0"
112270+
"LINKER:--defsym=LD_MAX_SIZE=131072"
112271+
"LINKER:--defsym=LD_MAX_DATA_SIZE=32768"
112272+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
112273+
-mcpu=${PHOQUE2_MCU}
112274+
)
112275+
112276+
add_library(PHOQUE2_serial_disabled INTERFACE)
112277+
target_compile_options(PHOQUE2_serial_disabled INTERFACE
112278+
)
112279+
add_library(PHOQUE2_serial_generic INTERFACE)
112280+
target_compile_options(PHOQUE2_serial_generic INTERFACE
112281+
"SHELL:-DHAL_UART_MODULE_ENABLED"
112282+
)
112283+
add_library(PHOQUE2_serial_none INTERFACE)
112284+
target_compile_options(PHOQUE2_serial_none INTERFACE
112285+
"SHELL:-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE"
112286+
)
112287+
add_library(PHOQUE2_usb_CDC INTERFACE)
112288+
target_compile_options(PHOQUE2_usb_CDC INTERFACE
112289+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB"
112290+
)
112291+
add_library(PHOQUE2_usb_CDCgen INTERFACE)
112292+
target_compile_options(PHOQUE2_usb_CDCgen INTERFACE
112293+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC"
112294+
)
112295+
add_library(PHOQUE2_usb_HID INTERFACE)
112296+
target_compile_options(PHOQUE2_usb_HID INTERFACE
112297+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_HID_COMPOSITE"
112298+
)
112299+
add_library(PHOQUE2_usb_none INTERFACE)
112300+
target_compile_options(PHOQUE2_usb_none INTERFACE
112301+
)
112302+
add_library(PHOQUE2_xusb_FS INTERFACE)
112303+
target_compile_options(PHOQUE2_xusb_FS INTERFACE
112304+
)
112305+
add_library(PHOQUE2_xusb_HS INTERFACE)
112306+
target_compile_options(PHOQUE2_xusb_HS INTERFACE
112307+
"SHELL:-DUSE_USB_HS"
112308+
)
112309+
add_library(PHOQUE2_xusb_HSFS INTERFACE)
112310+
target_compile_options(PHOQUE2_xusb_HSFS INTERFACE
112311+
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
112312+
)
112313+
112109112314
# PRNTR_V1
112110112315
# -----------------------------------------------------------------------------
112111112316

variants/STM32G4xx/G431C(6-8-B)U_G441CBU/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ add_library(variant_bin STATIC EXCLUDE_FROM_ALL
2424
PeripheralPins_B_G431B_ESC1.c
2525
variant_B_G431B_ESC1.cpp
2626
variant_generic.cpp
27+
variant_PHOQUE2.cpp
2728
)
2829
target_link_libraries(variant_bin PUBLIC variant_usage)
2930

0 commit comments

Comments
 (0)