]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/analogio.py
Merge pull request #807 from brentru/force-mcp
[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 import os
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     if (
21         "BLINKA_FORCECHIP" in os.environ
22         and os.environ["BLINKA_FORCEBOARD"] == "MICROCHIP_MCP2221"
23     ):
24         from adafruit_blinka.microcontroller.fake_mcp2221.analogio import AnalogIn
25         from adafruit_blinka.microcontroller.fake_mcp2221.analogio import AnalogOut
26     else:
27         from adafruit_blinka.microcontroller.mcp2221.analogio import AnalogIn
28         from adafruit_blinka.microcontroller.mcp2221.analogio import AnalogOut
29 elif detector.board.greatfet_one:
30     from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogIn
31     from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogOut
32 elif detector.board.any_odroid_40_pin:
33     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
34 elif detector.board.any_siemens_simatic_iot2000:
35     from adafruit_blinka.microcontroller.am65xx.analogio import AnalogIn
36     from adafruit_blinka.microcontroller.am65xx.analogio import AnalogOut
37 elif detector.chip.RK3308:
38     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
39 elif detector.chip.RK3399:
40     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
41 elif detector.chip.RK3588:
42     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
43 elif detector.chip.RK3568:
44     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
45 elif detector.chip.RK3566:
46     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
47 elif detector.chip.IMX6ULL:
48     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
49 elif detector.chip.STM32MP157:
50     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
51 elif detector.chip.A10:
52     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
53 elif detector.chip.A20:
54     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
55 elif "sphinx" in sys.modules:
56     pass
57 elif detector.board.pico_u2if:
58     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
59         AnalogIn_Pico as AnalogIn,
60     )
61 elif detector.board.feather_u2if:
62     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
63         AnalogIn_Feather as AnalogIn,
64     )
65 elif detector.board.qtpy_u2if:
66     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
67         AnalogIn_QTPY as AnalogIn,
68     )
69 elif detector.board.itsybitsy_u2if:
70     from adafruit_blinka.microcontroller.rp2040_u2if.analogio import (
71         AnalogIn_ItsyBitsy as AnalogIn,
72     )
73 else:
74     raise NotImplementedError("analogio not supported for this board.")