From b280fe78b90372cba628bd712331dca119b47ca9 Mon Sep 17 00:00:00 2001 From: Kevin J Walters Date: Sun, 19 Oct 2025 22:31:24 +0100 Subject: [PATCH] Adding support for Pi Pico boards. Adding Pi Pico 2, Pi Pico 2 W and FAMILY_PICO for testing if a board is in Pico family. #11 --- src/board.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/board.py b/src/board.py index dbfaa2a..0c18792 100644 --- a/src/board.py +++ b/src/board.py @@ -5,18 +5,21 @@ Date: 2021-04-01 Description: Detects the board type """ -import sys import os class Board: class BoardType: PICO_W = 'Raspberry Pi Pico W' PICO = 'Raspberry Pi Pico' + PICO_2_W = 'Raspberry Pi Pico 2 W' + PICO_2 = 'Raspberry Pi Pico 2' ESP8266 = 'ESP8266' ESP32_C3 = 'ESP32-C3' ESP32 = 'ESP32' UNKNOWN = 'Unknown' + FAMILY_PICO = (PICO, PICO_W, PICO_2, PICO_2_W) + def __init__(self): self.type = self.detect_board_type() @@ -24,10 +27,17 @@ def detect_board_type(self): sysname = os.uname().sysname.lower() machine = os.uname().machine.lower() - if sysname == 'rp2' and 'pico w' in machine: - return self.BoardType.PICO_W - elif sysname == 'rp2' and 'pico' in machine: - return self.BoardType.PICO + if sysname == 'rp2': + if 'pico 2 w' in machine: + return self.BoardType.PICO_2_W + elif 'pico 2' in machine: + return self.BoardType.PICO_2 + elif 'pico w' in machine: + return self.BoardType.PICO_W + elif 'pico' in machine: + return self.BoardType.PICO + else: + return self.BoardType.UNKNOWN elif sysname == 'esp8266': return self.BoardType.ESP8266 elif sysname == 'esp32':