| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
These issues do not appear when parsing with micropython but when we
import this file into sphinx then things go a bit south.
|
|
wasp-os contains circular import dependancies (wasp includes apps which
include wasp) but this is normally harmless.
However using __init__.py exagerated to the problem and since the benefit
of the __init__ file is pretty anyway the let's just remove it.
|
|
|
|
The code to recalculate the uptime to walltime adjustment was broken
(e.g. the longer we leave it after reboot the more inaccurate the time
setting becomes).
Fixes: 80079e4 ("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.
|
|
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.
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
At 36pt this is already gobbling a fair bit of flash so, for now, we've
restricted this only numerals (and colon).
|
|
|
|
|
|
|
|
|
|
This should ensure that main.py is always up to date.
|
|
Having the raw hex strings makes the docs look really unclean. Fix this
by providing a special version of icons for the "sphinx" board.
|
|
|
|
|
|
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).
|
|
|
|
|
|
From here we can also bring colour to the launcher!
|
|
|
|
|
|
wasp: pinetime: Release SPI NOR from deep power-down
|
|
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).
|
|
|
|
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.
|
|
This makes per-pixel access more than double the performnace of a regular
pixelview (but at the expense of requiring numpy).
|
|
|
|
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.
|
|
We will shortly be adding machinary to handle application errors more
gracefully. This is a useful way to force an application error!
|
|
Making callbacks optional reduces pointless boilerplate in applications.
|
|
These defaults are good for giving quick UI feedback.
|
|
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!
|
|
Debounce was a lousy name...
|
|
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.
|
|
The main reason to reset the drawing context is so that it can be reset
before we call foreground() on an application.
|
|
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).
|
|
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.
|
|
As it turned out Direction was only a Direction because there were things
missing from the enumeration!
|