X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/c72b2913f8b11bc650b5a17f087a058cf7948fb9..e068d9bae4e962b31ad6f83cacec895dd1ffffa3:/src/analogio.py diff --git a/src/analogio.py b/src/analogio.py index 229495d..97323e4 100644 --- a/src/analogio.py +++ b/src/analogio.py @@ -1,52 +1,27 @@ """ `analogio` - Analog input and output control -================================================= +============================================ See `CircuitPython:analogio` in CircuitPython for more details. -* Author(s): Carter Nelson +Not supported by all boards. + +* Author(s): Carter Nelson, Melissa LeBlanc-Williams """ -from adafruit_blinka.agnostic import board_id, detector +import sys + +from adafruit_blinka.agnostic import detector -# pylint: disable=ungrouped-imports,wrong-import-position +# pylint: disable=ungrouped-imports,wrong-import-position,unused-import if detector.board.microchip_mcp2221: - from adafruit_blinka.microcontroller.mcp2221.pin import Pin + from adafruit_blinka.microcontroller.mcp2221.analogio import AnalogIn + from adafruit_blinka.microcontroller.mcp2221.analogio import AnalogOut +elif detector.board.greatfet_one: + from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogIn + from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogOut +elif detector.chip.RK3308: + from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn +elif "sphinx" in sys.modules: + pass else: raise NotImplementedError("analogio not supported for this board.") - -from adafruit_blinka import ContextManaged - -class AnalogIn(ContextManaged): - - def __init__(self, pin): - self._pin = Pin(pin.id) - self._pin.init(mode=Pin.ADC) - - @property - def value(self): - return self._pin.value() - - @value.setter - def value(self, value): - # emulate what CircuitPython does - raise AttributeError("'AnalogIn' object has no attribute 'value'") - - def deinit(self): - del self._pin - -class AnalogOut(ContextManaged): - def __init__(self, pin): - self._pin = Pin(pin.id) - self._pin.init(mode=Pin.DAC) - - @property - def value(self): - # emulate what CircuitPython does - raise AttributeError("unreadable attribute") - - @value.setter - def value(self, value): - self._pin.value(value) - - def deinit(self): - del self._pin \ No newline at end of file