Skip to content

Commit 197c36d

Browse files
committed
Add Repka Pi-3 H5 and Pi-4 H6 constants
1 parent 47efdb5 commit 197c36d

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed

adafruit_platformdetect/board.py

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,15 @@ def id(self) -> Optional[str]:
142142
elif chip_id == chips.A64:
143143
board_id = self._pine64_id()
144144
elif chip_id == chips.H6:
145-
board_id = self._pine64_id() or self._armbian_id()
145+
board_id = (
146+
self._pine64_id() or self._armbian_id() or self._repka_variants_id()
147+
)
146148
elif chip_id == chips.H5:
147-
board_id = self._armbian_id() or self._allwinner_variants_id()
149+
board_id = (
150+
self._armbian_id()
151+
or self._allwinner_variants_id()
152+
or self._repka_variants_id()
153+
)
148154
elif chip_id == chips.H616:
149155
board_id = self._armbian_id() or self._allwinner_variants_id()
150156
elif chip_id == chips.A33:
@@ -418,6 +424,10 @@ def _armbian_id(self) -> Optional[str]:
418424
board = boards.PCDUINO3
419425
elif board_value == "rock-3a":
420426
board = boards.ROCK_PI_3A
427+
elif board_value == "repka-pi3-h5":
428+
board = boards.REPKA_PI_3_H5
429+
elif board_value == "repka-pi4-h6":
430+
board = boards.REPKA_PI_4_H6
421431
return board
422432

423433
# pylint: enable=too-many-return-statements
@@ -709,6 +719,19 @@ def _allwinner_variants_id(self) -> Optional[str]:
709719
board = boards.OLIMEX_LIME2
710720
return board
711721

722+
def _repka_variants_id(self) -> Optional[str]:
723+
board_value = self.detector.get_device_model()
724+
board = None
725+
if not board_value:
726+
return board
727+
board_value = board_value.lower()
728+
if "repka-pi3-h5" in board_value:
729+
board = boards.REPKA_PI_3_H5
730+
if "repka-pi4-h6" in board_value:
731+
board = boards.REPKA_PI_4_H6
732+
733+
return board
734+
712735
# pylint: disable=too-many-return-statements
713736

714737
def _rp2040_u2if_id(self) -> Optional[str]:
@@ -939,6 +962,11 @@ def any_olimex_lime2_board(self):
939962
"""Check whether the current board is any Pine64 device."""
940963
return self.id in boards.OLIMEX_LIME2
941964

965+
@property
966+
def any_repka_board(self):
967+
"""Check whether the current board is any Repka device."""
968+
return self.id in boards._REPKA_PI_IDS
969+
942970
@property
943971
def os_environ_board(self) -> bool:
944972
"""Check whether the current board is an OS environment variable special case."""
@@ -1002,6 +1030,7 @@ def lazily_generate_conditions():
10021030
yield self.any_nxp_navq_board
10031031
yield self.any_walnutpi
10041032
yield self.any_olimex_lime2_board
1033+
yield self.any_repka_board
10051034

10061035
return any(condition for condition in lazily_generate_conditions())
10071036

adafruit_platformdetect/constants/boards.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -559,3 +559,13 @@
559559
NXP_IMX8MPLUS_SOM = "NXP_IMX8MPLUS_SOM"
560560

561561
_NXP_SOM_IDS = (NXP_IMX8MPLUS_SOM,)
562+
563+
# Repka-Pi boards
564+
REPKA_PI_3_H5 = "REPKA_PI_3_H5"
565+
REPKA_PI_4_H6 = "REPKA_PI_4_H6"
566+
567+
# Repka-Pi
568+
_REPKA_PI_IDS = (
569+
REPKA_PI_3_H5,
570+
REPKA_PI_4_H6,
571+
)

0 commit comments

Comments
 (0)