Skip to content

Commit 15c1c9a

Browse files
Moddingearfpistm
authored andcommitted
variants(G4): add Phoque1 and Phoque2 brushless driver variants
Signed-off-by: Gabriel Zerbib <moddingear@gmail.com>
1 parent 36a8f85 commit 15c1c9a

9 files changed

Lines changed: 1092 additions & 43 deletions

File tree

‎README.md‎

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

523523
| Status | Device(s) | Name | Release | Notes |
524524
| :----: | :-------: | ---- | :-----: | :---- |
525+
| :yellow_heart: | STM32G431VB | Phoque 1 Brushless Motor Driver | **3.0.1* | |
526+
| :yellow_heart: | STM32G431CBU | Phoque 2 Brushless Motor Driver | **3.0.1* | |
525527
| :green_heart: | STM32G474CEU | WeAct G474CE | *2.10.0* | [More info](https://github.com/WeActStudio/WeActStudio.STM32G474CoreBoard) |
526528
| :green_heart: | STM32G431C6<br>STM32G431C8<br>STM32G431CB | Generic Board | *2.4.0* | |
527529
| :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 & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -2260,7 +2260,8 @@ target_link_options(BLACKPILL_F401CE_hid INTERFACE
22602260
-mcpu=${BLACKPILL_F401CE_hid_MCU}
22612261
)
22622262

2263-
# BLACKPILL_F411CE_25M
2263+
2264+
# BLACKPILL_F411CE
22642265
# -----------------------------------------------------------------------------
22652266

22662267
set(BLACKPILL_F411CE_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32F4xx/F411C(C-E)(U-Y)")
@@ -2340,48 +2341,6 @@ target_compile_options(BLACKPILL_F411CE_xusb_HSFS INTERFACE
23402341
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
23412342
)
23422343

2343-
# BLACKPILL_F411CE_25M_hid
2344-
# -----------------------------------------------------------------------------
2345-
2346-
set(BLACKPILL_F411CE_hid_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32F4xx/F411C(C-E)(U-Y)")
2347-
set(BLACKPILL_F411CE_hid_MAXSIZE 524288)
2348-
set(BLACKPILL_F411CE_hid_MAXDATASIZE 131072)
2349-
set(BLACKPILL_F411CE_hid_MCU cortex-m4)
2350-
set(BLACKPILL_F411CE_hid_FPCONF "-")
2351-
add_library(BLACKPILL_F411CE_hid INTERFACE)
2352-
target_compile_options(BLACKPILL_F411CE_hid INTERFACE
2353-
"SHELL:-DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER"
2354-
"SHELL:-DSTM32F411xE -DHAL_UART_MODULE_ENABLED -DBL_HID"
2355-
"SHELL:-DCUSTOM_PERIPHERAL_PINS"
2356-
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
2357-
-mcpu=${BLACKPILL_F411CE_hid_MCU}
2358-
)
2359-
target_compile_definitions(BLACKPILL_F411CE_hid INTERFACE
2360-
"STM32F4xx"
2361-
"ARDUINO_BLACKPILL_F411CE"
2362-
"BOARD_NAME=\"BLACKPILL_F411CE\""
2363-
"BOARD_ID=BLACKPILL_F411CE"
2364-
"VARIANT_H=\"variant_BLACKPILL_F411CE.h\""
2365-
)
2366-
target_include_directories(BLACKPILL_F411CE_hid INTERFACE
2367-
${CMAKE_CURRENT_LIST_DIR}/../system/STM32F4xx
2368-
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32F4xx_HAL_Driver/Inc
2369-
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32F4xx_HAL_Driver/Src
2370-
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Include/
2371-
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/
2372-
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/
2373-
${BLACKPILL_F411CE_hid_VARIANT_PATH}
2374-
)
2375-
2376-
target_link_options(BLACKPILL_F411CE_hid INTERFACE
2377-
"LINKER:--default-script=${BLACKPILL_F411CE_hid_VARIANT_PATH}/ldscript.ld"
2378-
"LINKER:--defsym=LD_FLASH_OFFSET=0x4000"
2379-
"LINKER:--defsym=LD_MAX_SIZE=524288"
2380-
"LINKER:--defsym=LD_MAX_DATA_SIZE=131072"
2381-
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
2382-
-mcpu=${BLACKPILL_F411CE_hid_MCU}
2383-
)
2384-
23852344
# BLACKPILL_F411CE_8M
23862345
# -----------------------------------------------------------------------------
23872346

@@ -2504,6 +2463,50 @@ target_link_options(BLACKPILL_F411CE_8M_hid INTERFACE
25042463
-mcpu=${BLACKPILL_F411CE_8M_hid_MCU}
25052464
)
25062465

2466+
2467+
# BLACKPILL_F411CE_hid
2468+
# -----------------------------------------------------------------------------
2469+
2470+
set(BLACKPILL_F411CE_hid_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32F4xx/F411C(C-E)(U-Y)")
2471+
set(BLACKPILL_F411CE_hid_MAXSIZE 524288)
2472+
set(BLACKPILL_F411CE_hid_MAXDATASIZE 131072)
2473+
set(BLACKPILL_F411CE_hid_MCU cortex-m4)
2474+
set(BLACKPILL_F411CE_hid_FPCONF "-")
2475+
add_library(BLACKPILL_F411CE_hid INTERFACE)
2476+
target_compile_options(BLACKPILL_F411CE_hid INTERFACE
2477+
"SHELL:-DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER"
2478+
"SHELL:-DSTM32F411xE -DHAL_UART_MODULE_ENABLED -DBL_HID"
2479+
"SHELL:-DCUSTOM_PERIPHERAL_PINS"
2480+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
2481+
-mcpu=${BLACKPILL_F411CE_hid_MCU}
2482+
)
2483+
target_compile_definitions(BLACKPILL_F411CE_hid INTERFACE
2484+
"STM32F4xx"
2485+
"ARDUINO_BLACKPILL_F411CE"
2486+
"BOARD_NAME=\"BLACKPILL_F411CE\""
2487+
"BOARD_ID=BLACKPILL_F411CE"
2488+
"VARIANT_H=\"variant_BLACKPILL_F411CE.h\""
2489+
)
2490+
target_include_directories(BLACKPILL_F411CE_hid INTERFACE
2491+
${CMAKE_CURRENT_LIST_DIR}/../system/STM32F4xx
2492+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32F4xx_HAL_Driver/Inc
2493+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32F4xx_HAL_Driver/Src
2494+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Include/
2495+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/
2496+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/
2497+
${BLACKPILL_F411CE_hid_VARIANT_PATH}
2498+
)
2499+
2500+
target_link_options(BLACKPILL_F411CE_hid INTERFACE
2501+
"LINKER:--default-script=${BLACKPILL_F411CE_hid_VARIANT_PATH}/ldscript.ld"
2502+
"LINKER:--defsym=LD_FLASH_OFFSET=0x4000"
2503+
"LINKER:--defsym=LD_MAX_SIZE=524288"
2504+
"LINKER:--defsym=LD_MAX_DATA_SIZE=131072"
2505+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
2506+
-mcpu=${BLACKPILL_F411CE_hid_MCU}
2507+
)
2508+
2509+
25072510
# BLUE_F407VE_MINI
25082511
# -----------------------------------------------------------------------------
25092512

@@ -4645,6 +4648,7 @@ target_link_options(DATABOARD_hid INTERFACE
46454648
-mcpu=${DATABOARD_hid_MCU}
46464649
)
46474650

4651+
46484652
# DEMO_F030F4
46494653
# -----------------------------------------------------------------------------
46504654

@@ -112106,6 +112110,164 @@ target_compile_options(P_NUCLEO_WB55RG_xusb_HSFS INTERFACE
112106112110
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
112107112111
)
112108112112

112113+
# PHOQUE1
112114+
# -----------------------------------------------------------------------------
112115+
112116+
set(PHOQUE1_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32G4xx/G431V(6-8-B)T_G441VBT")
112117+
set(PHOQUE1_MAXSIZE 131072)
112118+
set(PHOQUE1_MAXDATASIZE 32768)
112119+
set(PHOQUE1_MCU cortex-m4)
112120+
set(PHOQUE1_FPCONF "-")
112121+
add_library(PHOQUE1 INTERFACE)
112122+
target_compile_options(PHOQUE1 INTERFACE
112123+
"SHELL:-DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER"
112124+
"SHELL:-DSTM32G431xx"
112125+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
112126+
-mcpu=${PHOQUE1_MCU}
112127+
)
112128+
target_compile_definitions(PHOQUE1 INTERFACE
112129+
"STM32G4xx"
112130+
"ARDUINO_PHOQUE1"
112131+
"BOARD_NAME=\"PHOQUE1\""
112132+
"BOARD_ID=PHOQUE1"
112133+
"VARIANT_H=\"variant_PHOQUE1.h\""
112134+
)
112135+
target_include_directories(PHOQUE1 INTERFACE
112136+
${CMAKE_CURRENT_LIST_DIR}/../system/STM32G4xx
112137+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32G4xx_HAL_Driver/Inc
112138+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32G4xx_HAL_Driver/Src
112139+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32G4xx/Include/
112140+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32G4xx/Source/
112141+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32G4xx/Source/Templates/gcc/
112142+
${PHOQUE1_VARIANT_PATH}
112143+
)
112144+
112145+
target_link_options(PHOQUE1 INTERFACE
112146+
"LINKER:--default-script=${PHOQUE1_VARIANT_PATH}/ldscript.ld"
112147+
"LINKER:--defsym=LD_FLASH_OFFSET=0x0"
112148+
"LINKER:--defsym=LD_MAX_SIZE=131072"
112149+
"LINKER:--defsym=LD_MAX_DATA_SIZE=32768"
112150+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
112151+
-mcpu=${PHOQUE1_MCU}
112152+
)
112153+
112154+
add_library(PHOQUE1_serial_disabled INTERFACE)
112155+
target_compile_options(PHOQUE1_serial_disabled INTERFACE
112156+
)
112157+
add_library(PHOQUE1_serial_generic INTERFACE)
112158+
target_compile_options(PHOQUE1_serial_generic INTERFACE
112159+
"SHELL:-DHAL_UART_MODULE_ENABLED"
112160+
)
112161+
add_library(PHOQUE1_serial_none INTERFACE)
112162+
target_compile_options(PHOQUE1_serial_none INTERFACE
112163+
"SHELL:-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE"
112164+
)
112165+
add_library(PHOQUE1_usb_CDC INTERFACE)
112166+
target_compile_options(PHOQUE1_usb_CDC INTERFACE
112167+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB"
112168+
)
112169+
add_library(PHOQUE1_usb_CDCgen INTERFACE)
112170+
target_compile_options(PHOQUE1_usb_CDCgen INTERFACE
112171+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC"
112172+
)
112173+
add_library(PHOQUE1_usb_HID INTERFACE)
112174+
target_compile_options(PHOQUE1_usb_HID INTERFACE
112175+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_HID_COMPOSITE"
112176+
)
112177+
add_library(PHOQUE1_usb_none INTERFACE)
112178+
target_compile_options(PHOQUE1_usb_none INTERFACE
112179+
)
112180+
add_library(PHOQUE1_xusb_FS INTERFACE)
112181+
target_compile_options(PHOQUE1_xusb_FS INTERFACE
112182+
)
112183+
add_library(PHOQUE1_xusb_HS INTERFACE)
112184+
target_compile_options(PHOQUE1_xusb_HS INTERFACE
112185+
"SHELL:-DUSE_USB_HS"
112186+
)
112187+
add_library(PHOQUE1_xusb_HSFS INTERFACE)
112188+
target_compile_options(PHOQUE1_xusb_HSFS INTERFACE
112189+
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
112190+
)
112191+
112192+
# PHOQUE2
112193+
# -----------------------------------------------------------------------------
112194+
112195+
set(PHOQUE2_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32G4xx/G431C(6-8-B)U_G441CBU")
112196+
set(PHOQUE2_MAXSIZE 131072)
112197+
set(PHOQUE2_MAXDATASIZE 32768)
112198+
set(PHOQUE2_MCU cortex-m4)
112199+
set(PHOQUE2_FPCONF "-")
112200+
add_library(PHOQUE2 INTERFACE)
112201+
target_compile_options(PHOQUE2 INTERFACE
112202+
"SHELL:-DUSE_HAL_DRIVER -DUSE_FULL_LL_DRIVER"
112203+
"SHELL:-DSTM32G431xx"
112204+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
112205+
-mcpu=${PHOQUE2_MCU}
112206+
)
112207+
target_compile_definitions(PHOQUE2 INTERFACE
112208+
"STM32G4xx"
112209+
"ARDUINO_PHOQUE2"
112210+
"BOARD_NAME=\"PHOQUE2\""
112211+
"BOARD_ID=PHOQUE2"
112212+
"VARIANT_H=\"variant_PHOQUE2.h\""
112213+
)
112214+
target_include_directories(PHOQUE2 INTERFACE
112215+
${CMAKE_CURRENT_LIST_DIR}/../system/STM32G4xx
112216+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32G4xx_HAL_Driver/Inc
112217+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32G4xx_HAL_Driver/Src
112218+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32G4xx/Include/
112219+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32G4xx/Source/
112220+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32G4xx/Source/Templates/gcc/
112221+
${PHOQUE2_VARIANT_PATH}
112222+
)
112223+
112224+
target_link_options(PHOQUE2 INTERFACE
112225+
"LINKER:--default-script=${PHOQUE2_VARIANT_PATH}/ldscript.ld"
112226+
"LINKER:--defsym=LD_FLASH_OFFSET=0x0"
112227+
"LINKER:--defsym=LD_MAX_SIZE=131072"
112228+
"LINKER:--defsym=LD_MAX_DATA_SIZE=32768"
112229+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
112230+
-mcpu=${PHOQUE2_MCU}
112231+
)
112232+
112233+
add_library(PHOQUE2_serial_disabled INTERFACE)
112234+
target_compile_options(PHOQUE2_serial_disabled INTERFACE
112235+
)
112236+
add_library(PHOQUE2_serial_generic INTERFACE)
112237+
target_compile_options(PHOQUE2_serial_generic INTERFACE
112238+
"SHELL:-DHAL_UART_MODULE_ENABLED"
112239+
)
112240+
add_library(PHOQUE2_serial_none INTERFACE)
112241+
target_compile_options(PHOQUE2_serial_none INTERFACE
112242+
"SHELL:-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE"
112243+
)
112244+
add_library(PHOQUE2_usb_CDC INTERFACE)
112245+
target_compile_options(PHOQUE2_usb_CDC INTERFACE
112246+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB"
112247+
)
112248+
add_library(PHOQUE2_usb_CDCgen INTERFACE)
112249+
target_compile_options(PHOQUE2_usb_CDCgen INTERFACE
112250+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC"
112251+
)
112252+
add_library(PHOQUE2_usb_HID INTERFACE)
112253+
target_compile_options(PHOQUE2_usb_HID INTERFACE
112254+
"SHELL:-DUSBCON -DUSBD_VID=0x0483 -DUSBD_PID=0x5740 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_HID_COMPOSITE"
112255+
)
112256+
add_library(PHOQUE2_usb_none INTERFACE)
112257+
target_compile_options(PHOQUE2_usb_none INTERFACE
112258+
)
112259+
add_library(PHOQUE2_xusb_FS INTERFACE)
112260+
target_compile_options(PHOQUE2_xusb_FS INTERFACE
112261+
)
112262+
add_library(PHOQUE2_xusb_HS INTERFACE)
112263+
target_compile_options(PHOQUE2_xusb_HS INTERFACE
112264+
"SHELL:-DUSE_USB_HS"
112265+
)
112266+
add_library(PHOQUE2_xusb_HSFS INTERFACE)
112267+
target_compile_options(PHOQUE2_xusb_HSFS INTERFACE
112268+
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
112269+
)
112270+
112109112271
# PRNTR_V1
112110112272
# -----------------------------------------------------------------------------
112111112273

‎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)