]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/pwmio.py
Merge pull request #668 from BlitzCityDIY/main
[Adafruit_Blinka-hackapet.git] / src / pwmio.py
1 # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
2 #
3 # SPDX-License-Identifier: MIT
4 """
5 `pwmio` - Support for PWM based protocols
6 ===========================================================
7 See `CircuitPython:pwmio` in CircuitPython for more details.
8 Not supported by all boards.
9
10 * Author(s): Melissa LeBlanc-Williams
11 """
12 # pylint: disable=too-many-boolean-expressions
13 import sys
14
15 from adafruit_blinka.agnostic import detector
16
17 # pylint: disable=unused-import
18
19 if detector.board.any_raspberry_pi:
20     from adafruit_blinka.microcontroller.bcm283x.pwmio.PWMOut import PWMOut
21 elif detector.board.any_coral_board:
22     from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
23 elif detector.board.any_giant_board:
24     from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
25 elif detector.board.any_beaglebone:
26     from adafruit_blinka.microcontroller.am335x.sysfs_pwmout import PWMOut
27 elif detector.board.any_siemens_simatic_iot2000:
28     from adafruit_blinka.microcontroller.am65xx.pwmout import PWMOut
29 elif detector.board.any_rock_pi_board:
30     from adafruit_blinka.microcontroller.rockchip.PWMOut import PWMOut
31 elif detector.board.binho_nova:
32     from adafruit_blinka.microcontroller.nova.pwmout import PWMOut
33 elif detector.board.greatfet_one:
34     from adafruit_blinka.microcontroller.nxp_lpc4330.pwmout import PWMOut
35 elif detector.board.any_lubancat:
36     from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
37 elif detector.board.pico_u2if:
38     from adafruit_blinka.microcontroller.rp2040_u2if.pwmio import PWMOut
39 elif (
40     detector.board.feather_u2if
41     or detector.board.feather_epd_u2if
42     or detector.board.qtpy_u2if
43     or detector.board.itsybitsy_u2if
44     or detector.board.macropad_u2if
45     or detector.board.qt2040_trinkey_u2if
46 ):
47     from adafruit_blinka.microcontroller.rp2040_u2if.pwmio import PWMOut
48 elif "sphinx" in sys.modules:
49     pass
50 else:
51     raise NotImplementedError("pwmio not supported for this board.")