|
| 1 | +export type BoardFamily = 'esp32' | 'rp2' | 'stm32'; |
| 2 | + |
1 | 3 | export interface IBoard { |
2 | 4 | title: string; |
3 | | - board: string; |
4 | | - family: string; |
| 5 | + type: string; |
| 6 | + family: BoardFamily; |
5 | 7 | idfTarget?: string; |
6 | 8 | serialPins?: { RX: string; TX: string }; |
7 | 9 | } |
8 | 10 |
|
| 11 | +export interface IFamilyInfo { |
| 12 | + defaultFirmwareExt: string; |
| 13 | + mcuPartId: string; |
| 14 | +} |
| 15 | + |
9 | 16 | export const boards: IBoard[] = [ |
10 | 17 | // ESP32 DevKits |
11 | | - { title: 'ESP32 DevKit', board: 'board-esp32-devkit-c-v4', family: 'esp32', idfTarget: 'esp32' }, |
| 18 | + { title: 'ESP32 DevKit', type: 'board-esp32-devkit-c-v4', family: 'esp32', idfTarget: 'esp32' }, |
12 | 19 | { |
13 | 20 | title: 'ESP32-C3 DevKit', |
14 | | - board: 'board-esp32-c3-devkitm-1', |
| 21 | + type: 'board-esp32-c3-devkitm-1', |
15 | 22 | family: 'esp32', |
16 | 23 | idfTarget: 'esp32c3', |
17 | 24 | }, |
18 | 25 | { |
19 | 26 | title: 'ESP32-C6 DevKit', |
20 | | - board: 'board-esp32-c6-devkitc-1', |
| 27 | + type: 'board-esp32-c6-devkitc-1', |
21 | 28 | family: 'esp32', |
22 | 29 | idfTarget: 'esp32c6', |
23 | 30 | }, |
24 | 31 | { |
25 | 32 | title: 'ESP32-H2 DevKit', |
26 | | - board: 'board-esp32-h2-devkitm-1', |
| 33 | + type: 'board-esp32-h2-devkitm-1', |
27 | 34 | family: 'esp32', |
28 | 35 | idfTarget: 'esp32h2', |
29 | 36 | }, |
30 | 37 | { |
31 | 38 | title: 'ESP32-P4-Function-EV-Board', |
32 | | - board: 'board-esp32-p4-function-ev', |
| 39 | + type: 'board-esp32-p4-function-ev', |
33 | 40 | family: 'esp32', |
34 | 41 | idfTarget: 'esp32p4', |
35 | 42 | serialPins: { RX: '38', TX: '37' }, |
36 | 43 | }, |
37 | 44 | { |
38 | 45 | title: 'ESP32-S2 DevKit', |
39 | | - board: 'board-esp32-s2-devkitm-1', |
| 46 | + type: 'board-esp32-s2-devkitm-1', |
40 | 47 | family: 'esp32', |
41 | 48 | idfTarget: 'esp32s2', |
42 | 49 | }, |
43 | 50 | { |
44 | 51 | title: 'ESP32-S3 DevKit', |
45 | | - board: 'board-esp32-s3-devkitc-1', |
| 52 | + type: 'board-esp32-s3-devkitc-1', |
46 | 53 | family: 'esp32', |
47 | 54 | idfTarget: 'esp32s3', |
48 | 55 | }, |
49 | 56 |
|
50 | 57 | // ESP32-based boards |
51 | | - { title: 'ESP32-C3 Rust DevKit', board: 'board-esp32-c3-rust-1', family: 'esp32' }, |
| 58 | + { title: 'ESP32-C3 Rust DevKit', type: 'board-esp32-c3-rust-1', family: 'esp32' }, |
52 | 59 | { |
53 | 60 | title: 'ESP32-S3-BOX', |
54 | | - board: 'board-esp32-s3-box', |
| 61 | + type: 'board-esp32-s3-box', |
55 | 62 | family: 'esp32', |
56 | 63 | serialPins: { RX: 'G44', TX: 'G43' }, |
57 | 64 | }, |
58 | 65 | { |
59 | 66 | title: 'ESP32-S3-BOX-3', |
60 | | - board: 'board-esp32-s3-box-3', |
| 67 | + type: 'board-esp32-s3-box-3', |
61 | 68 | family: 'esp32', |
62 | 69 | serialPins: { RX: 'G44', TX: 'G43' }, |
63 | 70 | }, |
64 | | - { title: 'M5Stack CoreS3', board: 'board-m5stack-core-s3', family: 'esp32' }, |
| 71 | + { title: 'M5Stack CoreS3', type: 'board-m5stack-core-s3', family: 'esp32' }, |
65 | 72 |
|
66 | 73 | // RP2040-based boards |
67 | 74 | { |
68 | 75 | title: 'Raspberry Pi Pico', |
69 | | - board: 'wokwi-pi-pico', |
| 76 | + type: 'wokwi-pi-pico', |
70 | 77 | family: 'rp2', |
71 | 78 | serialPins: { RX: 'GP1', TX: 'GP0' }, |
72 | 79 | }, |
73 | 80 | { |
74 | 81 | title: 'Raspberry Pi Pico W', |
75 | | - board: 'board-pi-pico-w', |
| 82 | + type: 'board-pi-pico-w', |
76 | 83 | family: 'rp2', |
77 | 84 | serialPins: { RX: 'GP1', TX: 'GP0' }, |
78 | 85 | }, |
79 | 86 |
|
80 | 87 | // STM32 boards |
81 | | - { title: 'STM32 Nucleo-64 C031C6', board: 'board-st-nucleo-c031c6', family: 'stm32' }, |
82 | | - { title: 'STM32 Nucleo-64 L031K6', board: 'board-st-nucleo-l031k6', family: 'stm32' }, |
| 88 | + { title: 'STM32 Nucleo-64 C031C6', type: 'board-st-nucleo-c031c6', family: 'stm32' }, |
| 89 | + { title: 'STM32 Nucleo-64 L031K6', type: 'board-st-nucleo-l031k6', family: 'stm32' }, |
83 | 90 | ]; |
| 91 | + |
| 92 | +export const families: Record<BoardFamily, IFamilyInfo> = { |
| 93 | + esp32: { |
| 94 | + defaultFirmwareExt: 'bin', |
| 95 | + mcuPartId: 'esp', |
| 96 | + }, |
| 97 | + rp2: { |
| 98 | + defaultFirmwareExt: 'uf2', |
| 99 | + mcuPartId: 'rp', |
| 100 | + }, |
| 101 | + stm32: { |
| 102 | + defaultFirmwareExt: 'hex', |
| 103 | + mcuPartId: 'stm', |
| 104 | + }, |
| 105 | +}; |
0 commit comments