def __init__(self):
pass # This is a "fake" implementation
- def close(self):
- """Close the hid device. Does nothing if the device is not open."""
- pass
-
def __del__(self):
# try to close the device before destroying the instance
- pass
-
- def _hid_xfer(self, report, response=True):
- """Perform HID Transfer"""
- return None
-
- # ----------------------------------------------------------------
- # MISC
- # ----------------------------------------------------------------
- def gp_get_mode(self, pin):
- """Get Current Pin Mode"""
- pass
-
- def gp_set_mode(self, pin, mode):
- """Set Current Pin Mode"""
- pass
-
- def _pretty_report(self, register):
- pass
-
- def _status_dump(self):
- pass
-
- def _sram_dump(self):
- pass
-
- def _reset(self):
- pass
-
- # ----------------------------------------------------------------
- # GPIO
- # ----------------------------------------------------------------
- def gpio_set_direction(self, pin, mode):
- """Set Current GPIO Pin Direction"""
- pass
-
- def gpio_set_pin(self, pin, value):
- """Set Current GPIO Pin Value"""
- pass
-
- def gpio_get_pin(self, pin):
- """Get Current GPIO Pin Value"""
- pass
-
- # ----------------------------------------------------------------
- # I2C
- # ----------------------------------------------------------------
- def _i2c_status(self):
- pass
-
- def _i2c_state(self):
- pass
-
- def _i2c_cancel(self):
- pass
-
- # pylint: disable=too-many-arguments,too-many-branches
- def _i2c_write(self, cmd, address, buffer, start=0, end=None):
- pass
-
- def _i2c_read(self, cmd, address, buffer, start=0, end=None):
- pass
-
- # pylint: enable=too-many-arguments
- def _i2c_configure(self, baudrate=100000):
- """Configure I2C"""
- pass
-
- def i2c_writeto(self, address, buffer, *, start=0, end=None):
- """Write data from the buffer to an address"""
- pass
-
- def i2c_readfrom_into(self, address, buffer, *, start=0, end=None):
- """Read data from an address and into the buffer"""
- pass
-
- def i2c_writeto_then_readfrom(
- self,
- address,
- out_buffer,
- in_buffer,
- *,
- out_start=0,
- out_end=None,
- in_start=0,
- in_end=None,
- ):
- """Write data from buffer_out to an address and then
- read data from an address and into buffer_in
- """
- pass
-
- def i2c_scan(self, *, start=0, end=0x79):
- """Perform an I2C Device Scan"""
- pass
-
- # ----------------------------------------------------------------
- # ADC
- # ----------------------------------------------------------------
- def adc_configure(self, vref=0):
- """Configure the Analog-to-Digital Converter"""
- pass
-
- def adc_read(self, pin):
- """Read from the Analog-to-Digital Converter"""
- pass
-
- # ----------------------------------------------------------------
- # DAC
- # ----------------------------------------------------------------
- def dac_configure(self, vref=0):
- """Configure the Digital-to-Analog Converter"""
- pass
-
- # pylint: disable=unused-argument
- def dac_write(self, pin, value):
- """Write to the Digital-to-Analog Converter"""
- pass
+ return
# pylint: enable=unused-argument
def __init__(self, *, frequency=100000):
self._mcp2221 = mcp2221
+ self._freq = frequency
def scan(self, 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.
+ 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.
"""
- if address_list == None:
+ 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
-
- # pylint: disable=unused-argument
- def writeto(self, address, buffer, *, start=0, end=None, stop=True):
- """Write data from the buffer to an address"""
- pass
-
- def readfrom_into(self, address, buffer, *, start=0, end=None, stop=True):
- """Read data from an address and into the buffer"""
- pass
-
- 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
- """
- pass
-
- # pylint: enable=unused-argument
# SPDX-License-Identifier: MIT
"""fake_mcp2221 pin names"""
import random
-from .fake_mcp2221 import mcp2221
class Pin:
raise NotImplementedError(
"Internal pullups and pulldowns not supported on the MCP2221"
)
- if mode in (Pin.IN, Pin.OUT):
- # All pins can do GPIO
- pass
- elif mode == Pin.ADC:
+ if mode == Pin.ADC:
# ADC only available on these pins
if self.id not in (1, 2, 3):
raise ValueError("Pin does not have ADC capabilities")
- pass
# Do nothing
elif mode == Pin.DAC:
# DAC only available on these pins
if self.id not in (2, 3):
raise ValueError("Pin does not have DAC capabilities")
- pass
else:
raise ValueError("Incorrect pin mode: {}".format(mode))
self._mode = mode