Daniel Thompson
2e7db3ae19
tools: wasptool: Improve command output for --exec and --eval
2020-04-26 15:01:48 +01:00
Daniel Thompson
6729ac67a5
apps: launcher: Add a scroll ready indicator
2020-04-26 15:01:48 +01:00
Daniel Thompson
8b2ba4e79c
apps: launcher: Make app.ICON optional
2020-04-26 15:01:48 +01:00
Daniel Thompson
e854998268
apps: stopwatch: Fix redraw bug (and remove some old test code)
2020-04-26 15:01:48 +01:00
Daniel Thompson
9348e758b2
wasp: nrf_rtc: Add a tiny bit of extra resolution
...
We now have a couple of applications (stopwatch, Game of Life) that benefit
from sub-second precision. The micropython RTC/utime code for nrf still
needs a major overhaul but this allows us to paper over the cracks for
just a little longer.
2020-04-26 15:01:48 +01:00
Daniel Thompson
5b277e94f1
wasp: Manager: Avoid printing the stack trace when it can cause problems
...
On nRF devices if we print with the NUS console disconnected (instead
of never connected) then things we can end up hanging. Better only
to print an exception if the watch class contains a method to do
that.
2020-04-26 15:01:48 +01:00
Daniel Thompson
604966d9db
README: Provide link to the latest video
2020-04-23 13:53:28 +01:00
Daniel Thompson
880764da7d
wasp: apps: Conway's Game of Life
2020-04-18 11:54:03 +01:00
Daniel Thompson
bfd914a5d1
boards: simulator: Add ptr32 support
2020-04-17 17:19:11 +01:00
Daniel Thompson
1fe0602995
tools: wasptool: Introduce simple chunking
...
This reduces the memory overhead required to --exec a file (although
we will still have problems with big classes).
For now we have avoided matching "^def" since we need additional
handling for decorators!
2020-04-17 17:18:27 +01:00
Daniel Thompson
fe43091bcf
tools: wasptool: Add support for --reset
2020-04-17 17:17:24 +01:00
Daniel Thompson
777a150c9d
TODO: Record even more progress towards being awesome!
2020-04-14 20:06:19 +01:00
Daniel Thompson
66743d42c8
wasp: Manager: Bring in proper separation of apps
...
This is getting us much closer to the final UI concept. We have a
quick ring from which we can select typical apps such as clock and
stopwatch which will (eventually) be supplemented with step counting
and heart rate monitoriing. More exotic apps (currenrtly torch, self
test, settings) are all relagated to the launcher ring.
2020-04-14 20:05:57 +01:00
Daniel Thompson
10706a9704
wasp: stopwatch: Replace the stub with a "real" implementation
...
There are still some holes here. In particular the RTC resolution on
nRF devices (such as PineTime) is currently a full second (meaning
the centiseconds will always be zero. Nevertheless that isn't the apps
fault... as we can see when we run on the simulator.
2020-04-14 20:03:04 +01:00
Daniel Thompson
5fc802fb78
wasp: Manager: Push exceptions to the console as well as the crash app
2020-04-14 20:00:49 +01:00
Daniel Thompson
a77301ec64
fonts: Add sans36 (numerals only)
...
At 36pt this is already gobbling a fair bit of flash so, for now, we've
restricted this only numerals (and colon).
2020-04-14 20:00:04 +01:00
Daniel Thompson
64afea0d07
WIP: Introduce the quick_ring
2020-04-12 08:59:37 +01:00
Daniel Thompson
b649cd1b24
wasp: template: Implement optional application methods
2020-04-12 08:41:31 +01:00
Daniel Thompson
80d518b75b
wasp: apps: Add shortcuts to all apps
2020-04-12 08:40:49 +01:00
Daniel Thompson
64a97fce58
wasp: testapp: Sort tests alphabetically
2020-04-12 08:40:11 +01:00
Daniel Thompson
50ecff29ef
wasp: Automatically generate watch.py for PineTime
...
This should ensure that main.py is always up to date.
2020-04-11 21:12:18 +01:00
Daniel Thompson
7ef145cdc5
docs: Makefile: Try to avoid nuking the .git directory...
...
... if there is one.
2020-04-11 20:49:52 +01:00
Daniel Thompson
e165f13a9e
docs: gnu-lgpl-v3.0: Fix some broken indentation.
2020-04-11 20:49:27 +01:00
Daniel Thompson
4c09add2d8
docs: Add text descriptions of icons
...
Having the raw hex strings makes the docs look really unclean. Fix this
by providing a special version of icons for the "sphinx" board.
2020-04-11 20:49:06 +01:00
Daniel Thompson
683c3497e0
docs: Fix warnings and add a few extra apps to the docs
2020-04-11 20:26:12 +01:00
Daniel Thompson
af1379806c
wasp: simulator: Use Tab to replicate the physical button
2020-04-11 20:15:20 +01:00
Daniel Thompson
f68eb610c5
wasp: On-device crash reporting
...
If an application crashes let's report it on the device so it can be
distinguished from a hang (if nothing else it should mean we get better
bug reports).
2020-04-11 20:15:02 +01:00
Daniel Thompson
8cf9369efa
tools: wasptool: Change characters used in the progress bar
2020-04-10 20:31:26 +01:00
Daniel Thompson
23368a659b
wasp: apps: Add a new (super simple) settings app
2020-04-10 20:30:20 +01:00
Daniel Thompson
f734568ad2
wasp: draw565: Optimize the bit expansion blitter slightly.
2020-04-10 20:23:12 +01:00
Daniel Thompson
22ca8886c2
wasp: draw565: Automatic RLE format conversion
...
From here we can also bring colour to the launcher!
2020-04-10 20:22:51 +01:00
Daniel Thompson
906c313e49
tools: rle_encode: Optimize the 2-bit encoding slightly
...
This results in a image that is entirely ROMable.
2020-04-10 20:20:48 +01:00
Daniel Thompson
a1badfd95d
wasp: draw565: Fix colors when burst filling a line.
2020-04-10 20:20:01 +01:00
Daniel Thompson
3bcda8d546
Merge branch 'master' of https://github.com/daniel-thompson/wasp-os
2020-04-10 14:32:22 +01:00
Daniel Thompson
74511a1e1c
Merge pull request #7 from salcedo/master
...
wasp: pinetime: Release SPI NOR from deep power-down
2020-04-10 14:32:14 +01:00
Daniel Thompson
fd64abe882
wasp: draw565: Optimize the 2-bit RLE drawing functions
...
There's a bunch of different changes here but there are only really three
big wins. The biggest win comes from restructuring the 2-bit RLE decode
loop to avoid the inner function (~20%) but the switch to 16-bit writes in
_fill() and adoption of quick_write (e.g. no CS toggling) are also
note worthy (and about 5% each).
2020-04-08 21:50:42 +01:00
Daniel Thompson
ac61d8a1c1
TODO: Update to make latest status.
2020-04-06 22:04:21 +01:00
Daniel Thompson
841fbef8a6
wasp: testapp: Add RLE drawing benchmarks.
2020-04-06 22:04:21 +01:00
Daniel Thompson
8ed80eeeba
wasp: launcher: Experimental launcher implementation
...
It is not really the launcher itself that is immature. Rather that the
framework and UI concepts to move between applications isn't complete
yet.
2020-04-06 22:04:21 +01:00
Daniel Thompson
59bb70fa64
wasp: simulator: Optimize the drawing process
...
This makes per-pixel access more than double the performnace of a regular
pixelview (but at the expense of requiring numpy).
2020-04-06 22:04:21 +01:00
Daniel Thompson
a1a8f3f8a3
wasp: draw565: Add 2-bit RLE decoder
2020-04-06 22:04:21 +01:00
Daniel Thompson
1602180116
res: Switch from indexed to RGB mode
...
Indexed mode doesn't work with the new 2-bit encoder and adopting RGB mode
means we can compare the efficiency of the various possible encodings.
2020-04-06 22:04:21 +01:00
Daniel Thompson
02b92ff90d
tools: wasptool: Add a progress bar to the BLE uploads
2020-04-06 22:04:21 +01:00
Daniel Thompson
e2234112ff
tools: rle_encode: Add a new "2-bit" encoding mode.
2020-04-06 22:04:21 +01:00
Daniel Thompson
2b5ebcef72
wasp: widgets: Add a scrolling indicator
...
As we enrich the navigation options we will increasinly need to visualize
between apps where up/down will switch us between rings and there
up/down is needed to scroll through content.
2020-04-06 22:04:21 +01:00
Daniel Thompson
bb4e76d852
wasp: testapp: Add an option to force an exception
...
We will shortly be adding machinary to handle application errors more
gracefully. This is a useful way to force an application error!
2020-04-06 22:04:20 +01:00
Daniel Thompson
83cc56969e
wasp: manager: make sleep() and background() callbacks optional
...
Making callbacks optional reduces pointless boilerplate in applications.
2020-04-06 22:04:20 +01:00
Daniel Thompson
6a6e393d1f
wasp: vibrator: Better default for pulse
...
These defaults are good for giving quick UI feedback.
2020-04-06 22:04:20 +01:00
Daniel Thompson
b5e69aead3
wasp: Manager: Parameterize the keep awake timer
...
This might be a reasonable preference for the setings but, more importantly,
we can also set blank_after to very high values to ensure the watch doesn't
sleep during the voice over in videos!
2020-04-06 22:04:20 +01:00
Daniel Thompson
8c35282214
wasp: Rename Debounce to PinHandler
...
Debounce was a lousy name...
2020-04-06 22:04:20 +01:00