]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Merge pull request #2 from adafruit/master
authorScott Main <scottamain@gmail.com>
Tue, 8 Dec 2020 00:40:10 +0000 (16:40 -0800)
committerGitHub <noreply@github.com>
Tue, 8 Dec 2020 00:40:10 +0000 (16:40 -0800)
Sync to Blinka master

15 files changed:
README.rst
docs/api.rst
docs/conf.py
src/adafruit_blinka/board/coral_dev_board.py [moved from src/adafruit_blinka/board/coral_edge_tpu.py with 88% similarity]
src/adafruit_blinka/board/coral_dev_board_mini.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/mt8167/__init__.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/mt8167/pin.py [new file with mode: 0644]
src/analogio.py
src/board.py
src/busio.py
src/digitalio.py
src/microcontroller/__init__.py
src/microcontroller/pin.py
src/neopixel_write.py
src/pulseio.py

index 24db28b576cbd5c7ff2b51e3f24ee6315f52a763..40df1a97b8ed2197ea54b64aa0a611136aa30b58 100755 (executable)
@@ -6,7 +6,7 @@ Introduction
     :alt: Documentation Status
 
 .. image:: https://img.shields.io/discord/327254708534116352.svg
-    :target: https://discord.gg/nBQh6qu
+    :target: https://adafru.it/discord
     :alt: Discord
 
 .. image:: https://travis-ci.com/adafruit/Adafruit_Blinka.svg?branch=master
@@ -26,8 +26,10 @@ on hosts running micropython. Working code exists to emulate the CircuitPython p
 * **digitalio** - digital input/output pins, using pin identities from board+microcontroller packages
 * **bitbangio** - software-driven interfaces for I2C, SPI
 * **busio** - hardware-driven interfaces for I2C, SPI, UART
-* **time** * - substitute functions monkey-patched to time module
+* **pulseio** - contains classes that provide access to basic pulse IO (PWM)
 
+For details, see the `Blinka API reference
+<https://circuitpython.readthedocs.io/projects/blinka/en/latest/index.html>`_.
 
 Dependencies
 =============
@@ -97,7 +99,7 @@ install dependencies (feel free to reuse the virtual environment from above):
 
     python3 -m venv .env
     source .env/bin/activate
-    pip install Sphinx sphinx-rtd-theme
+    pip install Sphinx sphinx-rtd-theme Adafruit-PlatformDetect
 
 Now, once you have the virtual environment activated:
 
index 66bca16197c56cba3c0d2b6c4d56710261d609a8..61e9bbee5fc477d73425faa0a99dea71c333b0fb 100755 (executable)
 
 .. automodule:: digitalio
   :members:
