]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/analogio.py
4b7f9b06615dc33176557f4c024ac1cbb14ae025
[Adafruit_Blinka-hackapet.git] / src / analogio.py
1 # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
2 #
3 # SPDX-License-Identifier: MIT
4 """
5 `analogio` - Analog input and output control
6 ============================================
7 See `CircuitPython:analogio` in CircuitPython for more details.
8 Not supported by all boards.
9
10 * Author(s): Carter Nelson, Melissa LeBlanc-Williams
11 """
12
13 import sys
14
15 from adafruit_blinka.agnostic import detector
16
17 # pylint: disable=ungrouped-imports,wrong-import-position,unused-import
18
19 if detector.board.microchip_mcp2221:
20     from adafruit_blinka.microcontroller.mcp2221.analogio import AnalogIn
21     from adafruit_blinka.microcontroller.mcp2221.analogio import AnalogOut
22 elif detector.board.greatfet_one:
23     from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogIn
24     from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogOut
25 elif detector.board.any_siemens_simatic_iot2000:
26     from adafruit_blinka.microcontroller.am65xx.analogio import AnalogIn
27     from adafruit_blinka.microcontroller.am65xx.analogio import AnalogOut
28 elif detector.chip.RK3308:
29     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
30 elif detector.chip.RK3399:
31     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
32 elif detector.chip.IMX6ULL:
33     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
34 elif detector.chip.STM32MP157:
35     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
36 elif "sphinx" in sys.modules:
37     pass
38 elif detector.board.pico_u2if:
39     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
40         AnalogIn_Pico as AnalogIn,
41     )
42 elif detector.board.feather_u2if:
43     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
44         AnalogIn_Feather as AnalogIn,
45     )
46 elif detector.board.qtpy_u2if:
47     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
48         AnalogIn_QTPY as AnalogIn,
49     )
50 elif detector.board.itsybitsy_u2if:
51     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
52         AnalogIn_ItsyBitsy as AnalogIn,
53     )
54 else:
55     raise NotImplementedError("analogio not supported for this board.")