- This workflow caches both the Python modules, as well as the arm-none-eabi toolchain itself, in order to save resources and time.
- This workflow is meant to imitate the building instructions as closely as possible for every board.
After the workflow compiles wasp-os for a specific board, it will package the following in separate archives (per board):
- the reloader
- the bootloader (both the standalone and the DaFlasher variations)
- a copy of MicroPython
- a copy of the documentation
- the additional tools that are necessary for interacting with devices running on wasp-os
Signed-off-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
Large segments will be chunked into 32K blocks to they can be handled
seperate. Creating a maximum chunk size allows us to perform a few
tricks in the reloader by allowing us to overwrite parts of the reloader
whilst it is running!
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
Providing a status bar for all apps to use allows us to reduce allocations
within the applications.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
The main simplification is to adopt the status bar (with the status bar
clock disabled) and to restructure the way draw and redraw are handled.
Since the clock application is one of the most popular to customize it
has also had extensive commenting added to describe how it works.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
Currently if the real battery level is <5% then a redraw from scratch will
not draw the outline of the battery. Fix this by adding a special case for
negative previous states (-1 charging, -2 redraw).
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
This is intended to be reused by any app that shows the clock as part
of the status bar at the top of the display.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
The default pexpect exception dump is verbose and potentially useful if
you know how to read it... but let's handle timeouts in a friendlier way.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
For some users the icon is pointless because they would rather install
the clock on the quick ring but this clock is something of a novelty so
it would be quite reasonable to only launch it when in the mood for
decoding something!
Happily the icon compresses nicely too!
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
This also adds the Fibonaci Clock, Haiku viewer and the Game of Life
to the manifest. They are *not* registered by default at this point
since, although we can currently spare the internal flash space there
is more competition for RAM so we have to trade off out-of-the-box
convenience with keeping as much RAM as possible for users to do
"cool things".
Given the zen of wasp-os is to try to make is as easy as possible for
users to become coders we currently favour reserving the space for the
cool things (and implicitly encouraging them to write a couple of lines
of python to enable the bonus applications.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
Signed-off-by: Johannes Wache <jbwa@posteo.de>
[daniel@redfelineninja.org.uk: Tidy up the "git soup", dropped the manifest
changes and integrated the description from the original PR into the
docstring for the app]
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
This app serves as an example of using the filesystem to make an
application more flexible. Both the verses and the icon will be
loaded from the filesystem rather than being burned into the
wasp-os binaries.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
Having an extra identifier for the Pin() is a waste of RAM... if you need
the CS pin then grab it from watch.flash._cspins instead.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
Wake from deep power down is now handled in the driver. Remove attempt
to wake the board files.
Signed-off-by: Jeffrey Bailey <wb.jeffrey@gmail.com>
[daniel@redfelineninja.org.uk: Update commit message, simplify
slightly, extended to all boards with spinor flash and update
gitmodules to bring in the flash driver updates.]
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
Currently the simulator cannot run correctly because the indentation
in Manager.__init__ mixes tab and spaces. This is something CPython3
doesn't like but MicroPython is ok about.
Fix the obvious by using correct indentation.
Fixes: 889115f ("wasp: Allow app initialization to fail")
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
Currently with CST816S controllers (but not CST716S controllers) then a
swipe delivered whilst the device is asleep will sometimes be processed
after we wake it up. That's never likely to be useful. Fix this by
explicitly clearing the event buffer as part of the wakeup sequence.
Reported-by: Siroj42 <siroj42@users.noreply.github.com>
Fixes: #65
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
Colmi has released a new revision of the P8 hardware based on a different
accelerometer. That makes it impossible for the StepCounterApp to
initialize and currently this takes down the whole GUI due to the
uncaught exception.
Fix this by skipping applications that will not initialize.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
The stopwatch app support split times... let's make sure we are showing
that off in the screenshots.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
There are absolutely no changes to any milestone in the roadmap. It is
simply sorted differently.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
The screenshot is automatically named after the application currently
running and copied into the res/ directory. This allows the application
screenshots to be quickly updates if/when the screenshots get out of date
as the applications are improved.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
Update the way the videos are presented. They are now tabulated and
presented as figures (e.g. captioned) rather than images. They also
now appear later in the files.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
Currently boardless targets including softdevice, sudmodules and sim
cannot be run unless a dummy value of BOARD is supplied. Fix this by
distinguishing between conditional and unconditional expansions of the
BOARD variable.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>