+
+.. automodule:: analogio
+  :members:
+
+.. automodule:: pulseio
+  :members:
+
+.. automodule:: neopixel_write
+  :members:
+
+
index cadf23f9d371f9e9c96c30577e3f90d0f6f00eaa..c51cebd0e72a7ac62e9f4e192aa42daeb6f4ecf5 100755 (executable)
@@ -19,7 +19,14 @@ extensions = [
 # Uncomment the below if you use native CircuitPython modules such as
 # digitalio, micropython and busio. List the modules you use. Without it, the
 # autodoc module docs will fail to generate with a warning.
-autodoc_mock_imports = ["machine", "Adafruit_GPIO"]
+autodoc_mock_imports = [
+    "machine",
+    "Adafruit_GPIO",
+    "RPi",
+    "RPi.GPIO",
+    "hid",
+    "sysv_ipc",
+]
 
 intersphinx_mapping = {
     "python": ("https://docs.python.org/3.4", None),
similarity index 88%
rename from src/adafruit_blinka/board/coral_edge_tpu.py
rename to src/adafruit_blinka/board/coral_dev_board.py
index 667e2456382539f51665cc13f231e21c7adc8c69..69cd3db25da7d9a0067932470c4035bcd5aee0fd 100644 (file)
@@ -1,4 +1,4 @@
-"""Pin definitions for the Coral Edge TPU Dev board."""
+"""Pin definitions for the Coral Dev Board."""
 
 from adafruit_blinka.microcontroller.nxp_imx8m import pin
 
diff --git a/src/adafruit_blinka/board/coral_dev_board_mini.py b/src/adafruit_blinka/board/coral_dev_board_mini.py
new file mode 100644 (file)
index 0000000..35354d4
--- /dev/null
@@ -0,0 +1,34 @@
+"""Pin definitions for the Coral Dev Board Mini."""
+
+from adafruit_blinka.microcontroller.mt8167 import pin
+
+GPIO_P7 = pin.GPIO22
+GPIO_P11 = pin.GPIO9
+GPIO_P12 = pin.GPIO36
+GPIO_P13 = pin.GPIO10
+GPIO_P16 = pin.GPIO0
+GPIO_P18 = pin.GPIO1
+GPIO_P22 = pin.GPIO7
+GPIO_P26 = pin.GPIO8
+GPIO_P35 = pin.GPIO37
+GPIO_P36 = pin.GPIO13
+GPIO_P37 = pin.GPIO45
+GPIO_P38 = pin.GPIO38
+GPIO_P40 = pin.GPIO39
+
+SDA1 = pin.I2C1_SDA
+SCL1 = pin.I2C1_SCL
+
+SDA2 = pin.I2C2_SDA
+SCL2 = pin.I2C2_SCL
+
+PWM0 = pin.PWM0
+PWM1 = pin.PWM1
+PWM2 = pin.PWM2
+
+MOSI = pin.SPI_MO
+MISO = pin.SPI_MI
+SCLK = pin.SPI_CLK
+SCK = SCLK
+CS0 = pin.SPI_CSB
+CS = CS0
diff --git a/src/adafruit_blinka/microcontroller/mt8167/__init__.py b/src/adafruit_blinka/microcontroller/mt8167/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/adafruit_blinka/microcontroller/mt8167/pin.py b/src/adafruit_blinka/microcontroller/mt8167/pin.py
new file mode 100644 (file)
index 0000000..2d15877
--- /dev/null
@@ -0,0 +1,64 @@
+"""MediaTek MT8167 pin names"""
+from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
+
+# All pins
+GPIO52 = Pin(52)  # SDA1      (pin 3)
+GPIO53 = Pin(53)  # SCL1      (pin 5)
+GPIO22 = Pin(22)  # EINT22    (pin 7)
+GPIO63 = Pin(63)  # UTXD0     (pin 8)
+GPIO62 = Pin(62)  # URXD0     (pin 10)
+GPIO9 = Pin(9)  # EINT9     (pin 11)
+GPIO36 = Pin(36)  # MRG_CLK   (pin 12)
+GPIO10 = Pin(10)  # EINT10    (pin 13)
+GPIO11 = Pin(11)  # EINT11    (pin 15)
+GPIO0 = Pin(0)  # EINT0     (pin 16)
+GPIO1 = Pin(1)  # EINT1     (pin 18)
+GPIO4 = Pin(4)  # EINT4     (pin 19)
+GPIO3 = Pin(3)  # EINT3     (pin 21)
+GPIO7 = Pin(7)  # EINT7     (pin 22)
+GPIO6 = Pin(6)  # EINT6     (pin 23)
+GPIO5 = Pin(5)  # EINT5     (pin 24)
+GPIO8 = Pin(8)  # EINT8     (pin 26)
+GPIO60 = Pin(60)  # SDA2      (pin 27)
+GPIO61 = Pin(61)  # SCL2      (pin 28)
+GPIO65 = Pin(65)  # UTXD1     (pin 29)
+GPIO64 = Pin(64)  # URXD1     (pin 31)
+GPIO12 = Pin(12)  # EINT12    (pin 32)
+GPIO25 = Pin(25)  # EINT25    (pin 33)
+GPIO37 = Pin(37)  # MRG_SYNC  (pin 35)
+GPIO13 = Pin(13)  # EINT13    (pin 36)
+GPIO45 = Pin(45)  # JTCLK     (pin 37)
+GPIO38 = Pin(38)  # MRG_DI    (pin 38)
+GPIO39 = Pin(39)  # MRG_DO    (pin 40)
+
+# Aliases
+PWM0 = GPIO25  # EINT12  (pin 32)
+PWM1 = GPIO11  # EINT25  (pin 33)
+PWM2 = GPIO12  # EINT11  (pin 15)
+
+I2C1_SDA = GPIO52  # SDA1  (pin 3)
+I2C1_SCL = GPIO53  # SCL1  (pin 5)
+
+I2C2_SDA = GPIO60  # SDA2  (pin 27)
+I2C2_SCL = GPIO61  # SCL2  (pin 28)
+
+SPI_MO = GPIO4  # EINT4  (pin 19)
+SPI_MI = GPIO3  # EINT3  (pin 21)
+SPI_CLK = GPIO6  # EINT6  (pin 23)
+SPI_CSB = GPIO5  # EINT5  (pin 24)
+
+# SysFS pwm outputs, pwm channel and pin in first tuple
+pwmOuts = (
+    ((0, 0), PWM0),
+    ((0, 1), PWM1),
+    ((0, 2), PWM2),
+)
+
+# ordered as i2cId, sclId, sdaId
+i2cPorts = (
+    (3, I2C1_SCL, I2C1_SDA),
+    (0, I2C2_SCL, I2C2_SDA),
+)
+
+# ordered as spiId, sckId, mosiId, misoId
+spiPorts = ((0, SPI_CLK, SPI_MO, SPI_MI),)
index f126ef326b9d146d5f5d720a34e26ecca888b8c9..97323e48dbab9b11cad8f930648c4cb5670bda0c 100644 (file)
@@ -1,10 +1,14 @@
 """
 `analogio` - Analog input and output control
-=================================================
+============================================
 See `CircuitPython:analogio` in CircuitPython for more details.
+Not supported by all boards.
+
 * Author(s): Carter Nelson, Melissa LeBlanc-Williams
 """
 
+import sys
+
 from adafruit_blinka.agnostic import detector
 
 # pylint: disable=ungrouped-imports,wrong-import-position,unused-import
@@ -17,5 +21,7 @@ elif detector.board.greatfet_one:
     from adafruit_blinka.microcontroller.nxp_lpc4330.analogio import AnalogOut
 elif detector.chip.RK3308:
     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
+elif "sphinx" in sys.modules:
+    pass
 else:
     raise NotImplementedError("analogio not supported for this board.")
index a805d873891cf81bb2c6a4cdfb42fbc7a5d3c914..63c41e1820ef66e9f940e473b4dc42b887b1879d 100755 (executable)
@@ -121,7 +121,10 @@ elif board_id == ap_board.CLARA_AGX_XAVIER:
     from adafruit_blinka.board.nvidia.clara_agx_xavier import *
 
 elif board_id == ap_board.CORAL_EDGE_TPU_DEV:
-    from adafruit_blinka.board.coral_edge_tpu import *
+    from adafruit_blinka.board.coral_dev_board import *
+
+elif board_id == ap_board.CORAL_EDGE_TPU_DEV_MINI:
+    from adafruit_blinka.board.coral_dev_board_mini import *
 
 elif board_id == ap_board.ODROID_C2:
     from adafruit_blinka.board.hardkernel.odroidc2 import *
index 21e0446a73e2aee7994baacb9a7a53b4b9c13f7a..35e7c88eb26d61d5722cf90bc8159d1e9c06f845 100755 (executable)
@@ -210,6 +210,9 @@ class SPI(Lockable):
         elif board_id == ap_board.CORAL_EDGE_TPU_DEV:
             from adafruit_blinka.microcontroller.nxp_imx8m.pin import Pin
             from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
+        elif board_id == ap_board.CORAL_EDGE_TPU_DEV_MINI:
+            from adafruit_blinka.microcontroller.mt8167.pin import Pin
+            from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
         elif board_id == ap_board.ODROID_C2:
             from adafruit_blinka.microcontroller.amlogic.s905.pin import Pin
             from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
index 080abbf2c008bfd3507395d5863d913215f4c8f5..0ed3ab412de2f12fed20f4a51a9f8fcda433ef0a 100755 (executable)
@@ -1,6 +1,6 @@
 """
-`digitalio` - Digital input and output control
-=================================================
+`digitalio` - Digital input and output control (GPIO)
+=====================================================
 
 See `CircuitPython:digitalio` in CircuitPython for more details.
 
@@ -61,6 +61,8 @@ elif detector.chip.PENTIUM_N3710:
     from adafruit_blinka.microcontroller.pentium.n3710.pin import Pin
 elif detector.chip.STM32MP157:
     from adafruit_blinka.microcontroller.stm32.stm32mp157.pin import Pin
+elif detector.chip.MT8167:
+    from adafruit_blinka.microcontroller.mt8167.pin import Pin
 
 from adafruit_blinka import Enum, ContextManaged
 
index afca22ac7339ec0287a57f5c33a0e42a9ea67949..8f352e5cc01738f1246e4fbbaf8db97bff8e9d19 100755 (executable)
@@ -82,5 +82,7 @@ elif chip_id == ap_chip.PENTIUM_N3710:
     from adafruit_blinka.microcontroller.pentium.n3710.pin import *
 elif chip_id == ap_chip.STM32MP157:
     from adafruit_blinka.microcontroller.stm32.stm32mp157.pin import *
+elif chip_id == ap_chip.MT8167:
+    from adafruit_blinka.microcontroller.mt8167.pin import *
 else:
     raise NotImplementedError("Microcontroller not supported:", chip_id)
index fe89bd9361da90e8ae46350315daa8add9ec4eed..3e5a6e21c3099fa5bff2eb81f3d69afcbaf685f0 100755 (executable)
@@ -60,5 +60,7 @@ elif chip_id == ap_chip.PENTIUM_N3710:
     from adafruit_blinka.microcontroller.pentium.n3710.pin import *
 elif chip_id == ap_chip.STM32MP157:
     from adafruit_blinka.microcontroller.stm32.stm32mp157.pin import *
+elif chip_id == ap_chip.MT8167:
+    from adafruit_blinka.microcontroller.mt8167.pin import *
 else:
     raise NotImplementedError("Microcontroller not supported: ", chip_id)
index 5626bc632bace3df0884ecfad19edc8c210310f5..2c85f0166ff1b79555e6127563b6c7f78155bb16 100644 (file)
@@ -1,8 +1,9 @@
 """
 `neopixel_write` - NeoPixel precision timed writing support
-=================================================
+===========================================================
 
 See `CircuitPython:neopixel_write` in CircuitPython for more details.
+Currently supported on Raspberry Pi only.
 
 * Author(s): ladyada
 """
index 7c53457a9c223bd7b6f4a24fb25ccaebd3ff3f3c..848ff1400bb3a985814a1f5bbdea68e580813c18 100644 (file)
@@ -1,10 +1,14 @@
 """
-`pulseio` - Pulse Width Modulation Input and Output control
-=================================================
+`pulseio` - Pulse Width Modulation input and output control
+===========================================================
 See `CircuitPython:pulseio` in CircuitPython for more details.
+Not supported by all boards.
+
 * Author(s): Melissa LeBlanc-Williams
 """
 
+import sys
+
 from adafruit_blinka.agnostic import detector
 
 # pylint: disable=unused-import
@@ -12,15 +16,19 @@ from adafruit_blinka.agnostic import detector
 if detector.board.any_raspberry_pi:
     from adafruit_blinka.microcontroller.bcm283x.pulseio.PulseIn import PulseIn
     from adafruit_blinka.microcontroller.bcm283x.pulseio.PWMOut import PWMOut
-if detector.board.any_coral_board:
+elif detector.board.any_coral_board:
     from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
-if detector.board.any_giant_board:
+elif detector.board.any_giant_board:
     from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
-if detector.board.any_beaglebone:
+elif detector.board.any_beaglebone:
     from adafruit_blinka.microcontroller.am335x.sysfs_pwmout import PWMOut
-if detector.board.any_rock_pi_board:
+elif detector.board.any_rock_pi_board:
     from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
-if detector.board.binho_nova:
+elif detector.board.binho_nova:
     from adafruit_blinka.microcontroller.nova.pwmout import PWMOut
-if detector.board.greatfet_one:
+elif detector.board.greatfet_one:
     from adafruit_blinka.microcontroller.nxp_lpc4330.pwmout import PWMOut
+elif "sphinx" in sys.modules:
+    pass
+else:
+    raise NotImplementedError("pulseio not supported for this board.")