1
0
Fork 0
Commit Graph

374 Commits (306a1ec0a4dd037a59ab869f301546f7646a8ebe)

Author SHA1 Message Date
Carlosgg 306a1ec0a4 apps: Add music player app with GadgetBridge support
Signed-off-by: Carlos Gil <carlosgilglez@gmail.com>
[daniel@redfelineninja.org.uk: fix regressions on simulator, disable by
default (for now) on real hardware and remove a couple of whitespace
changes to existing files]
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-12 21:44:22 +00:00
Daniel Thompson 294797d826 hrs3300: Defer initialization until the HRS is used
This means hardware failure won't cause the initial boot to fail. This
won't stop the heart rate app from crashing when it starts up but at
least it will give a comprehensible crash report.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-11 22:07:21 +00:00
Daniel Thompson 12110aa79c TODO: Minor clarification
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-11 22:07:21 +00:00
Daniel Thompson 9f9de474f1 reloader: Rewrite the splash screen
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-11 22:07:21 +00:00
Daniel Thompson 73430ad656 micropython: Update to micropython 1.13
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-11 22:07:21 +00:00
Daniel Thompson 81bf153243 TODO: Update to reflect current status
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-08 17:02:51 +00:00
Daniel Thompson 83e6df8093 README: Updated the device list
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-08 14:39:06 +00:00
Daniel Thompson 67d2ed83d2 tools: rle_encode: Add support for rendering 2-bit RLEs to C src
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-08 14:29:10 +00:00
Daniel Thompson 06f1ed36b0 docs: Add an Application Library chapter
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-08 14:28:38 +00:00
Daniel Thompson 7015dc0023 docs: install: Fix error message during documentation generation
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-08 12:42:17 +00:00
Daniel Thompson 7ebc361e58 docs: refman: Add the fibonacci clock to the reference manual
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-08 12:41:58 +00:00
Daniel Thompson c1762605f5 Update prereqs for mcuboot imgtool.py
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-07 09:49:17 +00:00
Daniel Thompson 12ba849b15 Merge branch 'master' of https://github.com/daniel-thompson/wasp-os 2020-11-07 09:30:20 +00:00
Daniel Thompson a4e0fdf24e reloader: Add support for newer PineTime factory firmware
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-07 09:30:15 +00:00
Sergio Schvezov 3423039d35 docs: update building from source apt dependencies
The softdevice make target requires unzip

Signed-off-by: Sergio Schvezov <sergio.schvezov@ubuntu.com>
2020-11-06 22:18:05 +00:00
Daniel Thompson 20b626f5c2 actions: Replace the matrix buils with the makefile dist rule
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-06 21:38:58 +00:00
Daniel Thompson a851015cea Makefile: Avoid grabbing lots of pointless submodules
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-06 21:38:58 +00:00
Panagiotis Vasilopoulos 5bb833aa28 Added GitHub Actions support
- 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>
2020-11-06 21:38:58 +00:00
Daniel Thompson 9dd793ff19 hex2c.py: Adopt a maximum chunk size
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>
2020-11-04 19:06:03 +00:00
Daniel Thompson 8e89e38175 manager: Introduce shared "system bar"
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>
2020-11-04 19:00:37 +00:00
Daniel Thompson f95f45cda3 apps: fibonacci clock: Updates to structure like clock app
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-25 08:55:58 +00:00
Daniel Thompson 1b99764e8d apps: clock: Simplify and increase commenting
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>
2020-10-25 08:55:20 +00:00
Daniel Thompson 37f8a47220 apps: steps: Switch over the status bar widget
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-21 21:29:15 +01:00
Daniel Thompson fd4017c729 apps: stopwatch: Switch over the status bar widget
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-21 21:28:49 +01:00
Daniel Thompson 398ce598fc widgets: status: Add a status bar combo widget
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-21 21:28:09 +01:00
Daniel Thompson 9f3c75d512 widgets: battery: Fix a redraw bug
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>
2020-10-21 21:10:16 +01:00
Daniel Thompson 6cd1e86295 widgets: clock: Add a simple clock widget
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>
2020-10-21 21:10:16 +01:00
Daniel Thompson 2b244ec2a3 tools: wasptool: Improve error reporting if we can't sync
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-21 20:49:48 +01:00
Daniel Thompson 2bb0837440 tools: wasptool: Fix verbose/not-verbose handling
Fixes: 2839a04 ("tools: wasptool: Hide the stack trace on pexpect timeout")
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-21 20:48:12 +01:00
Daniel Thompson fc502cdcaa widgets: Rename StatusBar to NotificaitonBar
This is not (yet) a useful change but we'll be creating a new StatusBar
soon.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-20 18:56:08 +01:00
Daniel Thompson 52de478682 apps: fibonacci_clock: Nudge the clock down a few pixels
The better manages the space between the battery meter and the clock.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10 21:42:51 +01:00
Daniel Thompson a5f69ffe26 apps: fibonacci_clock: Enable status bar for notifications
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10 21:42:51 +01:00
Daniel Thompson 89d91f7e5b widgets: Fix a broken docstring
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10 21:42:51 +01:00
Daniel Thompson 2839a042be tools: wasptool: Hide the stack trace on pexpect timeout
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>
2020-10-10 21:42:51 +01:00
Daniel Thompson b6357ad4d8 tools: wasptool: Wait longer for DFU to come up
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10 21:42:51 +01:00
Daniel Thompson 19569b7552 res: Add graphics missing from previous commits
Fixes: c6b0723 ("README: Add the Fibonacci clock the application showcase...)
Fixes: aef95e6 ("apps: fibonacci_clock: Add an simple icon")
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10 21:42:51 +01:00
Daniel Thompson c6b07237ce README: Add the Fibonacci clock the application showcase...
... and fix the mark up the get it to render correctly on readthedocs.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10 14:21:23 +01:00
Daniel Thompson aef95e6d80 apps: fibonacci_clock: Add an simple icon
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>
2020-10-10 14:06:44 +01:00
Daniel Thompson c1c66fb487 boards: Introduce a shared manifest for all 240x240 devices
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>
2020-10-10 14:04:44 +01:00
Johannes Wache 4942e3e935 apps: fibonacci_clock: Add a Fibonacci clock application
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>
2020-10-10 13:12:39 +01:00
Daniel Thompson 11640d8362 apps: haiku: Add a simple Haiku viewer
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>
2020-10-10 12:12:59 +01:00
Daniel Thompson 0b5d1e23f8 README: Start showcasing the optional apps
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10 12:11:06 +01:00
Daniel Thompson dcd4493e2f bootloader: Fix builds for nRF52840 boards
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10 11:45:51 +01:00
Daniel Thompson 6e91e0e414 drivers: flash: Automatic wake/sleep to minimise idle current
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10 11:45:25 +01:00
Daniel Thompson b9daf05fbc boards: pinetime: Don't add nor_cs to the namespace
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>
2020-10-10 11:30:32 +01:00
Daniel Thompson 942e9f0bb4 apps: pager: Avoid crashes for notifications with no body
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10 11:28:25 +01:00
Jeffrey Bailey f924bb6414 boards: Remove flash wake up commands
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>
2020-09-27 14:26:29 +01:00
Daniel Thompson 7075f5689e wasp: Fix broken indention
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>
2020-09-22 21:14:45 +01:00
Daniel Thompson 6bf350a6e9 drivers: cst816s: Clear the event buffer during a wake up
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>
2020-09-21 20:12:38 +01:00
Daniel Thompson 6890a52502 docs: install: Describe unsupported step counter in P8a
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-09-16 21:59:47 +01:00