1 # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
3 # SPDX-License-Identifier: MIT
5 `pwmio` - Support for PWM based protocols
6 ===========================================================
7 See `CircuitPython:pwmio` in CircuitPython for more details.
8 Not supported by all boards.
10 * Author(s): Melissa LeBlanc-Williams
12 # pylint: disable=too-many-boolean-expressions
15 from adafruit_blinka.agnostic import detector
17 # pylint: disable=unused-import
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_pcduino_board:
26 from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
27 elif detector.board.any_beaglebone:
28 from adafruit_blinka.microcontroller.am335x.sysfs_pwmout import PWMOut
29 elif detector.board.any_lemaker:
30 from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
31 elif detector.board.any_siemens_simatic_iot2000:
32 from adafruit_blinka.microcontroller.am65xx.pwmout import PWMOut
33 elif detector.board.any_rock_pi_board:
34 from adafruit_blinka.microcontroller.rockchip.PWMOut import PWMOut
35 elif detector.board.binho_nova:
36 from adafruit_blinka.microcontroller.nova.pwmout import PWMOut
37 elif detector.board.greatfet_one:
38 from adafruit_blinka.microcontroller.nxp_lpc4330.pwmout import PWMOut
39 elif detector.board.any_lubancat:
40 from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
41 elif detector.board.pico_u2if:
42 from adafruit_blinka.microcontroller.rp2040_u2if.pwmio import PWMOut
44 detector.board.feather_u2if
45 or detector.board.feather_can_u2if
46 or detector.board.feather_epd_u2if
47 or detector.board.feather_rfm_u2if
48 or detector.board.qtpy_u2if
49 or detector.board.itsybitsy_u2if
50 or detector.board.macropad_u2if
51 or detector.board.qt2040_trinkey_u2if
52 or detector.board.kb2040_u2if
54 from adafruit_blinka.microcontroller.rp2040_u2if.pwmio import PWMOut
55 elif "sphinx" in sys.modules:
58 raise NotImplementedError("pwmio not supported for this board.")