diff --git a/adafruit_platformdetect/board.py b/adafruit_platformdetect/board.py index 3f7c5b16..2d92a8bf 100644 --- a/adafruit_platformdetect/board.py +++ b/adafruit_platformdetect/board.py @@ -68,6 +68,8 @@ MICROCHIP_MCP2221 = "MICROCHIP_MCP2221" +BINHO_NOVA = "BINHO_NOVA" + # pylint: enable=bad-whitespace #OrangePI @@ -339,6 +341,8 @@ def id(self): board_id = self._sifive_id() elif chip_id == ap_chip.MCP2221: board_id = MICROCHIP_MCP2221 + elif chip_id == ap_chip.BINHO: + board_id = BINHO_NOVA return board_id # pylint: enable=invalid-name @@ -503,6 +507,11 @@ def microchip_mcp2221(self): """Check whether the current board is a Microchip MCP2221.""" return self.id == MICROCHIP_MCP2221 + @property + def binho_nova(self): + """Check whether the current board is an BINHO NOVA.""" + return self.id == BINHO_NOVA + def __getattr__(self, attr): """ Detect whether the given attribute is the currently-detected board. See list diff --git a/adafruit_platformdetect/chip.py b/adafruit_platformdetect/chip.py index b92b5f8f..3dbd1a66 100644 --- a/adafruit_platformdetect/chip.py +++ b/adafruit_platformdetect/chip.py @@ -21,6 +21,7 @@ FT232H = "FT232H" HFU540 = "HFU540" MCP2221 = "MCP2221" +BINHO = "BINHO" class Chip: """Attempt detection of current chip / CPU.""" @@ -54,6 +55,14 @@ def id(self): # pylint: disable=invalid-name,too-many-branches,too-many-return-s return MCP2221 raise RuntimeError('BLINKA_MCP2221 environment variable ' + \ 'set, but no MCP2221 device found') + if os.environ.get('BLINKA_NOVA'): + # Check for Nova connection + from adafruit_blinka.microcontroller.nova import Connection + binho = Connection.getInstance() + if binho is None: + raise RuntimeError('BLINKA_NOVA environment variable ' + \ + 'set, but no NOVA device found') + return BINHO platform = sys.platform if platform == "linux" or platform == "linux2":