summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorDaniel Thompson <daniel@redfelineninja.org.uk>2020-01-29 17:30:57 (GMT)
committerDaniel Thompson <daniel@redfelineninja.org.uk>2020-01-29 17:30:57 (GMT)
commitd3d98c8ffb1feded5b77c34f67aa1f2b4ae19a2e (patch)
tree369153700d5a304366180844c5a1eff13a20521e /README.md
parent564200757cce485ba9cb7b12d25c5c98b3fe6e26 (diff)
wasp: Re-enable REPL by default
The demo is still there but it needs to be activated by hand (or the manifest can be updated to include main.py by default.
Diffstat (limited to 'README.md')
-rw-r--r--README.md58
1 files changed, 40 insertions, 18 deletions
diff --git a/README.md b/README.md
index 4c0be7a..dcdec06 100644
--- a/README.md
+++ b/README.md
@@ -1,33 +1,55 @@
Watch Application System in Python
==================================
-Despite the grand ambitions of the name, currently this repo simply
-combines a bootloader, derived from the Adafruit NRF52 bootloader, with
-MicroPython. Both have been ported to Pine64 PineTime and the Desay
-DS-D6 fitness band.
+Currently WASP is primarily useful as a pre-packaged MicroPython
+development environment for PineTime. Whilst there are plans to grow
+it into a smart watch runtime for Pine64 PineTime and the Desay
+DS-D6 fitness tracker this goal has yet to be achieved.
-Try:
+WASP includes a robust bootloader based on the Adafruit NRF52
+Bootloader. It has been extended to make it robust for development on
+form-factor devices without a reset button, power switch, SWD debugger
+or UART. This allows us to confidently develop on sealed devices relying
+only on BLE for updates.
+
+Building from a git clone
+-------------------------
~~~
make submodules
make softdevice
-make -j `nproc` all
-make flash
+make -j `nproc` BOARD=pinetime all
~~~
-Then use nRFConnect (for Android) to program micropython.zip.
+Installing
+----------
+
+Note: *If you have a new PineTime then it will have been delivered with
+flash protection enabled. You must disable the flash protection before
+trying to program it.*
+
+* Use an SWD programmer to install `bootloader.hex` to the PineTime.
+ This file is an Intel HEX file containing both the bootloader and
+ the Nordic SoftDevice. Be careful to disconnect cleanly from the
+ debug software since just pulling out the SWD cable will mean the
+ nRF52 will still believe it is being debugged.
+* Copy `micropython.zip` to your Android device and download nRF Connect
+ for Android if you do not already have it.
+* In nRF Connect, choose settings and reduce the DFU packet count from
+ 10 to 4.
+* Connect to PineDFU using nRFConnect, click the DFU button and send
+ `micropython.zip` to the device.
-At the end of this process your watch may *look* dead but, if it works,
-you will be able to use the Nordic UART Service to access the
-MicroPython REPL.
+At the end of this process your watch you will see a couple of splash
+screens (bootloader shows a small Pine64 logo, MicroPython shows are
+larger one). Once the second splash screen appears you will be able to
+use the Nordic UART Service to access the MicroPython REPL.
-Drivers are, for the most part, an exercise for the reader but
-there is a proof-of-concept display driver. To experiment try:
+Drivers are still in development, see the [TODO list](todo.md) for
+current status. In the mean time try the following and then take
+a look at the `wasp/` directory to see how it works:
~~~
-import pinetime, time
-tft = pinetime.st7789()
-tft.white()
-time.sleep(2)
-tft.black()
+import demo
+demo.run()
~~~