mirror of
https://github.com/esphome/esphome.git
synced 2026-09-03 19:46:02 +00:00
Filter out placeholder pin values (e.g. 99) during board generation
This commit is contained in:
@@ -15,9 +15,7 @@ RP2040_BOARD_PINS = {
|
||||
"MOSI": 23,
|
||||
"RX": 1,
|
||||
"SCK": 22,
|
||||
"SCL": 31,
|
||||
"SCL1": 3,
|
||||
"SDA": 31,
|
||||
"SDA1": 2,
|
||||
"SS": 21,
|
||||
"TX": 0,
|
||||
@@ -59,7 +57,6 @@ RP2040_BOARD_PINS = {
|
||||
"SDA": 16,
|
||||
"SDA1": 5,
|
||||
"SS": 13,
|
||||
"TX": 30,
|
||||
},
|
||||
"adafruit_feather": {
|
||||
"LED": 13,
|
||||
@@ -81,9 +78,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 14,
|
||||
"SCL": 3,
|
||||
"SCL1": 31,
|
||||
"SDA": 2,
|
||||
"SDA1": 31,
|
||||
"SS": 13,
|
||||
"TX": 0,
|
||||
},
|
||||
@@ -94,9 +89,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 14,
|
||||
"SCL": 3,
|
||||
"SCL1": 31,
|
||||
"SDA": 2,
|
||||
"SDA1": 31,
|
||||
"SS": 13,
|
||||
"TX": 0,
|
||||
},
|
||||
@@ -107,9 +100,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 14,
|
||||
"SCL": 3,
|
||||
"SCL1": 31,
|
||||
"SDA": 2,
|
||||
"SDA1": 31,
|
||||
"SS": 13,
|
||||
"TX": 0,
|
||||
},
|
||||
@@ -120,9 +111,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 14,
|
||||
"SCL": 3,
|
||||
"SCL1": 31,
|
||||
"SDA": 2,
|
||||
"SDA1": 31,
|
||||
"SS": 13,
|
||||
"TX": 0,
|
||||
},
|
||||
@@ -133,9 +122,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 14,
|
||||
"SCL": 3,
|
||||
"SCL1": 31,
|
||||
"SDA": 2,
|
||||
"SDA1": 31,
|
||||
"SS": 13,
|
||||
"TX": 0,
|
||||
},
|
||||
@@ -172,9 +159,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 14,
|
||||
"SCL": 3,
|
||||
"SCL1": 31,
|
||||
"SDA": 2,
|
||||
"SDA1": 31,
|
||||
"SS": 13,
|
||||
"TX": 0,
|
||||
},
|
||||
@@ -185,9 +170,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 14,
|
||||
"SCL": 3,
|
||||
"SCL1": 31,
|
||||
"SDA": 2,
|
||||
"SDA1": 31,
|
||||
"SS": 13,
|
||||
"TX": 0,
|
||||
},
|
||||
@@ -198,9 +181,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 14,
|
||||
"SCL": 3,
|
||||
"SCL1": 31,
|
||||
"SDA": 2,
|
||||
"SDA1": 31,
|
||||
"SS": 13,
|
||||
"TX": 0,
|
||||
},
|
||||
@@ -208,14 +189,10 @@ RP2040_BOARD_PINS = {
|
||||
"LED": 28,
|
||||
"MISO": 20,
|
||||
"MOSI": 19,
|
||||
"RX": 31,
|
||||
"SCK": 18,
|
||||
"SCL": 17,
|
||||
"SCL1": 31,
|
||||
"SDA": 16,
|
||||
"SDA1": 31,
|
||||
"SS": 24,
|
||||
"TX": 31,
|
||||
},
|
||||
"adafruit_fruitjam": {
|
||||
"LED": 29,
|
||||
@@ -224,9 +201,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 9,
|
||||
"SCK": 34,
|
||||
"SCL": 21,
|
||||
"SCL1": 99,
|
||||
"SDA": 20,
|
||||
"SDA1": 99,
|
||||
"SS": 39,
|
||||
"TX": 8,
|
||||
},
|
||||
@@ -240,11 +215,9 @@ RP2040_BOARD_PINS = {
|
||||
"SCL1": 3,
|
||||
"SDA": 24,
|
||||
"SDA1": 2,
|
||||
"SS": 31,
|
||||
"TX": 0,
|
||||
},
|
||||
"adafruit_kb2040": {
|
||||
"LED": 31,
|
||||
"MISO": 20,
|
||||
"MOSI": 19,
|
||||
"RX": 1,
|
||||
@@ -253,22 +226,9 @@ RP2040_BOARD_PINS = {
|
||||
"SCL1": 3,
|
||||
"SDA": 12,
|
||||
"SDA1": 2,
|
||||
"SS": 31,
|
||||
"TX": 0,
|
||||
},
|
||||
"adafruit_macropad2040": {
|
||||
"LED": 13,
|
||||
"MISO": 31,
|
||||
"MOSI": 31,
|
||||
"RX": 31,
|
||||
"SCK": 31,
|
||||
"SCL": 21,
|
||||
"SCL1": 31,
|
||||
"SDA": 20,
|
||||
"SDA1": 31,
|
||||
"SS": 31,
|
||||
"TX": 31,
|
||||
},
|
||||
"adafruit_macropad2040": {"LED": 13, "SCL": 21, "SDA": 20},
|
||||
"adafruit_metro": {
|
||||
"LED": 13,
|
||||
"MISO": 20,
|
||||
@@ -289,14 +249,11 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 30,
|
||||
"SCL": 21,
|
||||
"SCL1": 99,
|
||||
"SDA": 20,
|
||||
"SDA1": 99,
|
||||
"SS": 29,
|
||||
"TX": 0,
|
||||
},
|
||||
"adafruit_qtpy": {
|
||||
"LED": 31,
|
||||
"MISO": 4,
|
||||
"MOSI": 3,
|
||||
"RX": 29,
|
||||
@@ -305,7 +262,6 @@ RP2040_BOARD_PINS = {
|
||||
"SCL1": 23,
|
||||
"SDA": 24,
|
||||
"SDA1": 22,
|
||||
"SS": 31,
|
||||
"TX": 28,
|
||||
},
|
||||
"adafruit_stemmafriend": {
|
||||
@@ -321,19 +277,7 @@ RP2040_BOARD_PINS = {
|
||||
"SS": 1,
|
||||
"TX": 26,
|
||||
},
|
||||
"adafruit_trinkeyrp2040qt": {
|
||||
"LED": 31,
|
||||
"MISO": 31,
|
||||
"MOSI": 31,
|
||||
"RX": 17,
|
||||
"SCK": 31,
|
||||
"SCL": 17,
|
||||
"SCL1": 31,
|
||||
"SDA": 16,
|
||||
"SDA1": 31,
|
||||
"SS": 31,
|
||||
"TX": 16,
|
||||
},
|
||||
"adafruit_trinkeyrp2040qt": {"RX": 17, "SCL": 17, "SDA": 16, "TX": 16},
|
||||
"akana_r1": {
|
||||
"LED": 25,
|
||||
"MISO": 16,
|
||||
@@ -347,58 +291,10 @@ RP2040_BOARD_PINS = {
|
||||
"SS": 17,
|
||||
"TX": 0,
|
||||
},
|
||||
"amken_bunny": {
|
||||
"LED": 24,
|
||||
"MISO": 31,
|
||||
"MOSI": 31,
|
||||
"RX": 1,
|
||||
"SCK": 31,
|
||||
"SCL": 31,
|
||||
"SCL1": 31,
|
||||
"SDA": 31,
|
||||
"SDA1": 31,
|
||||
"SS": 31,
|
||||
"TX": 0,
|
||||
},
|
||||
"amken_revelop": {
|
||||
"LED": 24,
|
||||
"MISO": 31,
|
||||
"MOSI": 31,
|
||||
"RX": 1,
|
||||
"SCK": 31,
|
||||
"SCL": 29,
|
||||
"SCL1": 31,
|
||||
"SDA": 28,
|
||||
"SDA1": 31,
|
||||
"SS": 31,
|
||||
"TX": 0,
|
||||
},
|
||||
"amken_revelop_es": {
|
||||
"LED": 5,
|
||||
"MISO": 0,
|
||||
"MOSI": 3,
|
||||
"RX": 31,
|
||||
"SCK": 2,
|
||||
"SCL": 31,
|
||||
"SCL1": 31,
|
||||
"SDA": 31,
|
||||
"SDA1": 31,
|
||||
"SS": 1,
|
||||
"TX": 20,
|
||||
},
|
||||
"amken_revelop_plus": {
|
||||
"LED": 24,
|
||||
"MISO": 31,
|
||||
"MOSI": 31,
|
||||
"RX": 1,
|
||||
"SCK": 31,
|
||||
"SCL": 29,
|
||||
"SCL1": 31,
|
||||
"SDA": 28,
|
||||
"SDA1": 31,
|
||||
"SS": 31,
|
||||
"TX": 0,
|
||||
},
|
||||
"amken_bunny": {"LED": 24, "RX": 1, "TX": 0},
|
||||
"amken_revelop": {"LED": 24, "RX": 1, "SCL": 29, "SDA": 28, "TX": 0},
|
||||
"amken_revelop_es": {"LED": 5, "MISO": 0, "MOSI": 3, "SCK": 2, "SS": 1, "TX": 20},
|
||||
"amken_revelop_plus": {"LED": 24, "RX": 1, "SCL": 29, "SDA": 28, "TX": 0},
|
||||
"artronshop_rp2_nano": {
|
||||
"LED": 13,
|
||||
"MISO": 4,
|
||||
@@ -412,17 +308,7 @@ RP2040_BOARD_PINS = {
|
||||
"SS": 5,
|
||||
"TX": 0,
|
||||
},
|
||||
"bigtreetech_SKR_Pico": {
|
||||
"LED": 13,
|
||||
"MISO": 99,
|
||||
"MOSI": 99,
|
||||
"RX": 1,
|
||||
"SCK": 99,
|
||||
"SCL1": 99,
|
||||
"SDA1": 99,
|
||||
"SS": 99,
|
||||
"TX": 0,
|
||||
},
|
||||
"bigtreetech_SKR_Pico": {"LED": 13, "RX": 1, "TX": 0},
|
||||
"breadstick_raspberry": {
|
||||
"RX": 21,
|
||||
"SCL": 13,
|
||||
@@ -464,9 +350,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 17,
|
||||
"SCK": 22,
|
||||
"SCL": 1,
|
||||
"SCL1": 31,
|
||||
"SDA": 0,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 16,
|
||||
},
|
||||
@@ -477,9 +361,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 17,
|
||||
"SCK": 22,
|
||||
"SCL": 1,
|
||||
"SCL1": 31,
|
||||
"SDA": 0,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 16,
|
||||
},
|
||||
@@ -503,9 +385,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 17,
|
||||
"SCK": 22,
|
||||
"SCL": 1,
|
||||
"SCL1": 31,
|
||||
"SDA": 0,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 16,
|
||||
},
|
||||
@@ -516,9 +396,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 17,
|
||||
"SCK": 22,
|
||||
"SCL": 1,
|
||||
"SCL1": 31,
|
||||
"SDA": 0,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 16,
|
||||
},
|
||||
@@ -529,9 +407,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 17,
|
||||
"SCK": 22,
|
||||
"SCL": 1,
|
||||
"SCL1": 31,
|
||||
"SDA": 0,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 16,
|
||||
},
|
||||
@@ -542,9 +418,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 17,
|
||||
"SCK": 22,
|
||||
"SCL": 1,
|
||||
"SCL1": 31,
|
||||
"SDA": 0,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 16,
|
||||
},
|
||||
@@ -555,9 +429,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 17,
|
||||
"SCK": 22,
|
||||
"SCL": 1,
|
||||
"SCL1": 31,
|
||||
"SDA": 0,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 16,
|
||||
},
|
||||
@@ -568,9 +440,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 17,
|
||||
"SCK": 22,
|
||||
"SCL": 1,
|
||||
"SCL1": 31,
|
||||
"SDA": 0,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 16,
|
||||
},
|
||||
@@ -607,9 +477,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 17,
|
||||
"SCK": 22,
|
||||
"SCL": 1,
|
||||
"SCL1": 31,
|
||||
"SDA": 0,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 16,
|
||||
},
|
||||
@@ -620,9 +488,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 17,
|
||||
"SCK": 22,
|
||||
"SCL": 1,
|
||||
"SCL1": 31,
|
||||
"SDA": 0,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 16,
|
||||
},
|
||||
@@ -654,15 +520,11 @@ RP2040_BOARD_PINS = {
|
||||
},
|
||||
"cytron_maker_pi_rp2040": {
|
||||
"LED": 3,
|
||||
"MISO": 31,
|
||||
"MOSI": 31,
|
||||
"RX": 1,
|
||||
"SCK": 31,
|
||||
"SCL": 17,
|
||||
"SCL1": 3,
|
||||
"SDA": 16,
|
||||
"SDA1": 2,
|
||||
"SS": 31,
|
||||
"TX": 0,
|
||||
},
|
||||
"cytron_maker_uno_rp2040": {
|
||||
@@ -743,19 +605,7 @@ RP2040_BOARD_PINS = {
|
||||
"SS": 1,
|
||||
"TX": 28,
|
||||
},
|
||||
"electroniccats_huntercat_nfc": {
|
||||
"LED": 8,
|
||||
"MISO": 31,
|
||||
"MOSI": 31,
|
||||
"RX": 1,
|
||||
"SCK": 31,
|
||||
"SCL": 5,
|
||||
"SCL1": 31,
|
||||
"SDA": 4,
|
||||
"SDA1": 31,
|
||||
"SS": 31,
|
||||
"TX": 0,
|
||||
},
|
||||
"electroniccats_huntercat_nfc": {"LED": 8, "RX": 1, "SCL": 5, "SDA": 4, "TX": 0},
|
||||
"evn_alpha": {
|
||||
"LED": 25,
|
||||
"MISO": 0,
|
||||
@@ -851,9 +701,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 22,
|
||||
"SCL": 5,
|
||||
"SCL1": 31,
|
||||
"SDA": 4,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 0,
|
||||
},
|
||||
@@ -912,7 +760,6 @@ RP2040_BOARD_PINS = {
|
||||
"mksthr36": {
|
||||
"MISO": 16,
|
||||
"MOSI": 19,
|
||||
"RX": 31,
|
||||
"SCK": 18,
|
||||
"SCL": 23,
|
||||
"SDA": 22,
|
||||
@@ -922,7 +769,6 @@ RP2040_BOARD_PINS = {
|
||||
"mksthr42": {
|
||||
"MISO": 16,
|
||||
"MOSI": 19,
|
||||
"RX": 31,
|
||||
"SCK": 18,
|
||||
"SCL": 23,
|
||||
"SDA": 22,
|
||||
@@ -1057,19 +903,7 @@ RP2040_BOARD_PINS = {
|
||||
"SS": 33,
|
||||
"TX": 0,
|
||||
},
|
||||
"pimoroni_plasma2040": {
|
||||
"LED": 16,
|
||||
"MISO": 31,
|
||||
"MOSI": 31,
|
||||
"RX": 31,
|
||||
"SCK": 31,
|
||||
"SCL": 21,
|
||||
"SCL1": 31,
|
||||
"SDA": 20,
|
||||
"SDA1": 31,
|
||||
"SS": 31,
|
||||
"TX": 31,
|
||||
},
|
||||
"pimoroni_plasma2040": {"LED": 16, "SCL": 21, "SDA": 20},
|
||||
"pimoroni_plasma2350": {
|
||||
"LED": 16,
|
||||
"MISO": 31,
|
||||
@@ -1096,19 +930,7 @@ RP2040_BOARD_PINS = {
|
||||
"SS": 25,
|
||||
"TX": 31,
|
||||
},
|
||||
"pimoroni_servo2040": {
|
||||
"LED": 18,
|
||||
"MISO": 31,
|
||||
"MOSI": 31,
|
||||
"RX": 31,
|
||||
"SCK": 31,
|
||||
"SCL": 21,
|
||||
"SCL1": 31,
|
||||
"SDA": 20,
|
||||
"SDA1": 31,
|
||||
"SS": 31,
|
||||
"TX": 31,
|
||||
},
|
||||
"pimoroni_servo2040": {"LED": 18, "SCL": 21, "SDA": 20},
|
||||
"pimoroni_tiny2040": {
|
||||
"LED": 19,
|
||||
"MISO": 4,
|
||||
@@ -1211,7 +1033,6 @@ RP2040_BOARD_PINS = {
|
||||
"TX": 0,
|
||||
},
|
||||
"sea_picro": {
|
||||
"LED": 31,
|
||||
"MISO": 20,
|
||||
"MOSI": 23,
|
||||
"RX": 1,
|
||||
@@ -1242,10 +1063,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 2,
|
||||
"SCL": 7,
|
||||
"SCL1": 31,
|
||||
"SDA": 6,
|
||||
"SDA1": 31,
|
||||
"SS": 31,
|
||||
"TX": 0,
|
||||
},
|
||||
"seeed_xiao_rp2350": {
|
||||
@@ -1267,9 +1085,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 10,
|
||||
"SCL": 17,
|
||||
"SCL1": 31,
|
||||
"SDA": 16,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 0,
|
||||
},
|
||||
@@ -1357,9 +1173,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 22,
|
||||
"SCL": 5,
|
||||
"SCL1": 31,
|
||||
"SDA": 4,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 0,
|
||||
},
|
||||
@@ -1370,9 +1184,7 @@ RP2040_BOARD_PINS = {
|
||||
"RX": 1,
|
||||
"SCK": 22,
|
||||
"SCL": 17,
|
||||
"SCL1": 31,
|
||||
"SDA": 16,
|
||||
"SDA1": 31,
|
||||
"SS": 21,
|
||||
"TX": 0,
|
||||
},
|
||||
@@ -1399,7 +1211,6 @@ RP2040_BOARD_PINS = {
|
||||
"SCL1": 7,
|
||||
"SDA": 16,
|
||||
"SDA1": 6,
|
||||
"SS": 31,
|
||||
"TX": 0,
|
||||
},
|
||||
"sparkfun_thingplusrp2350": {
|
||||
@@ -1428,19 +1239,7 @@ RP2040_BOARD_PINS = {
|
||||
"SS": 17,
|
||||
"TX": 12,
|
||||
},
|
||||
"sparkfun_xrp_controller_beta": {
|
||||
"LED": 64,
|
||||
"MISO": 31,
|
||||
"MOSI": 31,
|
||||
"RX": 31,
|
||||
"SCK": 31,
|
||||
"SCL": 19,
|
||||
"SCL1": 31,
|
||||
"SDA": 18,
|
||||
"SDA1": 31,
|
||||
"SS": 31,
|
||||
"TX": 31,
|
||||
},
|
||||
"sparkfun_xrp_controller_beta": {"LED": 64, "SCL": 19, "SDA": 18},
|
||||
"upesy_rp2040_devkit": {
|
||||
"LED": 25,
|
||||
"MISO": 16,
|
||||
@@ -1766,7 +1565,6 @@ BOARDS = {
|
||||
"name": "Adafruit Fruit Jam RP2350",
|
||||
"mcu": "rp2350",
|
||||
"max_pin": 47,
|
||||
"max_virtual_pin": 99,
|
||||
},
|
||||
"adafruit_itsybitsy": {
|
||||
"name": "Adafruit ItsyBitsy RP2040",
|
||||
@@ -1792,7 +1590,6 @@ BOARDS = {
|
||||
"name": "Adafruit Metro RP2350",
|
||||
"mcu": "rp2350",
|
||||
"max_pin": 47,
|
||||
"max_virtual_pin": 99,
|
||||
},
|
||||
"adafruit_qtpy": {
|
||||
"name": "Adafruit QT Py RP2040",
|
||||
@@ -1848,7 +1645,6 @@ BOARDS = {
|
||||
"name": "BIGTREETECH SKR-Pico",
|
||||
"mcu": "rp2040",
|
||||
"max_pin": 29,
|
||||
"max_virtual_pin": 99,
|
||||
},
|
||||
"breadstick_raspberry": {
|
||||
"name": "Breadstick Raspberry",
|
||||
|
||||
@@ -90,7 +90,16 @@ def load_boards(arduino_pico_path: Path) -> tuple[dict, dict]:
|
||||
|
||||
pins = variant_pins_cache[variant]
|
||||
if pins:
|
||||
board_pins[board_name] = dict(pins)
|
||||
max_pin = boards[board_name]["max_pin"]
|
||||
cyw43_max = CYW43_GPIO_OFFSET + CYW43_GPIO_COUNT - 1
|
||||
# Filter out placeholder values (e.g. 99 = "not connected")
|
||||
filtered = {
|
||||
name: value
|
||||
for name, value in pins.items()
|
||||
if value <= max_pin or CYW43_GPIO_OFFSET <= value <= cyw43_max
|
||||
}
|
||||
if filtered:
|
||||
board_pins[board_name] = filtered
|
||||
|
||||
# Compute max_virtual_pin per board from pin maps
|
||||
for board_name, pins in board_pins.items():
|
||||
|
||||
@@ -234,3 +234,40 @@ def test_unknown_mcu_gets_default_max_pin(arduino_pico: Path) -> None:
|
||||
_add_board(arduino_pico, "future", mcu="rp2450", pins_header=PICO_PINS_HEADER)
|
||||
_, boards = load_boards(arduino_pico)
|
||||
assert boards["future"]["max_pin"] == 29
|
||||
|
||||
|
||||
def test_placeholder_pins_filtered_out(arduino_pico: Path) -> None:
|
||||
"""Pins with placeholder values like 99 should be filtered out."""
|
||||
header = textwrap.dedent("""\
|
||||
#pragma once
|
||||
#define PIN_LED (25u)
|
||||
#define PIN_WIRE0_SDA (4u)
|
||||
#define PIN_WIRE0_SCL (5u)
|
||||
#define PIN_WIRE1_SDA (99u)
|
||||
#define PIN_WIRE1_SCL (99u)
|
||||
""")
|
||||
_add_board(arduino_pico, "placeholder", pins_header=header)
|
||||
|
||||
board_pins, boards = load_boards(arduino_pico)
|
||||
|
||||
assert "SDA1" not in board_pins["placeholder"]
|
||||
assert "SCL1" not in board_pins["placeholder"]
|
||||
assert board_pins["placeholder"]["LED"] == 25
|
||||
assert "max_virtual_pin" not in boards["placeholder"]
|
||||
|
||||
|
||||
def test_placeholder_pins_not_treated_as_virtual(arduino_pico: Path) -> None:
|
||||
"""Pin 99 should not cause max_virtual_pin to be set."""
|
||||
header = textwrap.dedent("""\
|
||||
#pragma once
|
||||
#define PIN_LED (64u)
|
||||
#define PIN_WIRE0_SDA (4u)
|
||||
#define PIN_WIRE0_SCL (5u)
|
||||
#define PIN_SPI0_MISO (99u)
|
||||
""")
|
||||
_add_board(arduino_pico, "badpin", pins_header=header)
|
||||
|
||||
board_pins, boards = load_boards(arduino_pico)
|
||||
|
||||
assert "MISO" not in board_pins["badpin"]
|
||||
assert boards["badpin"]["max_virtual_pin"] == 64
|
||||
|
||||
Reference in New Issue
Block a user