From a75b48ca9e7241a0b876258d31efaa907090c2a8 Mon Sep 17 00:00:00 2001 From: Cefn Hoile Date: Mon, 26 Feb 2018 23:05:27 +0000 Subject: [PATCH] Added I2C example and further compatibility modules listed --- README.rst | 17 ++++++++--------- examples/index.md | 13 +++++++++++++ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/README.rst b/README.rst index 993e0a9..127131d 100644 --- a/README.rst +++ b/README.rst @@ -19,6 +19,9 @@ on hosts running micropython. Working code exists to emulate the CircuitPython p * **board** - breakout-specific pin identities * **microcontroller** - chip-specific pin identities * **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 Dependencies @@ -28,25 +31,21 @@ The Micropython compatibility layers described above are intended to provide a C are running 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 under **testing.implementation.all** are by design +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. -The test suites under **testing.implementation.micropython** will only run -on Micropython and **testing.implementation.circuitpython** will only run on CircuitPython - - Usage Example ============= -At the time of writing (`git:b70fd42a `_), +At the time of writing (`git:7fc1f8ab `_), the following sequence runs through some basic testing of the digitalio compatibility layer... .. code-block:: python - import testing - testing.main() + from testing import test_module_name + test_module_name("testing.universal.digitalio") -A typical log from running the suites is `here `_ . +An example log from running the suites is `here `_ . Contributing diff --git a/examples/index.md b/examples/index.md index 0a03af3..184ca33 100644 --- a/examples/index.md +++ b/examples/index.md @@ -37,6 +37,19 @@ from testing import test_module_name test_module_name("testing.universal.digitalio") ``` +Or to take a more involved example of constructing a test suite requiring hardware, +the following should verify I2C communication with a BME280 module. + +```python +import unittest +import testing.universal.i2c +suite = unittest.TestSuite() +suite.addTest(testing.universal.i2c.TestBME280Interactive) +runner = unittest.TestRunner() +runner.run(suite) +``` + + To prove this on a newly-flashed Feather Huzzah running Micropython 1.9.3, it should be possible (on a posix-compliant platform with adafruit_ampy installed) to `cd test/scripts` then run `./upload_feather_huzzah_micropython_put.sh` to -- 2.49.0