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 6c92680

Browse files
committedMay 21, 2024·
feat: rename Blues Wireless (blues.io) to Blues (blues.com) and add CYGNET R4
1 parent f31d070 commit 6c92680

File tree

8 files changed

+867
-92
lines changed

8 files changed

+867
-92
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)
@@ -766,11 +766,12 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
766766
| :green_heart: | STM32F446VE | [FYSETC_S6](https://wiki.fysetc.com/FYSETC_S6/) | *1.9.0* | |
767767
| :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* | |
768768

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

771771
| Status | Device(s) | Name | Release | Notes |
772772
| :----: | :-------: | ---- | :-----: | :---- |
773-
| :green_heart: | STM32L4R5ZIYx | [Swan R5](https://blues.io/products/swan) | *2.1.0* | |
773+
| :green_heart: | STM32L4R5ZIYx | [Swan R5](https://blues.com/products/swan) | *3.0.0* | |
774+
| :green_heart: | STM32L431CC | [Cygnet L4](https://blues.com/products/cygnet) | *1.1.0* | |
774775

775776
### [Elecgator](https://www.elecgator.com/) boards
776777

‎boards.txt

Lines changed: 105 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -10707,46 +10707,63 @@ GenWL.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
1070710707
3dprinter.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
1070810708

1070910709
################################################################################
10710-
# Blues Wireless boards
10711-
10712-
BluesW.name=Blues Wireless boards
10713-
10714-
BluesW.build.core=arduino
10715-
BluesW.build.board=BluesWireless
10716-
BluesW.build.variant_h=variant_{build.board}.h
10717-
BluesW.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
10718-
BluesW.build.flash_offset=0x0
10719-
BluesW.upload.maximum_size=0
10720-
BluesW.upload.maximum_data_size=0
10721-
10722-
# Swan R5 board
10723-
BluesW.menu.pnum.SWAN_R5=Swan R5
10724-
BluesW.menu.pnum.SWAN_R5.upload.maximum_size=2097152
10725-
BluesW.menu.pnum.SWAN_R5.upload.maximum_data_size=655360
10726-
BluesW.menu.pnum.SWAN_R5.build.mcu=cortex-m4
10727-
BluesW.menu.pnum.SWAN_R5.build.fpu=-mfpu=fpv4-sp-d16
10728-
BluesW.menu.pnum.SWAN_R5.build.float-abi=-mfloat-abi=hard
10729-
BluesW.menu.pnum.SWAN_R5.build.board=SWAN_R5
10730-
BluesW.menu.pnum.SWAN_R5.build.series=STM32L4xx
10731-
BluesW.menu.pnum.SWAN_R5.build.product_line=STM32L4R5xx
10732-
BluesW.menu.pnum.SWAN_R5.build.variant=STM32L4xx/L4R5Z(G-I)Y_L4R9Z(G-I)Y_L4S5ZIY_L4S9ZIY
10733-
BluesW.menu.pnum.SWAN_R5.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
10710+
# Blues boards
10711+
10712+
Blues.name=Blues boards
10713+
10714+
Blues.build.core=arduino
10715+
Blues.build.board=Blues
10716+
Blues.build.variant_h=variant_{build.board}.h
10717+
Blues.build.st_extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
10718+
Blues.build.flash_offset=0x0
10719+
Blues.upload.maximum_size=0
10720+
Blues.upload.maximum_data_size=0
10721+
10722+
# Swan board
10723+
Blues.menu.pnum.SWAN_R5=Swan R5
10724+
Blues.menu.pnum.SWAN_R5.upload.maximum_size=2097152
10725+
Blues.menu.pnum.SWAN_R5.upload.maximum_data_size=655360
10726+
Blues.menu.pnum.SWAN_R5.build.mcu=cortex-m4
10727+
Blues.menu.pnum.SWAN_R5.build.fpu=-mfpu=fpv4-sp-d16
10728+
Blues.menu.pnum.SWAN_R5.build.float-abi=-mfloat-abi=hard
10729+
Blues.menu.pnum.SWAN_R5.build.board=SWAN_R5
10730+
Blues.menu.pnum.SWAN_R5.build.series=STM32L4xx
10731+
Blues.menu.pnum.SWAN_R5.build.product_line=STM32L4R5xx
10732+
Blues.menu.pnum.SWAN_R5.build.variant=STM32L4xx/L4R5Z(G-I)Y_L4R9Z(G-I)Y_L4S5ZIY_L4S9ZIY
10733+
Blues.menu.pnum.SWAN_R5.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
10734+
Blues.menu.pnum.SWAN_R5.build.vid=0x30A4
10735+
Blues.menu.pnum.SWAN_R5.build.pid=0x0002
10736+
10737+
# Cygnet board
10738+
Blues.menu.pnum.CYGNET_L4=Cygnet L4
10739+
Blues.menu.pnum.CYGNET_L4.upload.maximum_size=262144
10740+
Blues.menu.pnum.CYGNET_L4.upload.maximum_data_size=65536
10741+
Blues.menu.pnum.CYGNET_L4.build.mcu=cortex-m4
10742+
Blues.menu.pnum.CYGNET_L4.build.fpu=-mfpu=fpv4-sp-d16
10743+
Blues.menu.pnum.CYGNET_L4.build.float-abi=-mfloat-abi=hard
10744+
Blues.menu.pnum.CYGNET_L4.build.board=CYGNET_L4
10745+
Blues.menu.pnum.CYGNET_L4.build.series=STM32L4xx
10746+
Blues.menu.pnum.CYGNET_L4.build.product_line=STM32L431xx
10747+
Blues.menu.pnum.CYGNET_L4.build.variant=STM32L4xx/L431C(B-C)(T-U)
10748+
Blues.menu.pnum.CYGNET_L4.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
10749+
Blues.menu.pnum.CYGNET_L4.build.vid=0x30A4
10750+
Blues.menu.pnum.CYGNET_L4.build.pid=0x0003
1073410751

1073510752
# Upload menu
10736-
BluesW.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
10737-
BluesW.menu.upload_method.swdMethod.upload.protocol=0
10738-
BluesW.menu.upload_method.swdMethod.upload.options=
10739-
BluesW.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
10753+
Blues.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD)
10754+
Blues.menu.upload_method.swdMethod.upload.protocol=0
10755+
Blues.menu.upload_method.swdMethod.upload.options=
10756+
Blues.menu.upload_method.swdMethod.upload.tool=stm32CubeProg
1074010757

10741-
BluesW.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
10742-
BluesW.menu.upload_method.serialMethod.upload.protocol=1
10743-
BluesW.menu.upload_method.serialMethod.upload.options={serial.port.file}
10744-
BluesW.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
10758+
Blues.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial)
10759+
Blues.menu.upload_method.serialMethod.upload.protocol=1
10760+
Blues.menu.upload_method.serialMethod.upload.options={serial.port.file}
10761+
Blues.menu.upload_method.serialMethod.upload.tool=stm32CubeProg
1074510762

10746-
BluesW.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
10747-
BluesW.menu.upload_method.dfuMethod.upload.protocol=2
10748-
BluesW.menu.upload_method.dfuMethod.upload.options=
10749-
BluesW.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
10763+
Blues.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU)
10764+
Blues.menu.upload_method.dfuMethod.upload.protocol=2
10765+
Blues.menu.upload_method.dfuMethod.upload.options=
10766+
Blues.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg
1075010767

1075110768
################################################################################
1075210769
# Elecgator boards
@@ -11443,11 +11460,11 @@ GenWL.menu.xserial.disabled.build.xSerial=
1144311460
3dprinter.menu.xserial.disabled=Disabled (no Serial support)
1144411461
3dprinter.menu.xserial.disabled.build.xSerial=
1144511462

11446-
BluesW.menu.xserial.generic=Enabled (generic 'Serial')
11447-
BluesW.menu.xserial.none=Enabled (no generic 'Serial')
11448-
BluesW.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
11449-
BluesW.menu.xserial.disabled=Disabled (no Serial support)
11450-
BluesW.menu.xserial.disabled.build.xSerial=
11463+
Blues.menu.xserial.generic=Enabled (generic 'Serial')
11464+
Blues.menu.xserial.none=Enabled (no generic 'Serial')
11465+
Blues.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE
11466+
Blues.menu.xserial.disabled=Disabled (no Serial support)
11467+
Blues.menu.xserial.disabled.build.xSerial=
1145111468

1145211469
Elecgator.menu.xserial.generic=Enabled (generic 'Serial')
1145311470
Elecgator.menu.xserial.none=Enabled (no generic 'Serial')
@@ -11762,18 +11779,18 @@ GenWB.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS
1176211779
3dprinter.menu.xusb.HSFS=High Speed in Full Speed mode
1176311780
3dprinter.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS
1176411781

11765-
BluesW.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
11766-
BluesW.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC
11767-
BluesW.menu.usb.CDC=CDC (no generic 'Serial')
11768-
BluesW.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB
11769-
BluesW.menu.usb.HID=HID (keyboard and mouse)
11770-
BluesW.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE
11771-
BluesW.menu.usb.none=None
11772-
BluesW.menu.xusb.FS=Low/Full Speed
11773-
BluesW.menu.xusb.HS=High Speed
11774-
BluesW.menu.xusb.HS.build.usb_speed=-DUSE_USB_HS
11775-
BluesW.menu.xusb.HSFS=High Speed in Full Speed mode
11776-
BluesW.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS
11782+
Blues.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
11783+
Blues.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC
11784+
Blues.menu.usb.CDC=CDC (no generic 'Serial')
11785+
Blues.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB
11786+
Blues.menu.usb.HID=HID (keyboard and mouse)
11787+
Blues.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE
11788+
Blues.menu.usb.none=None
11789+
Blues.menu.xusb.FS=Low/Full Speed
11790+
Blues.menu.xusb.HS=High Speed
11791+
Blues.menu.xusb.HS.build.usb_speed=-DUSE_USB_HS
11792+
Blues.menu.xusb.HSFS=High Speed in Full Speed mode
11793+
Blues.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS
1177711794

1177811795
Elecgator.menu.usb.none=None
1177911796
Elecgator.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
@@ -12367,25 +12384,25 @@ GenWL.menu.opt.o0std.build.flags.optimize=-O0
1236712384
3dprinter.menu.opt.o0std=No Optimization (-O0)
1236812385
3dprinter.menu.opt.o0std.build.flags.optimize=-O0
1236912386

12370-
BluesW.menu.opt.osstd=Smallest (-Os default)
12371-
BluesW.menu.opt.oslto=Smallest (-Os) with LTO
12372-
BluesW.menu.opt.oslto.build.flags.optimize=-Os -flto
12373-
BluesW.menu.opt.o1std=Fast (-O1)
12374-
BluesW.menu.opt.o1std.build.flags.optimize=-O1
12375-
BluesW.menu.opt.o1lto=Fast (-O1) with LTO
12376-
BluesW.menu.opt.o1lto.build.flags.optimize=-O1 -flto
12377-
BluesW.menu.opt.o2std=Faster (-O2)
12378-
BluesW.menu.opt.o2std.build.flags.optimize=-O2
12379-
BluesW.menu.opt.o2lto=Faster (-O2) with LTO
12380-
BluesW.menu.opt.o2lto.build.flags.optimize=-O2 -flto
12381-
BluesW.menu.opt.o3std=Fastest (-O3)
12382-
BluesW.menu.opt.o3std.build.flags.optimize=-O3
12383-
BluesW.menu.opt.o3lto=Fastest (-O3) with LTO
12384-
BluesW.menu.opt.o3lto.build.flags.optimize=-O3 -flto
12385-
BluesW.menu.opt.ogstd=Debug (-Og)
12386-
BluesW.menu.opt.ogstd.build.flags.optimize=-Og
12387-
BluesW.menu.opt.o0std=No Optimization (-O0)
12388-
BluesW.menu.opt.o0std.build.flags.optimize=-O0
12387+
Blues.menu.opt.osstd=Smallest (-Os default)
12388+
Blues.menu.opt.oslto=Smallest (-Os) with LTO
12389+
Blues.menu.opt.oslto.build.flags.optimize=-Os -flto
12390+
Blues.menu.opt.o1std=Fast (-O1)
12391+
Blues.menu.opt.o1std.build.flags.optimize=-O1
12392+
Blues.menu.opt.o1lto=Fast (-O1) with LTO
12393+
Blues.menu.opt.o1lto.build.flags.optimize=-O1 -flto
12394+
Blues.menu.opt.o2std=Faster (-O2)
12395+
Blues.menu.opt.o2std.build.flags.optimize=-O2
12396+
Blues.menu.opt.o2lto=Faster (-O2) with LTO
12397+
Blues.menu.opt.o2lto.build.flags.optimize=-O2 -flto
12398+
Blues.menu.opt.o3std=Fastest (-O3)
12399+
Blues.menu.opt.o3std.build.flags.optimize=-O3
12400+
Blues.menu.opt.o3lto=Fastest (-O3) with LTO
12401+
Blues.menu.opt.o3lto.build.flags.optimize=-O3 -flto
12402+
Blues.menu.opt.ogstd=Debug (-Og)
12403+
Blues.menu.opt.ogstd.build.flags.optimize=-Og
12404+
Blues.menu.opt.o0std=No Optimization (-O0)
12405+
Blues.menu.opt.o0std.build.flags.optimize=-O0
1238912406

1239012407
Elecgator.menu.opt.osstd=Smallest (-Os default)
1239112408
Elecgator.menu.opt.oslto=Smallest (-Os) with LTO
@@ -12744,13 +12761,13 @@ GenWL.menu.dbg.enable_all.build.flags.debug=-g
1274412761
3dprinter.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
1274512762
3dprinter.menu.dbg.enable_all.build.flags.debug=-g
1274612763

12747-
BluesW.menu.dbg.none=None
12748-
BluesW.menu.dbg.enable_sym=Symbols Enabled (-g)
12749-
BluesW.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
12750-
BluesW.menu.dbg.enable_log=Core logs Enabled
12751-
BluesW.menu.dbg.enable_log.build.flags.debug=
12752-
BluesW.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
12753-
BluesW.menu.dbg.enable_all.build.flags.debug=-g
12764+
Blues.menu.dbg.none=None
12765+
Blues.menu.dbg.enable_sym=Symbols Enabled (-g)
12766+
Blues.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
12767+
Blues.menu.dbg.enable_log=Core logs Enabled
12768+
Blues.menu.dbg.enable_log.build.flags.debug=
12769+
Blues.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
12770+
Blues.menu.dbg.enable_all.build.flags.debug=-g
1275412771

1275512772
Elecgator.menu.dbg.none=None
1275612773
Elecgator.menu.dbg.enable_sym=Symbols Enabled (-g)
@@ -13077,15 +13094,15 @@ GenWL.menu.rtlib.full.build.flags.ldspecs=
1307713094
3dprinter.menu.rtlib.full=Newlib Standard
1307813095
3dprinter.menu.rtlib.full.build.flags.ldspecs=
1307913096

13080-
BluesW.menu.rtlib.nano=Newlib Nano (default)
13081-
BluesW.menu.rtlib.nanofp=Newlib Nano + Float Printf
13082-
BluesW.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
13083-
BluesW.menu.rtlib.nanofs=Newlib Nano + Float Scanf
13084-
BluesW.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
13085-
BluesW.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
13086-
BluesW.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
13087-
BluesW.menu.rtlib.full=Newlib Standard
13088-
BluesW.menu.rtlib.full.build.flags.ldspecs=
13097+
Blues.menu.rtlib.nano=Newlib Nano (default)
13098+
Blues.menu.rtlib.nanofp=Newlib Nano + Float Printf
13099+
Blues.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float
13100+
Blues.menu.rtlib.nanofs=Newlib Nano + Float Scanf
13101+
Blues.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float
13102+
Blues.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
13103+
Blues.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float
13104+
Blues.menu.rtlib.full=Newlib Standard
13105+
Blues.menu.rtlib.full.build.flags.ldspecs=
1308913106

1309013107
Elecgator.menu.rtlib.nano=Newlib Nano (default)
1309113108
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
@@ -105964,6 +105964,88 @@ target_compile_options(SWAN_R5_xusb_HSFS INTERFACE
105964105964
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
105965105965
)
105966105966

105967+
# CYGNET_L4
105968+
# -----------------------------------------------------------------------------
105969+
105970+
set(CYGNET_L4_VARIANT_PATH "${CMAKE_CURRENT_LIST_DIR}/../variants/STM32L4xx/L431C(B-C)(T-U)")
105971+
set(CYGNET_L4_MAXSIZE 262144)
105972+
set(CYGNET_L4_MAXDATASIZE 65536)
105973+
set(CYGNET_L4_MCU cortex-m4)
105974+
set(CYGNET_L4_FPCONF "fpv4-sp-d16-hard")
105975+
add_library(CYGNET_L4 INTERFACE)
105976+
target_compile_options(CYGNET_L4 INTERFACE
105977+
"SHELL:-DSTM32L4xx "
105978+
"SHELL:-DCUSTOM_PERIPHERAL_PINS"
105979+
"SHELL:"
105980+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
105981+
-mcpu=${CYGNET_L4_MCU}
105982+
)
105983+
target_compile_definitions(CYGNET_L4 INTERFACE
105984+
"STM32L4xx"
105985+
"ARDUINO_CYGNET_L4"
105986+
"BOARD_NAME=\"CYGNET_L4\""
105987+
"BOARD_ID=CYGNET_L4"
105988+
"VARIANT_H=\"variant_CYGNET_L4.h\""
105989+
)
105990+
target_include_directories(CYGNET_L4 INTERFACE
105991+
${CMAKE_CURRENT_LIST_DIR}/../system/STM32L4xx
105992+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32L4xx_HAL_Driver/Inc
105993+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/STM32L4xx_HAL_Driver/Src
105994+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32L4xx/Include/
105995+
${CMAKE_CURRENT_LIST_DIR}/../system/Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/gcc/
105996+
${CYGNET_L4_VARIANT_PATH}
105997+
)
105998+
105999+
target_link_options(CYGNET_L4 INTERFACE
106000+
"LINKER:--default-script=${CYGNET_L4_VARIANT_PATH}/ldscript.ld"
106001+
"LINKER:--defsym=LD_FLASH_OFFSET=0x0"
106002+
"LINKER:--defsym=LD_MAX_SIZE=262144"
106003+
"LINKER:--defsym=LD_MAX_DATA_SIZE=65536"
106004+
"SHELL:-mfpu=fpv4-sp-d16 -mfloat-abi=hard"
106005+
-mcpu=${CYGNET_L4_MCU}
106006+
)
106007+
106008+
add_library(CYGNET_L4_serial_disabled INTERFACE)
106009+
target_compile_options(CYGNET_L4_serial_disabled INTERFACE
106010+
"SHELL:"
106011+
)
106012+
add_library(CYGNET_L4_serial_generic INTERFACE)
106013+
target_compile_options(CYGNET_L4_serial_generic INTERFACE
106014+
"SHELL:-DHAL_UART_MODULE_ENABLED"
106015+
)
106016+
add_library(CYGNET_L4_serial_none INTERFACE)
106017+
target_compile_options(CYGNET_L4_serial_none INTERFACE
106018+
"SHELL:-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE"
106019+
)
106020+
add_library(CYGNET_L4_usb_CDC INTERFACE)
106021+
target_compile_options(CYGNET_L4_usb_CDC INTERFACE
106022+
"SHELL:-DUSBCON -DUSBD_VID=0 -DUSBD_PID=-1 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB"
106023+
)
106024+
add_library(CYGNET_L4_usb_CDCgen INTERFACE)
106025+
target_compile_options(CYGNET_L4_usb_CDCgen INTERFACE
106026+
"SHELL:-DUSBCON -DUSBD_VID=0 -DUSBD_PID=-1 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_CDC"
106027+
)
106028+
add_library(CYGNET_L4_usb_HID INTERFACE)
106029+
target_compile_options(CYGNET_L4_usb_HID INTERFACE
106030+
"SHELL:-DUSBCON -DUSBD_VID=0 -DUSBD_PID=-1 -DHAL_PCD_MODULE_ENABLED -DUSBD_USE_HID_COMPOSITE"
106031+
)
106032+
add_library(CYGNET_L4_usb_none INTERFACE)
106033+
target_compile_options(CYGNET_L4_usb_none INTERFACE
106034+
"SHELL:"
106035+
)
106036+
add_library(CYGNET_L4_xusb_FS INTERFACE)
106037+
target_compile_options(CYGNET_L4_xusb_FS INTERFACE
106038+
"SHELL:"
106039+
)
106040+
add_library(CYGNET_L4_xusb_HS INTERFACE)
106041+
target_compile_options(CYGNET_L4_xusb_HS INTERFACE
106042+
"SHELL:-DUSE_USB_HS"
106043+
)
106044+
add_library(CYGNET_L4_xusb_HSFS INTERFACE)
106045+
target_compile_options(CYGNET_L4_xusb_HSFS INTERFACE
106046+
"SHELL:-DUSE_USB_HS -DUSE_USB_HS_IN_FS"
106047+
)
106048+
105967106049
# THUNDERPACK_F411
105968106050
# -----------------------------------------------------------------------------
105969106051

‎tools/platformio/boards_remap.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@
3030
"thunder_pack_f411": "THUNDERPACK_F411",
3131
"vccgnd_f103zet6": "VCCGND_F103ZET6_MINI",
3232
"waveshare_open103z": "GENERIC_F103ZEHX",
33-
"bw_swan_r5": "SWAN_R5",
33+
"blues_swan_r5": "SWAN_R5",
34+
"blues_cygnet_l4": "CYGNET_L4",
3435
"disco_b_g431b_esc1": "B_G431B_ESC1",
3536
"disco_b_u585i_iot02a": "B_U585I_IOT02A",
3637
"nucleo_wl55jc": "NUCLEO_WL55JC1"

‎variants/STM32L4xx/L431C(B-C)(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_L4.c
2425
variant_generic.cpp
26+
variant_CYGNET_L4.cpp
2527
)
2628
target_link_libraries(variant_bin PUBLIC variant_usage)
2729

Lines changed: 296 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,296 @@
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_L4)
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_ALT1, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 1, 0)}, // TIM15_CH1 - D9
117+
{PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - D12
118+
{PB_15_ALT1, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 2, 0)}, // TIM15_CH2 - D12
119+
{NC, NP, 0}
120+
};
121+
#endif
122+
123+
//*** UART ***
124+
125+
#ifdef HAL_UART_MODULE_ENABLED
126+
WEAK const PinMap PinMap_UART_TX[] = {
127+
{PA_2, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - A2
128+
{PA_2_ALT1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - A2
129+
{PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - TX
130+
{PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - SCL
131+
{PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - LPUART1_VCP_RX
132+
{PB_11, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - LPUART1_VCP_TX
133+
{NC, NP, 0}
134+
};
135+
#endif
136+
137+
#ifdef HAL_UART_MODULE_ENABLED
138+
WEAK const PinMap PinMap_UART_RX[] = {
139+
{PA_3, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - A3
140+
{PA_3_ALT1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - A3
141+
{PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - RX
142+
// {PA_15, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_USART2)}, // - CHARGE_DETECT
143+
{PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - SDA
144+
{PB_10, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - LPUART1_VCP_RX
145+
{PB_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - LPUART1_VCP_TX
146+
{NC, NP, 0}
147+
};
148+
#endif
149+
150+
#ifdef HAL_UART_MODULE_ENABLED
151+
WEAK const PinMap PinMap_UART_RTS[] = {
152+
{PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - A1
153+
// {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - USB_DP
154+
// {PA_15, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - CHARGE_DETECT
155+
{PB_1, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - A4
156+
{PB_1_ALT1, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - A4
157+
// {PB_3, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - USER_BTN
158+
// {PB_12, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - NC
159+
{PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D9
160+
{NC, NP, 0}
161+
};
162+
#endif
163+
164+
#ifdef HAL_UART_MODULE_ENABLED
165+
WEAK const PinMap PinMap_UART_CTS[] = {
166+
{PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, // - A0
167+
{PA_6, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - MI
168+
{PA_6_ALT1, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - MI
169+
// {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - USB_DM
170+
{PB_4, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, // - D13
171+
{PB_13, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // - D10
172+
{PB_13_ALT1, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, // - D10
173+
{NC, NP, 0}
174+
};
175+
#endif
176+
177+
//*** SPI ***
178+
179+
#ifdef HAL_SPI_MODULE_ENABLED
180+
WEAK const PinMap PinMap_SPI_MOSI[] = {
181+
{PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - A5
182+
// {PA_12, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - USB_DP
183+
{PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - MO
184+
{PB_5_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - MO
185+
{PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D12
186+
{NC, NP, 0}
187+
};
188+
#endif
189+
190+
#ifdef HAL_SPI_MODULE_ENABLED
191+
WEAK const PinMap PinMap_SPI_MISO[] = {
192+
{PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - MI
193+
// {PA_11, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - USB_DM
194+
{PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D13
195+
{PB_4_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - D13
196+
{PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D9
197+
{NC, NP, 0}
198+
};
199+
#endif
200+
201+
#ifdef HAL_SPI_MODULE_ENABLED
202+
WEAK const PinMap PinMap_SPI_SCLK[] = {
203+
{PA_1, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - A1
204+
{PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - CK
205+
// {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - USER_BTN
206+
// {PB_3_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - USER_BTN
207+
// {PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - LPUART1_VCP_RX
208+
{PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D10
209+
{NC, NP, 0}
210+
};
211+
#endif
212+
213+
#ifdef HAL_SPI_MODULE_ENABLED
214+
WEAK const PinMap PinMap_SPI_SSEL[] = {
215+
// {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - BAT_VOLTAGE
216+
// {PA_4_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - BAT_VOLTAGE
217+
// {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - CHARGE_DETECT
218+
// {PA_15_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - CHARGE_DETECT
219+
{PB_0, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D11
220+
{PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D6
221+
// {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - NC
222+
{NC, NP, 0}
223+
};
224+
#endif
225+
226+
//*** CAN ***
227+
228+
#if defined(HAL_CAN_MODULE_ENABLED) || defined(HAL_CAN_LEGACY_MODULE_ENABLED)
229+
WEAK const PinMap PinMap_CAN_RD[] = {
230+
// {PA_11, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // - USB_DM
231+
{PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // - D5
232+
{NC, NP, 0}
233+
};
234+
#endif
235+
236+
#if defined(HAL_CAN_MODULE_ENABLED) || defined(HAL_CAN_LEGACY_MODULE_ENABLED)
237+
WEAK const PinMap PinMap_CAN_TD[] = {
238+
// {PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // - USB_DP
239+
{PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // - D6
240+
{NC, NP, 0}
241+
};
242+
#endif
243+
244+
//*** No ETHERNET ***
245+
246+
//*** QUADSPI ***
247+
248+
#ifdef HAL_QSPI_MODULE_ENABLED
249+
WEAK const PinMap PinMap_QUADSPI_DATA0[] = {
250+
{PB_1, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_IO0 - A4
251+
{NC, NP, 0}
252+
};
253+
#endif
254+
255+
#ifdef HAL_QSPI_MODULE_ENABLED
256+
WEAK const PinMap PinMap_QUADSPI_DATA1[] = {
257+
{PB_0, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_IO1 - D11
258+
{NC, NP, 0}
259+
};
260+
#endif
261+
262+
#ifdef HAL_QSPI_MODULE_ENABLED
263+
WEAK const PinMap PinMap_QUADSPI_DATA2[] = {
264+
{PA_7, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_IO2 - A5
265+
{NC, NP, 0}
266+
};
267+
#endif
268+
269+
#ifdef HAL_QSPI_MODULE_ENABLED
270+
WEAK const PinMap PinMap_QUADSPI_DATA3[] = {
271+
{PA_6, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_IO3 - MI
272+
{NC, NP, 0}
273+
};
274+
#endif
275+
276+
#ifdef HAL_QSPI_MODULE_ENABLED
277+
WEAK const PinMap PinMap_QUADSPI_SCLK[] = {
278+
{PA_3, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_CLK - A3
279+
// {PB_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_CLK - LPUART1_VCP_RX
280+
{NC, NP, 0}
281+
};
282+
#endif
283+
284+
#ifdef HAL_QSPI_MODULE_ENABLED
285+
WEAK const PinMap PinMap_QUADSPI_SSEL[] = {
286+
{PA_2, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_NCS - A2
287+
// {PB_11, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_NCS - LPUART1_VCP_TX
288+
{NC, NP, 0}
289+
};
290+
#endif
291+
292+
//*** No USB ***
293+
294+
//*** No SD ***
295+
296+
#endif /* !CUSTOM_PERIPHERAL_PINS */
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
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+
#if defined(ARDUINO_CYGNET_L4)
14+
#include "pins_arduino.h"
15+
16+
// Digital PinName array
17+
const PinName digitalPin[] = {
18+
PA_0, // 0 - A0/D0
19+
PA_1, // 1 - A1/D1
20+
PA_2, // 2 - A2/D2
21+
PA_3, // 3 - A3/D3
22+
PB_1, // 4 - A4/D4
23+
PB_8, // 5 - D5
24+
PB_9, // 6 - D6
25+
PA_4, // 7 - BAT_VOLTAGE
26+
PA_8, // 8 - LED_BUILTIN
27+
PB_14, // 9 - D9
28+
PB_13, // 10 - D10
29+
PB_0, // 11 - D11
30+
PB_15, // 12 - D12
31+
PB_4, // 13 - D13
32+
PA_5, // 14 - CK
33+
PA_6, // 15 - MI
34+
PA_7, // 16 - A5
35+
PA_9, // 17 - TX
36+
PA_10, // 18 - RX
37+
PA_11, // 19 - USB_DM
38+
PA_12, // 20 - USB_DP
39+
PA_13, // 21 - SWDIO
40+
PA_14, // 22 - SWCLK
41+
PA_15, // 23 - CHARGE_DETECT
42+
PB_3, // 24 - USER_BTN
43+
PB_5, // 25 - MO
44+
PB_6, // 26 - SCL
45+
PB_7, // 27 - SDA
46+
PB_10, // 28 - LPUART1_VCP_RX
47+
PB_11, // 29 - LPUART1_VCP_TX
48+
PC_13, // 30 - USB_DETECT
49+
PC_14, // 31 - OSC32_IN
50+
PC_15, // 32 - OSC32_OUT
51+
PH_0, // 33 - ENABLE_3V3
52+
PH_1, // 34 - DISCHARGE_3V3
53+
PH_3 // 35 - B
54+
};
55+
56+
// Analog (Ax) to digital pin number array
57+
const uint32_t analogInputPin[] = {
58+
0, // A0, PA0
59+
1, // A1, PA1
60+
2, // A2, PA2
61+
3, // A3, PA3
62+
4, // A4, PB1
63+
16 // A5, PA7
64+
};
65+
66+
// ----------------------------------------------------------------------------
67+
68+
#ifdef __cplusplus
69+
extern "C" {
70+
#endif
71+
72+
WEAK void initVariant(void)
73+
{
74+
GPIO_InitTypeDef GPIO_InitStruct;
75+
76+
// Init lines that we'll be using below
77+
__HAL_RCC_GPIOA_CLK_ENABLE();
78+
__HAL_RCC_GPIOC_CLK_ENABLE();
79+
__HAL_RCC_GPIOH_CLK_ENABLE();
80+
81+
/* Set DISCHARGE_3V3 as well as the pins we're not initially using to FLOAT */
82+
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
83+
GPIO_InitStruct.Pull = GPIO_NOPULL;
84+
GPIO_InitStruct.Pin = GPIO_PIN_1;
85+
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); /* PH1 DISCHARGE_3V3 */
86+
GPIO_InitStruct.Pin = GPIO_PIN_13;
87+
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); /* PC13 is USB_DETECT */
88+
GPIO_InitStruct.Pin = GPIO_PIN_15;
89+
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* PA15 is CHARGE_DETECT */
90+
GPIO_InitStruct.Pin = GPIO_PIN_4;
91+
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* PA4 is BAT_VOLTAGE */
92+
93+
/* Turn on the 3V3 regulator */
94+
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
95+
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
96+
GPIO_InitStruct.Pin = GPIO_PIN_0;
97+
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
98+
HAL_GPIO_WritePin(GPIOH, GPIO_InitStruct.Pin, GPIO_PIN_SET);
99+
100+
}
101+
102+
/**
103+
* @brief System Clock Configuration
104+
* @param None
105+
* @retval None
106+
*/
107+
WEAK void SystemClock_Config(void)
108+
{
109+
RCC_OscInitTypeDef RCC_OscInitStruct = {};
110+
RCC_ClkInitTypeDef RCC_ClkInitStruct = {};
111+
RCC_PeriphCLKInitTypeDef PeriphClkInit = {};
112+
113+
/** Configure the main internal regulator output voltage
114+
*/
115+
if (HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1) != HAL_OK) {
116+
Error_Handler();
117+
}
118+
/** Configure LSE Drive Capability
119+
*/
120+
HAL_PWR_EnableBkUpAccess();
121+
__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW);
122+
/** Initializes the RCC Oscillators according to the specified parameters
123+
* in the RCC_OscInitTypeDef structure.
124+
*/
125+
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_MSI;
126+
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
127+
RCC_OscInitStruct.MSIState = RCC_MSI_ON;
128+
RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT;
129+
RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_11;
130+
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
131+
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
132+
Error_Handler();
133+
}
134+
/** Initializes the CPU, AHB and APB buses clocks
135+
*/
136+
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
137+
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
138+
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
139+
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
140+
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
141+
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
142+
143+
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) {
144+
Error_Handler();
145+
}
146+
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USB | RCC_PERIPHCLK_SDMMC1
147+
| RCC_PERIPHCLK_ADC | RCC_PERIPHCLK_OSPI;
148+
PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_SYSCLK;
149+
PeriphClkInit.OspiClockSelection = RCC_OSPICLKSOURCE_SYSCLK;
150+
PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_MSI;
151+
PeriphClkInit.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_MSI;
152+
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) {
153+
Error_Handler();
154+
}
155+
/** Enable MSI Auto calibration
156+
*/
157+
HAL_RCCEx_EnableMSIPLLMode();
158+
159+
/** Ensure that MSI is wake-up system clock
160+
*/
161+
__HAL_RCC_WAKEUPSTOP_CLK_CONFIG(RCC_STOP_WAKEUPCLOCK_MSI);
162+
}
163+
164+
#ifdef __cplusplus
165+
}
166+
#endif
167+
168+
#endif /* ARDUINO_CYGNET_L4 */
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 7 // 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 6
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 101
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

0 commit comments

Comments
 (0)
Please sign in to comment.