Browse Source

Improved Detector Script and fixed some missing edge cases

pull/265/head
Melissa LeBlanc-Williams 2 years ago
parent
commit
a0c9952991
2 changed files with 52 additions and 38 deletions
  1. +25
    -0
      adafruit_platformdetect/board.py
  2. +27
    -38
      bin/detect.py

+ 25
- 0
adafruit_platformdetect/board.py View File

@ -752,6 +752,25 @@ class Board:
"""Check whether the current board is any defined Libre Computer board."""
return self.id in boards._LIBRE_COMPUTER_IDS
@property
def os_environ_board(self) -> bool:
"""Check whether the current board is an OS environment variable special case."""
def lazily_generate_conditions():
yield self.board.FTDI_FT232H
yield self.board.FTDI_FT2232H
yield self.board.MICROCHIP_MCP2221
yield self.board.BINHO_NOVA
yield self.board.GREATFET_ONE
yield self.board.PICO_U2IF
yield self.board.FEATHER_U2IF
yield self.board.ITSYBITY_U2IF
yield self.board.MACROPAD_U2IF
yield self.board.QTPY_U2IF
yield self.board.QT2040_TRINKEY_U2IF
return any(condition for condition in lazily_generate_conditions())
@property
def any_embedded_linux(self) -> bool:
"""Check whether the current board is any embedded Linux device."""
@ -785,9 +804,15 @@ class Board:
yield self.any_lichee_riscv_board
yield self.any_pcduino_board
yield self.any_libre_computer_board
yield self.generic_linux
return any(condition for condition in lazily_generate_conditions())
@property
def generic_linux(self) -> bool:
"""Check whether the current board is an Generic Linux System."""
return self.id == boards.GENERIC_LINUX_PC
@property
def ftdi_ft232h(self) -> bool:
"""Check whether the current board is an FTDI FT232H."""


+ 27
- 38
bin/detect.py View File

@ -28,51 +28,43 @@ detector = adafruit_platformdetect.Detector()
print("Chip id: ", detector.chip.id)
print("Board id: ", detector.board.id)
print()
print("Is this an embedded Linux system?", detector.board.any_embedded_linux)
print()
print("Raspberry Pi Boards")
print("-------------------")
if detector.board.any_raspberry_pi:
print("Raspberry Pi detected.")
print("Is this a Pi 3B+?", detector.board.RASPBERRY_PI_3B_PLUS)
print("Is this a Pi 4B?", detector.board.RASPBERRY_PI_4B)
print("Is this a 40-pin Raspberry Pi?", detector.board.any_raspberry_pi_40_pin)
print("Is this a Raspberry Pi Compute Module?", detector.board.any_raspberry_pi_cm)
print()
print("Other Boards")
print("-------------------")
print(
"Is this a Siemens Simatic IOT2000 Gateway?",
detector.board.any_siemens_simatic_iot2000,
)
print("Is this a DragonBoard 410c?", detector.board.DRAGONBOARD_410C)
print("Is this a Pi 3B+?", detector.board.RASPBERRY_PI_3B_PLUS)
print("Is this a Pi 4B?", detector.board.RASPBERRY_PI_4B)
print("Is this a 40-pin Raspberry Pi?", detector.board.any_raspberry_pi_40_pin)
print("Is this a Raspberry Pi Compute Module?", detector.board.any_raspberry_pi_cm)
print("Is this a BeagleBone Board?", detector.board.any_beaglebone)
print("Is this a Giant Board?", detector.board.GIANT_BOARD)
print("Is this a Coral Dev Board?", detector.board.CORAL_EDGE_TPU_DEV)
print("Is this a Coral Dev Board Mini?", detector.board.CORAL_EDGE_TPU_DEV_MINI)
print("Is this a MaaXBoard?", detector.board.MAAXBOARD)
print("Is this a MaaXBoard Mini?", detector.board.MAAXBOARD_MINI)
print("Is this a SiFive Unleashed? ", detector.board.SIFIVE_UNLEASHED)
print("Is this a PYNQ Board?", detector.board.PYNQ_Z1 | detector.board.PYNQ_Z2)
print("Is this a 96boards board?", detector.board.any_96boards)
print("Is this a BeagleBone board?", detector.board.any_beaglebone)
print("Is this a Giant board?", detector.board.any_giant_board)
print("Is this a Coral Dev board?", detector.board.any_coral_board)
print("Is this a MaaXBoard?", detector.board.any_maaxboard)
print("Is this a SiFive board? ", detector.board.any_sifive_board)
print("Is this a PYNQ board?", detector.board.any_pynq_board)
print("Is this a Rock Pi board?", detector.board.any_rock_pi_board)
print("Is this a NanoPi board?", detector.board.any_nanopi)
print("Is this a Khadas VIM3 board?", detector.board.KHADAS_VIM3)
print("Is this a Khadas VIM3 board?", detector.board.khadas_vim3_40_pin)
print("Is this a Clockwork Pi board?", detector.board.any_clockwork_pi_board)
print("Is this an embedded Linux system?", detector.board.any_embedded_linux)
print("Is this a generic Linux PC?", detector.board.GENERIC_LINUX_PC)
print("Is this a UDOO Bolt?", detector.board.UDOO_BOLT)
print("Is this an ASUS Tinker Board?", detector.board.ASUS_TINKER_BOARD)
print("Is this an STM32MP1 Board?", detector.board.any_stm32mp1)
print("Is this a UDOO board?", detector.board.any_udoo_board)
print("Is this an ASUS Tinker board?", detector.board.any_asus_tinker_board)
print("Is this an STM32MP1 board?", detector.board.any_stm32mp1)
print("Is this a generic Linux PC?", detector.board.generic_linux)
print(
"Is this an OS environment variable special case?",
detector.board.FTDI_FT232H
| detector.board.FTDI_FT2232H
| detector.board.MICROCHIP_MCP2221
| detector.board.BINHO_NOVA
| detector.board.GREATFET_ONE
| detector.board.PICO_U2IF
| detector.board.FEATHER_U2IF
| detector.board.ITSYBITY_U2IF
| detector.board.MACROPAD_U2IF
| detector.board.QTPY_U2IF
| detector.board.QT2040_TRINKEY_U2IF,
"Is this an OS environment variable special case?", detector.board.os_environ_board
)
if detector.board.any_raspberry_pi:
print("Raspberry Pi detected.")
if detector.board.any_jetson_board:
print("Jetson platform detected.")
@ -88,9 +80,6 @@ if detector.board.any_orange_pi:
if detector.board.any_odroid_40_pin:
print("Odroid detected.")
if detector.board.khadas_vim3_40_pin:
print("Khadas VIM3 detected.")
if detector.board.any_onion_omega_board:
print("Onion Omega detected.")
@ -100,7 +89,7 @@ if detector.board.any_pine64_board:
if detector.board.any_rock_pi_board:
print("Rock Pi device detected.")
if detector.board.any_clockwork_pi:
if detector.board.any_clockwork_pi_board:
print("Clockwork Pi device detected.")
if detector.board.any_asus_tinker_board:


|||||||
x
 
000:0
Loading…
Cancel
Save