X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka.git/blobdiff_plain/611b05f44622790688bb9e074254ce6adf35c5a4..a42332d0d0261bb5cc62365648eb11a6169b4bdf:/examples/index.md diff --git a/examples/index.md b/examples/index.md deleted file mode 100644 index 184ca33..0000000 --- a/examples/index.md +++ /dev/null @@ -1,69 +0,0 @@ -# About Adafruit_Micropython_Blinka - -This repository is structured around integration tests rooted at the `test/src` -directory, intended to test the compatibility layer rooted in `src`. - -The tests offer a procedural way to assert equivalence between 'native' CircuitPython behaviour and behaviour of the **adafruit_blinka** compatibility layer. - -The structure of the testing modules permits test suites to be imported and configured selectively on different implementations, platforms and boards (see `adafruit_blinka.agnostic.py` for definitions of these terms). - -Automated introspection of the python runtime combines with interactive prompts -to configure a scenario for testing (e.g. which platform, which board, what is wired to it) -so the same routines can be carried out on Micropython boards, dual boards running either CircuitPython or Micropython, or dedicated CircuitPython boards. - -Typically the tests have first run on a native CircuitPython platform, and are then used to -prove equivalence on a Micropython platform running the **adafruit_blinka** compatibility layer. - -# Tests so far - -Tests of compatible versions of **digitalio**, **board** and **microcontroller** have successfully demonstrated -the same code running on either platform, setting and getting pin values and using pull. - -Tests have also proven compatibility of the following unmodified CircuitPython libraries... - -* adafruit_bme280 -* adafruit_mma8451 -* adafruit_gps - -...which proves the fundamentals of bitbangio.I2C, busio.I2C and busio.UART - -# Example - -To take a minimal example, the following should assert the default behaviour of the DigitalInOut -constructor, checks the behaviour of switch_to_input/output(), configures a pin as a pull-up button, a pull-down button and an LED. - -```python -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 -synchronize relevant files to the filesystem of the huzzah, reset the huzzah then -connect using `screen /dev/ttyUSB0 115200` before running the above commands. - -Micropython hosts require a micropython repository alongside -the Adafruit_Micropython_Blinka repository. For circuitpython, -the repository is expected to be called circuitpython_2.2.3. -In each case, the matching version should have been checked out from github -and `make` needs to have been run in the `mpy-cross` folder. This provides a tool -to make bytecode-compiled .mpy versions of all .py files before upload so that -tests can be achieved within the limited memory available on many target platforms. - -## Comments - -There are reference routines in `test/scripts` like `upload_feather_huzzah_micropython_put.sh` which execute a selective bytecode-compile to .mpy format and an ampy upload for CircuitPython/Micropython on esp8266, or `upload_pyboard_micropython_cp.sh` which selectively bytecode-compiles and synchronizes files with cp to the CIRCUITPY or PYBFLASH disk mount for stm32 and samd21 platforms. \ No newline at end of file