1 # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
3 # SPDX-License-Identifier: MIT
5 `analogio` - Analog input and output control
6 ============================================
7 See `CircuitPython:analogio` in CircuitPython for more details.
8 Not supported by all boards.
10 * Author(s): Carter Nelson, Melissa LeBlanc-Williams
15 from adafruit_blinka.agnostic import detector
17 # pylint: disable=ungrouped-imports,wrong-import-position,unused-import
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_odroid_40_pin:
26 from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
27 elif detector.board.any_siemens_simatic_iot2000:
28 from adafruit_blinka.microcontroller.am65xx.analogio import AnalogIn
29 from adafruit_blinka.microcontroller.am65xx.analogio import AnalogOut
30 elif detector.chip.RK3308:
31 from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
32 elif detector.chip.RK3399:
33 from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
34 elif detector.chip.RK3588:
35 from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
36 elif detector.chip.RK3568:
37 from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
38 elif detector.chip.RK3566:
39 from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
40 elif detector.chip.IMX6ULL:
41 from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
42 elif detector.chip.STM32MP157:
43 from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
44 elif detector.chip.A10:
45 from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
46 elif detector.chip.A20:
47 from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
48 elif "sphinx" in sys.modules:
50 elif detector.board.pico_u2if:
51 from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
52 AnalogIn_Pico as AnalogIn,
54 elif detector.board.feather_u2if:
55 from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
56 AnalogIn_Feather as AnalogIn,
58 elif detector.board.qtpy_u2if:
59 from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
60 AnalogIn_QTPY as AnalogIn,
62 elif detector.board.itsybitsy_u2if:
63 from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
64 AnalogIn_ItsyBitsy as AnalogIn,
67 "BLINKA_FORCECHIP" in os.environ
68 and os.environ["BLINKA_FORCEBOARD"] == "GENERIC_AGNOSTIC_BOARD"
70 from adafruit_blinka.microcontroller.generic_agnostic_board.analogio import AnalogIn
71 from adafruit_blinka.microcontroller.generic_agnostic_board.analogio import (
75 raise NotImplementedError("analogio not supported for this board.")