X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/76c093908d7dcaf880d563c1b1d2469f51e220aa..84862c851a21caebff5194cbb7d94c9ff14ad132:/README.rst diff --git a/README.rst b/README.rst index 40df1a9..30c64ed 100755 --- a/README.rst +++ b/README.rst @@ -17,16 +17,22 @@ Introduction :target: https://github.com/psf/black :alt: Code Style: Black -This repository contains a selection of packages mirroring the CircuitPython API -on hosts running micropython. Working code exists to emulate the CircuitPython packages; +This repository contains a selection of packages emulating the CircuitPython API +for devices or hosts running CPython or MicroPython. Working code exists to emulate these CircuitPython packages: -* **board** - breakout-specific pin identities -* **microcontroller** - chip-specific pin identities * **analogio** - analog input/output pins, using pin identities from board+microcontroller packages -* **digitalio** - digital input/output pins, using pin identities from board+microcontroller packages * **bitbangio** - software-driven interfaces for I2C, SPI +* **board** - breakout-specific pin identities * **busio** - hardware-driven interfaces for I2C, SPI, UART +* **digitalio** - digital input/output pins, using pin identities from board+microcontroller packages +* **keypad** - support for scanning keys and key matrices +* **microcontroller** - chip-specific pin identities +* **micropython** - MicroPython-specific module +* **neopixel_write** - low-level interface to NeoPixels * **pulseio** - contains classes that provide access to basic pulse IO (PWM) +* **pwmio** - contains classes that provide access to basic pulse IO (PWM) +* **rainbowio** - provides the colorwheel() function +* **usb_hid** - act as a hid-device using usb_gadget kernel driver For details, see the `Blinka API reference `_. @@ -34,12 +40,14 @@ For details, see the `Blinka API reference Dependencies ============= -The Micropython compatibility layers described above are intended to provide a CircuitPython-like API for devices which -are running CPython or Micropython. Since corresponding packages should be built-in to any standard -CircuitPython image, they have no value on a device already running CircuitPython and would likely conflict in unhappy ways. +The emulation described above is intended to provide a +CircuitPython-like API for devices which are running CPython or +Micropython. Since corresponding packages should be built-in to any +standard CircuitPython image, they have no value on a device already +running CircuitPython and would likely conflict in unhappy ways. The test suites in the test/src folder under **testing.universal** are by design -intended to run on *either* CircuitPython *or* Micropython+compatibility layer to prove conformance. +intended to run on *either* CircuitPython *or* CPython/Micropython+compatibility layer to prove conformance. Installing from PyPI ===================== @@ -69,15 +77,27 @@ To install in a virtual environment in your current project: Usage Example ============= -At the time of writing (`git:7fc1f8ab `_), -the following sequence runs through some basic testing of the digitalio compatibility layer... +The pin names may vary by board, so you may need to change the pin names in the code. This +example runs on the Raspberry Pi boards to blink an LED connected to GPIO 18 (Pin 12): .. code-block:: python - from testing import test_module_name - test_module_name("testing.universal.digitalio") + import time + import board + import digitalio + + PIN = board.D18 + + print("hello blinky!") + + led = digitalio.DigitalInOut(PIN) + led.direction = digitalio.Direction.OUTPUT -An example log from running the suites is `here `_ . + while True: + led.value = True + time.sleep(0.5) + led.value = False + time.sleep(0.5) Contributing ============