X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka.git/blobdiff_plain/66df9c4b8688960e98e67692074a1d8e4ffb6444..b47de02bd942c98e397ab0e931818de5f838582c:/src/adafruit_blinka/microcontroller/fake_mcp2221/i2c.py diff --git a/src/adafruit_blinka/microcontroller/fake_mcp2221/i2c.py b/src/adafruit_blinka/microcontroller/fake_mcp2221/i2c.py index 9b55c68..d4b2c6f 100644 --- a/src/adafruit_blinka/microcontroller/fake_mcp2221/i2c.py +++ b/src/adafruit_blinka/microcontroller/fake_mcp2221/i2c.py @@ -2,6 +2,7 @@ # # SPDX-License-Identifier: MIT """I2C Class for MCP2221""" +import random from .fake_mcp2221 import mcp2221 @@ -10,48 +11,20 @@ class I2C: def __init__(self, *, frequency=100000): self._mcp2221 = mcp2221 - # self._mcp2221._i2c_configure(frequency) - - def scan(self): - """Perform an I2C Device Scan""" - # TODO: We need to fake an I2C scan here - return self._mcp2221.i2c_scan() - - # pylint: disable=unused-argument - def writeto(self, address, buffer, *, start=0, end=None, stop=True): - """Write data from the buffer to an address""" - #self._mcp2221.i2c_writeto(address, buffer, start=start, end=end) - - def readfrom_into(self, address, buffer, *, start=0, end=None, stop=True): - """Read data from an address and into the buffer""" - #self._mcp2221.i2c_readfrom_into(address, buffer, start=start, end=end) - - def writeto_then_readfrom( - self, - address, - buffer_out, - buffer_in, - *, - out_start=0, - out_end=None, - in_start=0, - in_end=None, - stop=False, - ): - """Write data from buffer_out to an address and then - read data from an address and into buffer_in + self._freq = frequency + + @staticmethod + def scan(address_list=None): + """Mocks an I2C scan. + If address_list is not provided, this function returns a + list of 3 randomly generated I2C addresses from 0x0 to 0x79. + For a stimulus-driven test: If address_list is provided, + this function returns the provided address_list. """ - - """ - self._mcp2221.i2c_writeto_then_readfrom( - address, - buffer_out, - buffer_in, - out_start=out_start, - out_end=out_end, - in_start=in_start, - in_end=in_end, - ) - """ - - # pylint: enable=unused-argument \ No newline at end of file + if address_list is None: + # Generate a list of 3 randomly generated addresses from 0x0 to 0x79 + address_list = [] + for _ in range(3): + address_list.append(random.randint(0x0, 0x79)) + return address_list + return address_list