Skip to content

Commit 9384e45

Browse files
authored
Merge pull request #336 from mahenzon/feature/add-repka-pi
Add Repka Pi-3 H5 and Pi-4 H6 constants
2 parents ccc452f + 5e148f4 commit 9384e45

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:
@@ -420,6 +426,10 @@ def _armbian_id(self) -> Optional[str]:
420426
board = boards.PCDUINO3
421427
elif board_value == "rock-3a":
422428
board = boards.ROCK_PI_3A
429+
elif board_value == "repka-pi3-h5":
430+
board = boards.REPKA_PI_3_H5
431+
elif board_value == "repka-pi4-h6":
432+
board = boards.REPKA_PI_4_H6
423433
elif board_value == "milkv_duo":
424434
board = boards.MILKV_DUO
425435
return board
@@ -713,6 +723,19 @@ def _allwinner_variants_id(self) -> Optional[str]:
713723
board = boards.OLIMEX_LIME2
714724
return board
715725

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

718741
def _rp2040_u2if_id(self) -> Optional[str]:
@@ -948,6 +971,11 @@ def any_olimex_lime2_board(self):
948971
"""Check whether the current board is any Pine64 device."""
949972
return self.id in boards.OLIMEX_LIME2
950973

974+
@property
975+
def any_repka_board(self):
976+
"""Check whether the current board is any Repka device."""
977+
return self.id in boards._REPKA_PI_IDS
978+
951979
@property
952980
def os_environ_board(self) -> bool:
953981
"""Check whether the current board is an OS environment variable special case."""
@@ -1011,6 +1039,7 @@ def lazily_generate_conditions():
10111039
yield self.any_nxp_navq_board
10121040
yield self.any_walnutpi
10131041
yield self.any_olimex_lime2_board
1042+
yield self.any_repka_board
10141043
yield self.any_milkv_board
10151044

10161045
return any(condition for condition in lazily_generate_conditions())

adafruit_platformdetect/constants/boards.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -563,4 +563,14 @@
563563

564564
_NXP_SOM_IDS = (NXP_IMX8MPLUS_SOM,)
565565

566+
# Repka-Pi boards
567+
REPKA_PI_3_H5 = "REPKA_PI_3_H5"
568+
REPKA_PI_4_H6 = "REPKA_PI_4_H6"
569+
570+
# Repka-Pi
571+
_REPKA_PI_IDS = (
572+
REPKA_PI_3_H5,
573+
REPKA_PI_4_H6,
574+
)
575+
566576
_MILKV_IDS_ = (MILKV_DUO,)

0 commit comments

Comments
 (0)