Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 7efecbf

Browse files
authoredJun 14, 2024··
Merge pull request #2399 from zfields/cygnet
feat: Blues Cygnet
2 parents 260e2fd + e800b72 commit 7efecbf

File tree

10 files changed

+983
-183
lines changed

10 files changed

+983
-183
lines changed
 

‎README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
7575
- [Generic STM32WBA boards](#generic-stm32wba-boards)
7676
- [Generic STM32WL boards](#generic-stm32wl-boards)
7777
- [3D printer boards](#3d-printer-boards)
78-
- [Blues Wireless boards](#blues-wireless-boards)
78+
- [Blues boards](#blues-boards)
7979
- [Elecgator boards](#elecgator-boards)
8080
- [Electronic Speed Controller boards](#electronic-speed-controller-boards)
8181
- [Garatronic/McHobby boards](#garatronicmchobby-boards)
@@ -772,11 +772,12 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
772772
| :green_heart: | STM32F446VE | [FYSETC_S6](https://wiki.fysetc.com/FYSETC_S6/) | *1.9.0* | |
773773
| :green_heart: | STM32G0B1CB | [BTT EBB42 CAN V1.1](https://github.com/bigtreetech/EBB/tree/master/EBB%20CAN%20V1.1%20(STM32G0B1)/EBB42%20CAN%20V1.1) | *2.4.0* | |
774774

775-
### [Blues Wireless](https://blues.io/) boards
775+
### [Blues](https://blues.com/) boards
776776

777777
| Status | Device(s) | Name | Release | Notes |
778778
| :----: | :-------: | ---- | :-----: | :---- |
779-
| :green_heart: | STM32L4R5ZIYx | [Swan R5](https://blues.io/products/swan) | *2.1.0* | |
779+
| :green_heart: | STM32L4R5ZIYx | [Swan R5](https://blues.com/products/swan) | *2.1.0* | |
780+
| :yellow_heart: | STM32L433CC | [Cygnet](https://blues.com/products) | **2.8.0** | |
780781

781782
### [Elecgator](https://www.elecgator.com/) boards
782783

‎boards.txt

Lines changed: 101 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -10779,46 +10779,63 @@ GenWL.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
1077910779
3dprinter.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
1078010780

1078110781
################################################################################
10782-
# Blues Wireless boards
10782+
# Blues boards
1078310783

10784-
BluesW.name=Blues Wireless boards
10784+
Blues.name=Blues boards
1078510785

10786-
BluesW.build.core=arduino
10787-
BluesW.build.board=BluesWireless
10788-
BluesW.build.variant_h=variant_{build.board}.h
10789-
BluesW.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
10790-
BluesW.build.flash_offset=0x0
10791-
BluesW.upload.maximum_size=0
10792-
BluesW.upload.maximum_data_size=0
10786+
Blues.build.core=arduino
10787+
Blues.build.board=Blues
10788+
Blues.build.variant_h=variant_{build.board}.h
10789+
Blues.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
10790+
Blues.build.flash_offset=0x0
10791+
Blues.upload.maximum_size=0
10792+
Blues.upload.maximum_data_size=0
1079310793

1079410794
# Swan R5 board
10795-
BluesW.menu.pnum.SWAN_R5=Swan R5
10796-
BluesW.menu.pnum.SWAN_R5.upload.maximum_size=2097152
10797-
BluesW.menu.pnum.SWAN_R5.upload.maximum_data_size=655360
10798-
BluesW.menu.pnum.SWAN_R5.build.mcu=cortex-m4
10799-
BluesW.menu.pnum.SWAN_R5.build.fpu=-mfpu=fpv4-sp-d16
10800-
BluesW.menu.pnum.SWAN_R5.build.float-abi=-mfloat-abi=hard
10801-
BluesW.menu.pnum.SWAN_R5.build.board=SWAN_R5
10802-
BluesW.menu.pnum.SWAN_R5.build.series=STM32L4xx
10803-
BluesW.menu.pnum.SWAN_R5.build.product_line=STM32L4R5xx
10804-
BluesW.menu.pnum.SWAN_R5.build.variant=STM32L4xx/L4R5Z(G-I)Y_L4R9Z(G-I)Y_L4S5ZIY_L4S9ZIY
10805-
BluesW.menu.pnum.SWAN_R5.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
10795+
Blues.menu.pnum.SWAN_R5=Swan R5
10796+
Blues.menu.pnum.SWAN_R5.upload.maximum_size=2097152
10797+
Blues.menu.pnum.SWAN_R5.upload.maximum_data_size=655360
10798+
Blues.menu.pnum.SWAN_R5.build.mcu=cortex-m4
10799+
Blues.menu.pnum.SWAN_R5.build.fpu=-mfpu=fpv4-sp-d16
10800+
Blues.menu.pnum.SWAN_R5.build.float-abi=-mfloat-abi=hard
10801+
Blues.menu.pnum.SWAN_R5.build.board=SWAN_R5
10802+
Blues.menu.pnum.SWAN_R5.build.series=STM32L4xx
10803+
Blues.menu.pnum.SWAN_R5.build.product_line=STM32L4R5xx
10804+
Blues.menu.pnum.SWAN_R5.build.variant=STM32L4xx/L4R5Z(G-I)Y_L4R9Z(G-I)Y_L4S5ZIY_L4S9ZIY
10805+
Blues.menu.pnum.SWAN_R5.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
10806+
Blues.menu.pnum.SWAN_R5.build.vid=0x30A4
10807+
Blues.menu.pnum.SWAN_R5.build.pid=0x0002
10808+
10809+
# Cygnet board
10810+
Blues.menu.pnum.CYGNET=Cygnet
10811+
Blues.menu.pnum.CYGNET.upload.maximum_size=262144
10812+
Blues.menu.pnum.CYGNET.upload.maximum_data_size=65536
10813+
Blues.menu.pnum.CYGNET.build.mcu=cortex-m4
10814+
Blues.menu.pnum.CYGNET.build.fpu=-mfpu=fpv4-sp-d16
10815+
Blues.menu.pnum.CYGNET.build.float-abi=-mfloat-abi=hard
10816+
Blues.menu.pnum.CYGNET.build.board=CYGNET
10817+
Blues.menu.pnum.CYGNET.build.series=STM32L4xx
10818+
Blues.menu.pnum.CYGNET.build.product_line=STM32L433xx
10819+
Blues.menu.pnum.CYGNET.build.variant=STM32L4xx/L433C(B-C)(T-U)_L443CC(T-U)
10820+
Blues.menu.pnum.CYGNET.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
10821+
Blues.menu.pnum.CYGNET_L4.build.vid=0x30A4
10822+
Blues.menu.pnum.CYGNET_L4.build.pid=0x0003
1080610823

1080710824
# Upload menu
10808-
BluesW.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
10809-
BluesW.menu.upload_method.swdMethod.upload.protocol=0
10810-
BluesW.menu.upload_method.swdMethod.upload.options=
10811-
BluesW.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
10825+
Blues.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
10826+
Blues.menu.upload_method.swdMethod.upload.protocol=0
10827+
Blues.menu.upload_method.swdMethod.upload.options=
10828+
Blues.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
1081210829

10813-
BluesW.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
10814-
BluesW.menu.upload_method.serialMethod.upload.protocol=1
10815-
BluesW.menu.upload_method.serialMethod.upload.options={serial.port.file}
10816-
BluesW.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
10830+
Blues.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
10831+
Blues.menu.upload_method.serialMethod.upload.protocol=1
10832+
Blues.menu.upload_method.serialMethod.upload.options={serial.port.file}
10833+
Blues.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
1081710834

10818-
BluesW.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
10819-
BluesW.menu.upload_method.dfuMethod.upload.protocol=2
10820-
BluesW.menu.upload_method.dfuMethod.upload.options=
10821-
BluesW.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
10835+
Blues.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
10836+
Blues.menu.upload_method.dfuMethod.upload.protocol=2
10837+
Blues.menu.upload_method.dfuMethod.upload.options=
10838+
Blues.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
1082210839

1082310840
################################################################################
1082410841
# Elecgator boards
@@ -11549,11 +11566,11 @@ GenWL.menu.xserial.disabled.build.xSerial=
1154911566
3dprinter.menu.xserial.disabled=Disabled (no Serial support)
1155011567
3dprinter.menu.xserial.disabled.build.xSerial=
1155111568

11552-
BluesW.menu.xserial.generic=Enabled (generic 'Serial')
11553-
BluesW.menu.xserial.none=Enabled (no generic 'Serial')
11554-
BluesW.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
11555-
BluesW.menu.xserial.disabled=Disabled (no Serial support)
11556-
BluesW.menu.xserial.disabled.build.xSerial=
11569+
Blues.menu.xserial.generic=Enabled (generic 'Serial')
11570+
Blues.menu.xserial.none=Enabled (no generic 'Serial')
11571+
Blues.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
11572+
Blues.menu.xserial.disabled=Disabled (no Serial support)
11573+
Blues.menu.xserial.disabled.build.xSerial=
1155711574

1155811575
Elecgator.menu.xserial.generic=Enabled (generic 'Serial')
1155911576
Elecgator.menu.xserial.none=Enabled (no generic 'Serial')
@@ -11874,18 +11891,18 @@ GenWB.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS
1187411891
3dprinter.menu.xusb.HSFS=High Speed in Full Speed mode
1187511892
3dprinter.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS
1187611893

11877-
BluesW.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
11878-
BluesW.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC
11879-
BluesW.menu.usb.CDC=CDC (no generic 'Serial')
11880-
BluesW.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB
11881-
BluesW.menu.usb.HID=HID (keyboard and mouse)
11882-
BluesW.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE
11883-
BluesW.menu.usb.none=None
11884-
BluesW.menu.xusb.FS=Low/Full Speed
11885-
BluesW.menu.xusb.HS=High Speed
11886-
BluesW.menu.xusb.HS.build.usb_speed=-DUSE_USB_HS
11887-
BluesW.menu.xusb.HSFS=High Speed in Full Speed mode
11888-
BluesW.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS
11894+
Blues.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
11895+
Blues.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC
11896+
Blues.menu.usb.CDC=CDC (no generic 'Serial')
11897+
Blues.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB
11898+
Blues.menu.usb.HID=HID (keyboard and mouse)
11899+
Blues.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE
11900+
Blues.menu.usb.none=None
11901+
Blues.menu.xusb.FS=Low/Full Speed
11902+
Blues.menu.xusb.HS=High Speed
11903+
Blues.menu.xusb.HS.build.usb_speed=-DUSE_USB_HS
11904+
Blues.menu.xusb.HSFS=High Speed in Full Speed mode
11905+
Blues.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS
1188911906

1189011907
Elecgator.menu.usb.none=None
1189111908
Elecgator.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
@@ -12479,25 +12496,25 @@ GenWL.menu.opt.o0std.build.flags.optimize=-O0
1247912496
3dprinter.menu.opt.o0std=No Optimization (-O0)
1248012497
3dprinter.menu.opt.o0std.build.flags.optimize=-O0
1248112498

12482-
BluesW.menu.opt.osstd=Smallest (-Os default)
12483-
BluesW.menu.opt.oslto=Smallest (-Os) with LTO
12484-
BluesW.menu.opt.oslto.build.flags.optimize=-Os -flto
12485-
BluesW.menu.opt.o1std=Fast (-O1)
12486-
BluesW.menu.opt.o1std.build.flags.optimize=-O1
12487-
BluesW.menu.opt.o1lto=Fast (-O1) with LTO
12488-
BluesW.menu.opt.o1lto.build.flags.optimize=-O1 -flto
12489-
BluesW.menu.opt.o2std=Faster (-O2)
12490-
BluesW.menu.opt.o2std.build.flags.optimize=-O2
12491-
BluesW.menu.opt.o2lto=Faster (-O2) with LTO
12492-
BluesW.menu.opt.o2lto.build.flags.optimize=-O2 -flto
12493-
BluesW.menu.opt.o3std=Fastest (-O3)
12494-
BluesW.menu.opt.o3std.build.flags.optimize=-O3
12495-
BluesW.menu.opt.o3lto=Fastest (-O3) with LTO
12496-
BluesW.menu.opt.o3lto.build.flags.optimize=-O3 -flto
12497-
BluesW.menu.opt.ogstd=Debug (-Og)
12498-
BluesW.menu.opt.ogstd.build.flags.optimize=-Og
12499-
BluesW.menu.opt.o0std=No Optimization (-O0)
12500-
BluesW.menu.opt.o0std.build.flags.optimize=-O0
12499+
Blues.menu.opt.osstd=Smallest (-Os default)
12500+
Blues.menu.opt.oslto=Smallest (-Os) with LTO
12501+
Blues.menu.opt.oslto.build.flags.optimize=-Os -flto
12502+
Blues.menu.opt.o1std=Fast (-O1)
12503+
Blues.menu.opt.o1std.build.flags.optimize=-O1
12504+
Blues.menu.opt.o1lto=Fast (-O1) with LTO
12505+
Blues.menu.opt.o1lto.build.flags.optimize=-O1 -flto
12506+
Blues.menu.opt.o2std=Faster (-O2)
12507+
Blues.menu.opt.o2std.build.flags.optimize=-O2
12508+
Blues.menu.opt.o2lto=Faster (-O2) with LTO
12509+
Blues.menu.opt.o2lto.build.flags.optimize=-O2 -flto
12510+
Blues.menu.opt.o3std=Fastest (-O3)
12511+
Blues.menu.opt.o3std.build.flags.optimize=-O3
12512+
Blues.menu.opt.o3lto=Fastest (-O3) with LTO
12513+
Blues.menu.opt.o3lto.build.flags.optimize=-O3 -flto
12514+
Blues.menu.opt.ogstd=Debug (-Og)
12515+
Blues.menu.opt.ogstd.build.flags.optimize=-Og
12516+
Blues.menu.opt.o0std=No Optimization (-O0)
12517+
Blues.menu.opt.o0std.build.flags.optimize=-O0
1250112518

1250212519
Elecgator.menu.opt.osstd=Smallest (-Os default)
1250312520
Elecgator.menu.opt.oslto=Smallest (-Os) with LTO
@@ -12876,13 +12893,13 @@ GenWL.menu.dbg.enable_all.build.flags.debug=-g
1287612893
3dprinter.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
1287712894
3dprinter.menu.dbg.enable_all.build.flags.debug=-g
1287812895

12879-
BluesW.menu.dbg.none=None
12880-
BluesW.menu.dbg.enable_sym=Symbols Enabled (-g)
12881-
BluesW.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
12882-
BluesW.menu.dbg.enable_log=Core logs Enabled
12883-
BluesW.menu.dbg.enable_log.build.flags.debug=
12884-
BluesW.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
12885-
BluesW.menu.dbg.enable_all.build.flags.debug=-g
12896+
Blues.menu.dbg.none=None
12897+
Blues.menu.dbg.enable_sym=Symbols Enabled (-g)
12898+
Blues.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
12899+
Blues.menu.dbg.enable_log=Core logs Enabled
12900+
Blues.menu.dbg.enable_log.build.flags.debug=
12901+
Blues.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
12902+
Blues.menu.dbg.enable_all.build.flags.debug=-g
1288612903

1288712904
Elecgator.menu.dbg.none=None
1288812905
Elecgator.menu.dbg.enable_sym=Symbols Enabled (-g)
@@ -13217,15 +13234,15 @@ GenWL.menu.rtlib.full.build.flags.ldspecs=
1321713234
3dprinter.menu.rtlib.full=Newlib Standard
1321813235
3dprinter.menu.rtlib.full.build.flags.ldspecs=
1321913236

13220-
BluesW.menu.rtlib.nano=Newlib Nano (default)
13221-
BluesW.menu.rtlib.nanofp=Newlib Nano + Float Printf
13222-
BluesW.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
13223-
BluesW.menu.rtlib.nanofs=Newlib Nano + Float Scanf
13224-
BluesW.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
13225-
BluesW.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
13226-
BluesW.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
13227-
BluesW.menu.rtlib.full=Newlib Standard
13228-
BluesW.menu.rtlib.full.build.flags.ldspecs=
13237+
Blues.menu.rtlib.nano=Newlib Nano (default)
13238+
Blues.menu.rtlib.nanofp=Newlib Nano + Float Printf
13239+
Blues.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
13240+
Blues.menu.rtlib.nanofs=Newlib Nano + Float Scanf
13241+
Blues.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
13242+
Blues.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
13243+
Blues.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
13244+
Blues.menu.rtlib.full=Newlib Standard
13245+
Blues.menu.rtlib.full.build.flags.ldspecs=
1322913246

1323013247
Elecgator.menu.rtlib.nano=Newlib Nano (default)
1323113248
Elecgator.menu.rtlib.nanofp=Newlib Nano + Float Printf

‎cmake/boards_db.cmake

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106100,6 +106100,88 @@ target_compile_options(SWAN_R5_xusb_HSFS INTERFACE
106100106100
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
106101106101
)
106102106102

106103+
# CYGNET
106104+
# -----------------------------------------------------------------------------
106105+
106106+
set(CYGNET_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32L4xx/L433C(B-C)(T-U)_L443CC(T-U)")
106107+
set(CYGNET_MAXSIZE 262144)
106108+
set(CYGNET_MAXDATASIZE 65536)
106109+
set(CYGNET_MCU cortex-m4)
106110+
set(CYGNET_FPCONF "fpv4-sp-d16-hard")
106111+
add_library(CYGNET INTERFACE)
106112+
target_compile_options(CYGNET INTERFACE
106113+
"SHELL:-DSTM32L4xx "
106114+
"SHELL:-DCUSTOM_PERIPHERAL_PINS"
106115+
"SHELL:"
106116+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
106117+
-mcpu=${CYGNET_MCU}
106118+
)
106119+
target_compile_definitions(CYGNET INTERFACE
106120+
"STM32L4xx"
106121+
"ARDUINO_CYGNET"
106122+
"BOARD_NAME=\"CYGNET\""
106123+
"BOARD_ID=CYGNET"
106124+
"VARIANT_H=\"variant_CYGNET.h\""
106125+
)
106126+
target_include_directories(CYGNET INTERFACE
106127+
${CMAKE_CURRENT_LIST_DIR}/../system/STM32L4xx
106128+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32L4xx_HAL_Driver/Inc
106129+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32L4xx_HAL_Driver/Src
106130+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32L4xx/Include/
106131+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/gcc/
106132+
${CYGNET_VARIANT_PATH}
106133+
)
106134+
106135+
target_link_options(CYGNET INTERFACE
106136+
"LINKER:--default-script=${CYGNET_VARIANT_PATH}/ldscript.ld"
106137+
"LINKER:--defsym=LD_FLASH_OFFSET=0x0"
106138+
"LINKER:--defsym=LD_MAX_SIZE=262144"
106139+
"LINKER:--defsym=LD_MAX_DATA_SIZE=65536"
106140+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
106141+
-mcpu=${CYGNET_MCU}
106142+
)
106143+
106144+
add_library(CYGNET_serial_disabled INTERFACE)
106145+
target_compile_options(CYGNET_serial_disabled INTERFACE
106146+
"SHELL:"
106147+
)
106148+
add_library(CYGNET_serial_generic INTERFACE)
106149+
target_compile_options(CYGNET_serial_generic INTERFACE
106150+
"SHELL:-DHAL_UART_MODULE_ENABLED"
106151+
)
106152+
add_library(CYGNET_serial_none INTERFACE)
106153+
target_compile_options(CYGNET_serial_none INTERFACE
106154+
"SHELL:-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE"
106155+
)
106156+
add_library(CYGNET_usb_CDC INTERFACE)
106157+
target_compile_options(CYGNET_usb_CDC INTERFACE
106158+
"SHELL:-DUSBCON -DUSBD_VID=0 -DUSBD_PID=-1 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB"
106159+
)
106160+
add_library(CYGNET_usb_CDCgen INTERFACE)
106161+
target_compile_options(CYGNET_usb_CDCgen INTERFACE
106162+
"SHELL:-DUSBCON -DUSBD_VID=0 -DUSBD_PID=-1 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC"
106163+
)
106164+
add_library(CYGNET_usb_HID INTERFACE)
106165+
target_compile_options(CYGNET_usb_HID INTERFACE
106166+
"SHELL:-DUSBCON -DUSBD_VID=0 -DUSBD_PID=-1 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_HID_COMPOSITE"
106167+
)
106168+
add_library(CYGNET_usb_none INTERFACE)
106169+
target_compile_options(CYGNET_usb_none INTERFACE
106170+
"SHELL:"
106171+
)
106172+
add_library(CYGNET_xusb_FS INTERFACE)
106173+
target_compile_options(CYGNET_xusb_FS INTERFACE
106174+
"SHELL:"
106175+
)
106176+
add_library(CYGNET_xusb_HS INTERFACE)
106177+
target_compile_options(CYGNET_xusb_HS INTERFACE
106178+
"SHELL:-DUSE_USB_HS"
106179+
)
106180+
add_library(CYGNET_xusb_HSFS INTERFACE)
106181+
target_compile_options(CYGNET_xusb_HSFS INTERFACE
106182+
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
106183+
)
106184+
106103106185
# THUNDERPACK_F411
106104106186
# -----------------------------------------------------------------------------
106105106187

‎tools/platformio/boards_remap.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
"vccgnd_f103zet6": "VCCGND_F103ZET6_MINI",
3232
"waveshare_open103z": "GENERIC_F103ZEHX",
3333
"bw_swan_r5": "SWAN_R5",
34+
"blues_swan_r5": "SWAN_R5",
35+
"blues_cygnet": "CYGNET",
3436
"disco_b_g431b_esc1": "B_G431B_ESC1",
3537
"disco_b_u585i_iot02a": "B_U585I_IOT02A",
3638
"nucleo_wl55jc": "NUCLEO_WL55JC1"

‎variants/STM32L4xx/L433C(B-C)(T-U)_L443CC(T-U)/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ target_link_libraries(variant INTERFACE variant_usage)
2121
add_library(variant_bin STATIC EXCLUDE_FROM_ALL
2222
generic_clock.c
2323
PeripheralPins.c
24+
PeripheralPins_CYGNET.c
2425
variant_generic.cpp
26+
variant_CYGNET.cpp
2527
)
2628
target_link_libraries(variant_bin PUBLIC variant_usage)
2729

Lines changed: 307 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,307 @@
1+
/*
2+
*******************************************************************************
3+
* Copyright (c) 2020, STMicroelectronics
4+
* All rights reserved.
5+
*
6+
* This software component is licensed by ST under BSD 3-Clause license,
7+
* the "License"; You may not use this file except in compliance with the
8+
* License. You may obtain a copy of the License at:
9+
* opensource.org/licenses/BSD-3-Clause
10+
*
11+
*******************************************************************************
12+
*/
13+
/*
14+
* Manually generated by Blues with knowledge of the CYGNET schematic
15+
*/
16+
#if defined(ARDUINO_CYGNET)
17+
#include "Arduino.h"
18+
#include "PeripheralPins.h"
19+
20+
/* =====
21+
* Notes:
22+
* - The pins mentioned Px_y_ALTz are alternative possibilities which use other
23+
* HW peripheral instances. You can use them the same way as any other "normal"
24+
* pin (i.e. analogWrite(PA7_ALT1, 128);).
25+
*
26+
* - Commented lines are alternative possibilities which are not used per default.
27+
* If you change them, you will have to know what you do
28+
* =====
29+
*/
30+
31+
//*** ADC ***
32+
33+
#ifdef HAL_ADC_MODULE_ENABLED
34+
WEAK const PinMap PinMap_ADC[] = {
35+
{PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5 - A0
36+
{PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6 - A1
37+
{PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7 - A2
38+
{PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8 - A3
39+
{PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9 - BAT_VOLTAGE
40+
{PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10 - CK
41+
{PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11 - MI
42+
{PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12 - A5
43+
{PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15 - D11
44+
{PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 16, 0)}, // ADC1_IN16 - A4
45+
{NC, NP, 0}
46+
};
47+
#endif
48+
49+
//*** DAC ***
50+
51+
#ifdef HAL_DAC_MODULE_ENABLED
52+
WEAK const PinMap PinMap_DAC[] = {
53+
// {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC1_OUT1 - BAT_VOLTAGE
54+
{PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC1_OUT2 - CK
55+
{NC, NP, 0}
56+
};
57+
#endif
58+
59+
//*** I2C ***
60+
61+
#ifdef HAL_I2C_MODULE_ENABLED
62+
WEAK const PinMap PinMap_I2C_SDA[] = {
63+
{PA_10, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // - RX
64+
{PB_4, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, // - D13
65+
{PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // - SDA
66+
{PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // - D6
67+
// {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // - LPUART1_VCP_TX
68+
{PB_14, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // - D9
69+
{NC, NP, 0}
70+
};
71+
#endif
72+
73+
#ifdef HAL_I2C_MODULE_ENABLED
74+
WEAK const PinMap PinMap_I2C_SCL[] = {
75+
{PA_7, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, // - A5
76+
{PA_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // - TX
77+
{PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // - SCL
78+
{PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, // - D5
79+
// {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // - LPUART1_VCP_RX
80+
{PB_13, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, // - D10
81+
{NC, NP, 0}
82+
};
83+
#endif
84+
85+
//*** No I3C ***
86+
87+
//*** TIM ***
88+
89+
#ifdef HAL_TIM_MODULE_ENABLED
90+
WEAK const PinMap PinMap_TIM[] = {
91+
{PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - A0
92+
{PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 - A1
93+
// {PA_1_ALT1, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 1, 1)}, // TIM15_CH1N - A1
94+
{PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 - A2
95+
// {PA_2_ALT1, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 1, 0)}, // TIM15_CH1 - A2
96+
{PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 - A3
97+
// {PA_3_ALT1, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 2, 0)}, // TIM15_CH2 - A3
98+
// {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - CK
99+
// {PA_6, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM16, 1, 0)}, // TIM16_CH1 - MI
100+
{PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - A5
101+
// {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 - LED_BUILTIN
102+
// {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 - TX
103+
// {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 - RX
104+
// {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 - USB_DM
105+
// {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - CHARGE_DETECT
106+
{PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - D11
107+
{PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - A4
108+
// {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 - USER_BTN
109+
// {PB_6, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM16, 1, 1)}, // TIM16_CH1N - SCL
110+
{PB_8, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM16, 1, 0)}, // TIM16_CH1 - D5
111+
// {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 - LPUART1_VCP_RX
112+
// {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 - LPUART1_VCP_TX
113+
// {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - D10
114+
// {PB_13_ALT1, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 1, 1)}, // TIM15_CH1N - D10
115+
// {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - D9
116+
{PB_14, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 1, 0)}, // TIM15_CH1 - D9
117+
// {PB_14_ALT1, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 1, 0)}, // TIM15_CH1 - D9
118+
// {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - D12
119+
{PB_15, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 2, 0)}, // TIM15_CH2 - D12
120+
// {PB_15_ALT1, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 2, 0)}, // TIM15_CH2 - D12
121+
{NC, NP, 0}
122+
};
123+
#endif
124+
125+
//*** UART ***
126+
127+
#ifdef HAL_UART_MODULE_ENABLED
128+
WEAK const PinMap PinMap_UART_TX[] = {
129+
{PA_2, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - A2
130+
{PA_2_ALT1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - A2
131+
{PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - TX
132+
{PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - SCL
133+
{PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - LPUART1_VCP_RX
134+
{PB_11, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - LPUART1_VCP_TX
135+
{NC, NP, 0}
136+
};
137+
#endif
138+
139+
#ifdef HAL_UART_MODULE_ENABLED
140+
WEAK const PinMap PinMap_UART_RX[] = {
141+
{PA_3, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - A3
142+
{PA_3_ALT1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - A3
143+
{PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - RX
144+
// {PA_15, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_USART2)}, // - CHARGE_DETECT
145+
{PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - SDA
146+
{PB_10, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - LPUART1_VCP_RX
147+
{PB_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - LPUART1_VCP_TX
148+
{NC, NP, 0}
149+
};
150+
#endif
151+
152+
#ifdef HAL_UART_MODULE_ENABLED
153+
WEAK const PinMap PinMap_UART_RTS[] = {
154+
{PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - A1
155+
// {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - USB_DP
156+
// {PA_15, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - CHARGE_DETECT
157+
{PB_1, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - A4
158+
{PB_1_ALT1, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - A4
159+
// {PB_3, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - USER_BTN
160+
// {PB_12, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - NC
161+
{PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D9
162+
{NC, NP, 0}
163+
};
164+
#endif
165+
166+
#ifdef HAL_UART_MODULE_ENABLED
167+
WEAK const PinMap PinMap_UART_CTS[] = {
168+
{PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - A0
169+
{PA_6, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - MI
170+
{PA_6_ALT1, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - MI
171+
// {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - USB_DM
172+
{PB_4, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - D13
173+
{PB_13, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - D10
174+
{PB_13_ALT1, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D10
175+
{NC, NP, 0}
176+
};
177+
#endif
178+
179+
//*** SPI ***
180+
181+
#ifdef HAL_SPI_MODULE_ENABLED
182+
WEAK const PinMap PinMap_SPI_MOSI[] = {
183+
{PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - A5
184+
// {PA_12, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - USB_DP
185+
{PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - MO
186+
{PB_5_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - MO
187+
{PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D12
188+
{NC, NP, 0}
189+
};
190+
#endif
191+
192+
#ifdef HAL_SPI_MODULE_ENABLED
193+
WEAK const PinMap PinMap_SPI_MISO[] = {
194+
{PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - MI
195+
// {PA_11, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - USB_DM
196+
{PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D13
197+
{PB_4_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D13
198+
{PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D9
199+
{NC, NP, 0}
200+
};
201+
#endif
202+
203+
#ifdef HAL_SPI_MODULE_ENABLED
204+
WEAK const PinMap PinMap_SPI_SCLK[] = {
205+
{PA_1, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - A1
206+
{PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - CK
207+
// {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - USER_BTN
208+
// {PB_3_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - USER_BTN
209+
// {PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - LPUART1_VCP_RX
210+
{PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D10
211+
{NC, NP, 0}
212+
};
213+
#endif
214+
215+
#ifdef HAL_SPI_MODULE_ENABLED
216+
WEAK const PinMap PinMap_SPI_SSEL[] = {
217+
// {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - BAT_VOLTAGE
218+
// {PA_4_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - BAT_VOLTAGE
219+
// {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - CHARGE_DETECT
220+
// {PA_15_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - CHARGE_DETECT
221+
{PB_0, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D11
222+
{PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D6
223+
// {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - NC
224+
{NC, NP, 0}
225+
};
226+
#endif
227+
228+
//*** CAN ***
229+
230+
#if defined(HAL_CAN_MODULE_ENABLED) || defined(HAL_CAN_LEGACY_MODULE_ENABLED)
231+
WEAK const PinMap PinMap_CAN_RD[] = {
232+
// {PA_11, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // - USB_DM
233+
{PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // - D5
234+
{NC, NP, 0}
235+
};
236+
#endif
237+
238+
#if defined(HAL_CAN_MODULE_ENABLED) || defined(HAL_CAN_LEGACY_MODULE_ENABLED)
239+
WEAK const PinMap PinMap_CAN_TD[] = {
240+
// {PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // - USB_DP
241+
{PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // - D6
242+
{NC, NP, 0}
243+
};
244+
#endif
245+
246+
//*** No ETHERNET ***
247+
248+
//*** QUADSPI ***
249+
250+
#ifdef HAL_QSPI_MODULE_ENABLED
251+
WEAK const PinMap PinMap_QUADSPI_DATA0[] = {
252+
{PB_1, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_IO0 - A4
253+
{NC, NP, 0}
254+
};
255+
#endif
256+
257+
#ifdef HAL_QSPI_MODULE_ENABLED
258+
WEAK const PinMap PinMap_QUADSPI_DATA1[] = {
259+
{PB_0, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_IO1 - D11
260+
{NC, NP, 0}
261+
};
262+
#endif
263+
264+
#ifdef HAL_QSPI_MODULE_ENABLED
265+
WEAK const PinMap PinMap_QUADSPI_DATA2[] = {
266+
{PA_7, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_IO2 - A5
267+
{NC, NP, 0}
268+
};
269+
#endif
270+
271+
#ifdef HAL_QSPI_MODULE_ENABLED
272+
WEAK const PinMap PinMap_QUADSPI_DATA3[] = {
273+
{PA_6, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_IO3 - MI
274+
{NC, NP, 0}
275+
};
276+
#endif
277+
278+
#ifdef HAL_QSPI_MODULE_ENABLED
279+
WEAK const PinMap PinMap_QUADSPI_SCLK[] = {
280+
{PA_3, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_CLK - A3
281+
// {PB_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_CLK - LPUART1_VCP_RX
282+
{NC, NP, 0}
283+
};
284+
#endif
285+
286+
#ifdef HAL_QSPI_MODULE_ENABLED
287+
WEAK const PinMap PinMap_QUADSPI_SSEL[] = {
288+
{PA_2, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_NCS - A2
289+
// {PB_11, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_NCS - LPUART1_VCP_TX
290+
{NC, NP, 0}
291+
};
292+
#endif
293+
294+
//*** USB ***
295+
296+
#if defined(HAL_PCD_MODULE_ENABLED) || defined(HAL_HCD_MODULE_ENABLED)
297+
WEAK const PinMap PinMap_USB[] = {
298+
{PA_11, USB, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_USB_FS)}, // USB_DM
299+
{PA_12, USB, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_USB_FS)}, // USB_DP
300+
// {PA_13, USB, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_USB_FS)}, // USB_NOE - SWDIO
301+
{NC, NP, 0}
302+
};
303+
#endif
304+
305+
//*** No SD ***
306+
307+
#endif /* ARDUINO_CYGNET */
Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
/*
2+
*******************************************************************************
3+
* Copyright (c) 2020, STMicroelectronics
4+
* All rights reserved.
5+
*
6+
* This software component is licensed by ST under BSD 3-Clause license,
7+
* the "License"; You may not use this file except in compliance with the
8+
* License. You may obtain a copy of the License at:
9+
* opensource.org/licenses/BSD-3-Clause
10+
*
11+
*******************************************************************************
12+
*/
13+
14+
#if defined(ARDUINO_CYGNET)
15+
#include "pins_arduino.h"
16+
17+
// Digital PinName array
18+
const PinName digitalPin[] = {
19+
PA_0, // 0 - D0/A0
20+
PA_1, // 1 - D1/A1
21+
PA_2, // 2 - D2/A2
22+
PA_3, // 3 - D3/A3
23+
PB_1, // 4 - D4/A4
24+
PB_8, // 5 - D5
25+
PB_9, // 6 - D6
26+
PA_4, // 7 - BAT_VOLTAGE
27+
PA_8, // 8 - LED_BUILTIN
28+
PB_14, // 9 - D9
29+
PB_13, // 10 - D10
30+
PB_0, // 11 - D11
31+
PB_15, // 12 - D12
32+
PB_4, // 13 - D13
33+
PA_5, // 14 - CK
34+
PA_6, // 15 - MI
35+
PA_7, // 16 - A5
36+
PA_9, // 17 - TX
37+
PA_10, // 18 - RX
38+
PA_11, // 19 - USB_DM
39+
PA_12, // 20 - USB_DP
40+
PA_13, // 21 - SWDIO
41+
PA_14, // 22 - SWCLK
42+
PA_15, // 23 - CHARGE_DETECT
43+
PB_3, // 24 - USER_BTN
44+
PB_5, // 25 - MO
45+
PB_6, // 26 - SCL
46+
PB_7, // 27 - SDA
47+
PB_10, // 28 - LPUART1_VCP_RX
48+
PB_11, // 29 - LPUART1_VCP_TX
49+
PC_13, // 30 - USB_DETECT
50+
PC_14, // 31 - OSC32_IN
51+
PC_15, // 32 - OSC32_OUT
52+
PH_0, // 33 - ENABLE_3V3
53+
PH_1, // 34 - DISCHARGE_3V3
54+
PH_3 // 35 - B
55+
};
56+
57+
// Analog (Ax) to digital pin number array
58+
const uint32_t analogInputPin[] = {
59+
0, // PA0, A0
60+
1, // PA1, A1
61+
2, // PA2, A2
62+
3, // PA3, A3
63+
4, // PB1, A4
64+
16, // PA7, A5
65+
7 // PA4, BAT_VOLTAGE
66+
};
67+
68+
// ----------------------------------------------------------------------------
69+
70+
#ifdef __cplusplus
71+
extern "C" {
72+
#endif
73+
74+
WEAK void initVariant(void)
75+
{
76+
GPIO_InitTypeDef GPIO_InitStruct;
77+
78+
// Init lines that we'll be using below
79+
__HAL_RCC_GPIOA_CLK_ENABLE();
80+
__HAL_RCC_GPIOC_CLK_ENABLE();
81+
__HAL_RCC_GPIOH_CLK_ENABLE();
82+
83+
/* Set DISCHARGE_3V3 as well as the pins we're not initially using to FLOAT */
84+
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
85+
GPIO_InitStruct.Pull = GPIO_NOPULL;
86+
GPIO_InitStruct.Pin = GPIO_PIN_1;
87+
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); /* PH1 DISCHARGE_3V3 */
88+
GPIO_InitStruct.Pin = GPIO_PIN_13;
89+
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); /* PC13 is USB_DETECT */
90+
GPIO_InitStruct.Pin = GPIO_PIN_15;
91+
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* PA15 is CHARGE_DETECT */
92+
GPIO_InitStruct.Pin = GPIO_PIN_4;
93+
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* PA4 is BAT_VOLTAGE */
94+
95+
/* Turn on the 3V3 regulator */
96+
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
97+
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
98+
GPIO_InitStruct.Pin = GPIO_PIN_0;
99+
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
100+
HAL_GPIO_WritePin(GPIOH, GPIO_InitStruct.Pin, GPIO_PIN_SET);
101+
}
102+
103+
/**
104+
* @brief System Clock Configuration
105+
* @param None
106+
* @retval None
107+
*/
108+
WEAK void SystemClock_Config(void)
109+
{
110+
RCC_OscInitTypeDef RCC_OscInitStruct = {};
111+
RCC_ClkInitTypeDef RCC_ClkInitStruct = {};
112+
RCC_PeriphCLKInitTypeDef PeriphClkInit = {};
113+
114+
/** Configure the main internal regulator output voltage
115+
*/
116+
if (HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1) != HAL_OK) {
117+
Error_Handler();
118+
}
119+
120+
/** Configure LSE Drive Capability
121+
*/
122+
HAL_PWR_EnableBkUpAccess();
123+
__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW);
124+
125+
/** Initializes the RCC Oscillators according to the specified parameters
126+
* in the RCC_OscInitTypeDef structure.
127+
*/
128+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE
129+
| RCC_OSCILLATORTYPE_MSI
130+
| RCC_OSCILLATORTYPE_HSI;
131+
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
132+
RCC_OscInitStruct.MSIState = RCC_MSI_ON;
133+
RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT;
134+
RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_11;
135+
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
136+
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
137+
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
138+
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
139+
Error_Handler();
140+
}
141+
142+
/** Initializes the CPU, AHB and APB buses clocks
143+
*/
144+
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
145+
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
146+
// RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
147+
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_MSI;
148+
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
149+
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
150+
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
151+
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) {
152+
Error_Handler();
153+
}
154+
155+
/** Initializes the Peripheral clocks
156+
*/
157+
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USB | RCC_PERIPHCLK_SDMMC1
158+
| RCC_PERIPHCLK_ADC /* | RCC_PERIPHCLK_OSPI */;
159+
PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_SYSCLK;
160+
// PeriphClkInit.OspiClockSelection = RCC_OSPICLKSOURCE_SYSCLK;
161+
PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_MSI;
162+
PeriphClkInit.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_MSI;
163+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) {
164+
Error_Handler();
165+
}
166+
167+
/** Enable MSI Auto calibration
168+
*/
169+
HAL_RCCEx_EnableMSIPLLMode();
170+
171+
/** Ensure that MSI is wake-up system clock
172+
*/
173+
__HAL_RCC_WAKEUPSTOP_CLK_CONFIG(RCC_STOP_WAKEUPCLOCK_MSI);
174+
}
175+
176+
#ifdef __cplusplus
177+
}
178+
#endif
179+
180+
#endif /* ARDUINO_CYGNET */
Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
/*
2+
*******************************************************************************
3+
* Copyright (c) 2020, STMicroelectronics
4+
* All rights reserved.
5+
*
6+
* This software component is licensed by ST under BSD 3-Clause license,
7+
* the "License"; You may not use this file except in compliance with the
8+
* License. You may obtain a copy of the License at:
9+
* opensource.org/licenses/BSD-3-Clause
10+
*
11+
*******************************************************************************
12+
*/
13+
#pragma once
14+
15+
/*----------------------------------------------------------------------------
16+
* Arduino digital pin numbers on the right (indexes into the digitalPin[] array)
17+
* and the STM32 pins they correspond to on the left. The only apparent
18+
* function I can see is to reference a pin in a sketch in something
19+
* like digitalWrite() and have it index into digitalPin[] to find the
20+
* actual pin. On the other hand, PIN_A* are numbers offset by PNUM_ANALOG_BASE,
21+
* which serves to say that this IS an analog pin and which tells analogWrite
22+
* to index into the digitalPin[] array to find the actual pin.
23+
*----------------------------------------------------------------------------*/
24+
#define PA0 PIN_A0 // A0/D0
25+
#define PA1 PIN_A1 // A1/D1
26+
#define PA2 PIN_A2 // A2/D2
27+
#define PA3 PIN_A3 // A3/D3
28+
#define PB1 PIN_A4 // A4/D4
29+
#define PB8 5 // D5
30+
#define PB9 6 // D6
31+
#define PA4 PIN_A6 // BAT_VOLTAGE
32+
#define PA8 8 // LED_BUILTIN
33+
#define PB14 9 // D9
34+
#define PB13 10 // D10
35+
#define PB0 11 // D11
36+
#define PB15 12 // D12
37+
#define PB4 13 // D13
38+
#define PA5 14 // CK
39+
#define PA6 15 // MI
40+
#define PA7 PIN_A5 // A5
41+
#define PA9 17 // TX
42+
#define PA10 18 // RX
43+
#define PA11 19 // USB_DM
44+
#define PA12 20 // USB_DP
45+
#define PA13 21 // SWDIO
46+
#define PA14 22 // SWCLK
47+
#define PA15 23 // CHARGE_DETECT
48+
#define PB3 24 // USER_BTN
49+
#define PB5 25 // MO
50+
#define PB6 26 // SCL
51+
#define PB7 27 // SDA
52+
#define PB10 28 // LPUART1_VCP_RX
53+
#define PB11 29 // LPUART1_VCP_TX
54+
#define PC13 30 // USB_DETECT
55+
#define PC14 31 // OSC32_IN
56+
#define PC15 32 // OSC32_OUT
57+
#define PH0 33 // ENABLE_3V3
58+
#define PH1 34 // DISCHARGE_3V3
59+
#define PH3 35 // B
60+
61+
// Alternate pins number
62+
#define PA1_ALT1 (PA1 | ALT1)
63+
#define PA2_ALT1 (PA2 | ALT1)
64+
#define PA3_ALT1 (PA3 | ALT1)
65+
#define PA4_ALT1 (PA4 | ALT1)
66+
#define PA6_ALT1 (PA6 | ALT1)
67+
#define PA15_ALT1 (PA15 | ALT1)
68+
#define PB1_ALT1 (PB1 | ALT1)
69+
#define PB3_ALT1 (PB3 | ALT1)
70+
#define PB4_ALT1 (PB4 | ALT1)
71+
#define PB5_ALT1 (PB5 | ALT1)
72+
#define PB13_ALT1 (PB13 | ALT1)
73+
#define PB14_ALT1 (PB14 | ALT1)
74+
#define PB15_ALT1 (PB15 | ALT1)
75+
76+
#define NUM_DIGITAL_PINS 36
77+
#define NUM_ANALOG_INPUTS 7
78+
79+
// On-board LED pin number
80+
#ifndef LED_BUILTIN
81+
#define LED_BUILTIN PA8
82+
#endif
83+
84+
// On-board user button
85+
#ifndef USER_BTN
86+
#define USER_BTN PB3
87+
#endif
88+
89+
// Power switch ENABLE and DISCHARGE pins
90+
#ifndef ENABLE_3V3
91+
#define ENABLE_3V3 PH0
92+
#endif
93+
#ifndef DISCHARGE_3V3
94+
#define DISCHARGE_3V3 PH1
95+
#define DISABLE_DISCHARGING HIGH
96+
#define ENABLE_DISCHARGING LOW
97+
#endif
98+
#ifndef CHARGE_DETECT
99+
#define CHARGE_DETECT PA15
100+
#endif
101+
102+
// SPI definitions
103+
#ifndef PIN_SPI_SS
104+
#define PIN_SPI_SS PB8 // Just default to D5, because we don't have a CS pin
105+
#endif
106+
#ifndef PIN_SPI_SS1
107+
#define PIN_SPI_SS1 PNUM_NOT_DEFINED
108+
#endif
109+
#ifndef PIN_SPI_SS2
110+
#define PIN_SPI_SS2 PNUM_NOT_DEFINED
111+
#endif
112+
#ifndef PIN_SPI_SS3
113+
#define PIN_SPI_SS3 PNUM_NOT_DEFINED
114+
#endif
115+
#ifndef PIN_SPI_MOSI
116+
#define PIN_SPI_MOSI PB5
117+
#endif
118+
#ifndef PIN_SPI_MISO
119+
#define PIN_SPI_MISO PA6
120+
#endif
121+
#ifndef PIN_SPI_SCK
122+
#define PIN_SPI_SCK PA5
123+
#endif
124+
125+
// I2C definitions
126+
#ifndef PIN_WIRE_SDA
127+
#define PIN_WIRE_SDA PB7
128+
#endif
129+
#ifndef PIN_WIRE_SCL
130+
#define PIN_WIRE_SCL PB6
131+
#endif
132+
133+
// Timer Definitions
134+
// Use TIM6/TIM7 when possible as servo and tone don't need GPIO output pin
135+
#ifndef TIMER_TONE
136+
#define TIMER_TONE TIM6
137+
#endif
138+
#ifndef TIMER_SERVO
139+
#define TIMER_SERVO TIM7
140+
#endif
141+
142+
// UART Definitions
143+
#ifndef SERIAL_UART_INSTANCE
144+
#define SERIAL_UART_INSTANCE 1
145+
#endif
146+
147+
// Default pin used for generic 'Serial' instance
148+
// Mandatory for Firmata
149+
#ifndef PIN_SERIAL_RX
150+
#define PIN_SERIAL_RX PA10
151+
#endif
152+
#ifndef PIN_SERIAL_TX
153+
#define PIN_SERIAL_TX PA9
154+
#endif
155+
156+
// LPUART1
157+
#ifndef PIN_SERIAL_LP1_RX
158+
#define PIN_SERIAL_LP1_RX PB10
159+
#endif
160+
#ifndef PIN_SERIAL_LP1_TX
161+
#define PIN_SERIAL_LP1_TX PB11
162+
#endif
163+
164+
// Virtual COM Port for Cygnet with a 14-pin STLink Connector mounted.
165+
// To use the STLINK's Virtual COM port, this would be added to an Arduino project:
166+
// HardwareSerial SerialVCP(PIN_VCP_RX, PIN_VCP_TX);
167+
#ifndef PIN_VCP_RX
168+
#define PIN_VCP_RX PIN_SERIAL_LP1_RX
169+
#endif
170+
#ifndef PIN_VCP_TX
171+
#define PIN_VCP_TX PIN_SERIAL_LP1_TX
172+
#endif
173+
174+
// Extra HAL modules
175+
#if !defined(HAL_DAC_MODULE_DISABLED)
176+
#define HAL_DAC_MODULE_ENABLED
177+
#endif
178+
#if !defined(HAL_QSPI_MODULE_DISABLED)
179+
#define HAL_QSPI_MODULE_ENABLED
180+
#endif
181+
182+
/*----------------------------------------------------------------------------
183+
* Arduino objects - C++ only
184+
*----------------------------------------------------------------------------*/
185+
186+
#ifdef __cplusplus
187+
// These serial port names are intended to allow libraries and architecture-neutral
188+
// sketches to automatically default to the correct port name for a particular type
189+
// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN,
190+
// the first hardware serial port whose RX/TX pins are not dedicated to another use.
191+
//
192+
// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor
193+
//
194+
// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial
195+
//
196+
// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library
197+
//
198+
// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins.
199+
//
200+
// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX
201+
// pins are NOT connected to anything by default.
202+
#ifndef SERIAL_PORT_MONITOR
203+
#define SERIAL_PORT_MONITOR Serial
204+
#endif
205+
#ifndef SERIAL_PORT_HARDWARE
206+
#define SERIAL_PORT_HARDWARE Serial
207+
#endif
208+
#endif

‎variants/STM32L4xx/L4R5Z(G-I)Y_L4R9Z(G-I)Y_L4S5ZIY_L4S9ZIY/PeripheralPins_SWAN_R5.c

Lines changed: 81 additions & 80 deletions
Large diffs are not rendered by default.

‎variants/STM32L4xx/L4R5Z(G-I)Y_L4R9Z(G-I)Y_L4S5ZIY_L4S9ZIY/variant_SWAN_R5.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -94,22 +94,22 @@ const PinName digitalPin[] = {
9494

9595
// Analog (Ax) pin number array
9696
const uint32_t analogInputPin[] = {
97-
16, // A0, PA3
98-
17, // A1, PA1
99-
18, // A2, PC3
100-
19, // A3, PC1
101-
20, // A4, PC4
102-
21, // A5, PC5
103-
22, // A6, PB1
104-
23, // A7, PC2
105-
24, // A8, PA0
106-
10, // A9, PA4
107-
11, // A10, PA7
108-
12, // A11, PA6
109-
13, // A12, PA5
110-
30, // A13, PA2
111-
44, // A14, PC0
112-
53 // A15, PB0
97+
16, // PA3, A0,
98+
17, // PA1, A1,
99+
18, // PC3, A2,
100+
19, // PC1, A3,
101+
20, // PC4, A4,
102+
21, // PC5, A5,
103+
22, // PB1, A6,
104+
23, // PC2, A7,
105+
24, // PA0, A8,
106+
10, // PA4, A9, D10
107+
11, // PA7, A10, D11
108+
12, // PA6, A11, D12
109+
13, // PA5, A12, D13
110+
30, // PA2, A13,
111+
44, // PC0, A14,
112+
53 // PB0, A15,
113113
};
114114

115115
// ----------------------------------------------------------------------------

0 commit comments

Comments
 (0)
Please sign in to comment.