11export type BoardFamily = 'esp32' | 'rp2' | 'stm32' ;
22
3+ export type SerialInterface = 'uart' | 'usb' | 'usb-serialjtag' ;
4+
5+ export const serialInterfaces : Record < SerialInterface , string > = {
6+ uart : 'UART' ,
7+ usb : 'USB' ,
8+ 'usb-serialjtag' : 'USB Serial/JTAG' ,
9+ } ;
10+
311export interface IBoard {
412 title : string ;
513 type : string ;
614 family : BoardFamily ;
715 idfTarget ?: string ;
816 serialPins ?: { RX : string ; TX : string } ;
17+ serialInterfaces ?: SerialInterface [ ] ;
918}
1019
1120export interface IFamilyInfo {
@@ -21,37 +30,43 @@ export const boards: IBoard[] = [
2130 type : 'board-esp32-c3-devkitm-1' ,
2231 family : 'esp32' ,
2332 idfTarget : 'esp32c3' ,
33+ serialInterfaces : [ 'uart' , 'usb-serialjtag' ] ,
2434 } ,
2535 {
2636 title : 'ESP32-C6 DevKit' ,
2737 type : 'board-esp32-c6-devkitc-1' ,
2838 family : 'esp32' ,
2939 idfTarget : 'esp32c6' ,
40+ serialInterfaces : [ 'uart' , 'usb-serialjtag' ] ,
3041 } ,
3142 {
3243 title : 'ESP32-H2 DevKit' ,
3344 type : 'board-esp32-h2-devkitm-1' ,
3445 family : 'esp32' ,
3546 idfTarget : 'esp32h2' ,
47+ serialInterfaces : [ 'uart' , 'usb-serialjtag' ] ,
3648 } ,
3749 {
3850 title : 'ESP32-P4-Function-EV-Board' ,
3951 type : 'board-esp32-p4-function-ev' ,
4052 family : 'esp32' ,
4153 idfTarget : 'esp32p4' ,
4254 serialPins : { RX : '38' , TX : '37' } ,
55+ serialInterfaces : [ 'uart' , 'usb-serialjtag' ] ,
4356 } ,
4457 {
4558 title : 'ESP32-S2 DevKit' ,
4659 type : 'board-esp32-s2-devkitm-1' ,
4760 family : 'esp32' ,
4861 idfTarget : 'esp32s2' ,
62+ serialInterfaces : [ 'uart' , 'usb' ] ,
4963 } ,
5064 {
5165 title : 'ESP32-S3 DevKit' ,
5266 type : 'board-esp32-s3-devkitc-1' ,
5367 family : 'esp32' ,
5468 idfTarget : 'esp32s3' ,
69+ serialInterfaces : [ 'uart' , 'usb' , 'usb-serialjtag' ] ,
5570 } ,
5671
5772 // ESP32-based boards
@@ -60,33 +75,44 @@ export const boards: IBoard[] = [
6075 type : 'board-esp32-c3-rust-1' ,
6176 family : 'esp32' ,
6277 serialPins : { RX : '20' , TX : '21' } ,
78+ serialInterfaces : [ 'uart' , 'usb-serialjtag' ] ,
6379 } ,
6480 {
6581 title : 'ESP32-S3-BOX' ,
6682 type : 'board-esp32-s3-box' ,
6783 family : 'esp32' ,
6884 serialPins : { RX : 'G44' , TX : 'G43' } ,
85+ serialInterfaces : [ 'uart' , 'usb-serialjtag' ] ,
6986 } ,
7087 {
7188 title : 'ESP32-S3-BOX-3' ,
7289 type : 'board-esp32-s3-box-3' ,
7390 family : 'esp32' ,
7491 serialPins : { RX : 'G44' , TX : 'G43' } ,
92+ serialInterfaces : [ 'uart' , 'usb-serialjtag' ] ,
93+ } ,
94+ {
95+ title : 'M5Stack CoreS3' ,
96+ type : 'board-m5stack-core-s3' ,
97+ family : 'esp32' ,
98+ serialPins : { RX : 'G44' , TX : 'G43' } ,
99+ serialInterfaces : [ 'uart' , 'usb-serialjtag' ] ,
75100 } ,
76- { title : 'M5Stack CoreS3' , type : 'board-m5stack-core-s3' , family : 'esp32' } ,
77101
78102 // RP2040-based boards
79103 {
80104 title : 'Raspberry Pi Pico' ,
81105 type : 'wokwi-pi-pico' ,
82106 family : 'rp2' ,
83107 serialPins : { RX : 'GP1' , TX : 'GP0' } ,
108+ serialInterfaces : [ 'uart' , 'usb' ] ,
84109 } ,
85110 {
86111 title : 'Raspberry Pi Pico W' ,
87112 type : 'board-pi-pico-w' ,
88113 family : 'rp2' ,
89114 serialPins : { RX : 'GP1' , TX : 'GP0' } ,
115+ serialInterfaces : [ 'uart' , 'usb' ] ,
90116 } ,
91117
92118 // STM32 boards
0 commit comments