--- /dev/null
+import pytest
+import busio
+from board import *
+
+
+def test_i2c_scan_random():
+ i2c = busio.I2C(SCL, SDA)
+ i2c.try_lock()
+ addr_list = i2c.scan()
+ assert len(addr_list) == 3
+ for addr in addr_list:
+ assert addr >= 0x0 and addr <= 0x79
+ i2c.unlock()
+ i2c.deinit()
--- /dev/null
+# SPDX-FileCopyrightText: 2024 Brent Rubell for Adafruit Industries
+#
+# SPDX-License-Identifier: MIT
+"""I2C Class for Generic Agnostic Board"""
+from random import randint
+#from .generic_agnostic_board.pin import generic_agnostic_board
+
+
+class I2C:
+ """Custom I2C Class for a Generic Agnostic Board"""
+
+ def __init__(self, *, frequency=100000):
+ #self._generic_agnostic_board = generic_agnostic_board
+ self.freq = frequency
+
+ @staticmethod
+ def scan():
+ """Mocks an I2C scan and returns a list of 3 randomly generated
+ I2C addresses from 0x0 to 0x79.
+ """
+ # Generate a list of 3 randomly generated addresses from 0x0 to 0x79
+ address_list = []
+ for _ in range(3):
+ address_list.append(randint(0x0, 0x79))
+ return address_list
* Author(s): cefn
"""
+import os
try:
import threading
except ImportError:
self._i2c = _I2C(frequency=frequency)
return
+
+ if "BLINKA_FORCECHIP" in os.environ and os.environ["BLINKA_FORCEBOARD"] == "GENERIC_AGNOSTIC_BOARD":
+ from adafruit_blinka.microcontroller.generic_agnostic_board.i2c import I2C as _I2C
+
+ self._i2c = _I2C(frequency=frequency)
+ return
+
if detector.board.greatfet_one:
from adafruit_blinka.microcontroller.nxp_lpc4330.i2c import I2C as _I2C