1
0
Fork 0
Commit graph

527 commits

Author SHA1 Message Date
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
Daniel Thompson
40b2482165 wasp: simulator: Swap up/down and left/right
This gives the simulator a more natural feel since the "swipe left" action
usually means "more a screen to the right". This will probably make
testing games impossible but makes it much easier to navigate the menus.
2020-04-06 22:04:20 +01:00
Daniel Thompson
c593e1e9f9 wasp: draw565: Allow the drawing context to be reset
The main reason to reset the drawing context is so that it can be reset
before we call foreground() on an application.
2020-04-06 22:04:20 +01:00
Daniel Thompson
b2622b579d wasp: Add button presses to the event system.
Here the biggest changes are in the test application because we
refactor a number of the tests to make better use of the button.

Although applications may consume button events it does have a
default behavior which is to switch to the default application
(usually the clock).
2020-04-06 22:04:20 +01:00
Daniel Thompson
0cc7987689 apps: Remove unused support for effect animation
After a bit of testing I have not yet come up with a fast, visually
acceptable horizontal animated effect. Instead we simply reply on
screen blanking during the redraw... meaning there is no need for an
effect hint.
2020-04-06 22:04:20 +01:00
Daniel Thompson
d10f3dbc49 wasp: Get the terminology straight
As it turned out Direction was only a Direction because there were things
missing from the enumeration!
2020-04-06 22:04:20 +01:00
Daniel Thompson
0ac2321e82 wasp: Factor out the sleep/wake code
Pulling this out into a method allows it to be called by an application.
2020-04-06 22:04:20 +01:00
Daniel Thompson
4a7d9246d9
README: Add a link to the lastest wasp-os video 2020-04-06 09:28:57 +01:00
Daniel Thompson
afb9bd16b6 wasp: Add support for brightness caching and keep-awake signalling 2020-03-26 22:12:05 +00:00