summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
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()
~~~