1
0
Fork 0
Commit graph

456 commits

Author SHA1 Message Date
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
Daniel Thompson
889115f4b0 wasp: Allow app initialization to fail
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>
2020-09-16 21:47:22 +01:00
Daniel Thompson
fa1515487d docs: install: Add a troubleshooting guide
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-30 09:10:08 +01:00
Daniel Thompson
6ae968a017 docs: Update after review (and add K9)
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-27 17:11:21 +01:00
Daniel Thompson
01ac0d93c3 Makefile: Remove one of the lists of watch models
Takes us down from three to two... getting better!

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-21 21:24:42 +01:00
Daniel Thompson
bd806effc3 Makefile: Add a dist rule to generate binary releases
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-21 21:12:26 +01:00
Panagiotis Vasilopoulos
5aa07e13a5 docs: install: Add instruction for installing modules with pip
Signed-off-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
2020-08-19 20:14:26 +01:00
Daniel Thompson
d982db0575 README: Improve the stopwatch screenshot
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>
2020-08-16 19:06:09 +01:00
Daniel Thompson
13d9095872 TODO: Update documentation roadmap for v0.3
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-16 18:54:55 +01:00
Daniel Thompson
1a67f74319 TODO: Add a table of contents
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-16 18:54:11 +01:00
Daniel Thompson
a14f1b054c TODO: Switch to reverse order
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>
2020-08-16 18:52:16 +01:00
Daniel Thompson
de582cce2b TODO: Replanning ready for a 0.3 release
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-16 18:49:57 +01:00
Daniel Thompson
e8ae2ed47e boards: simulator: Add an screenshot facility
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>
2020-08-16 18:49:40 +01:00
Daniel Thompson
9877ea99bd README: Add a (fairly) comprehensive screenshot tour
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-16 18:48:15 +01:00
Daniel Thompson
c5a4a14334 README: Tabulate the videos
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>
2020-08-16 18:46:44 +01:00
Daniel Thompson
28961f1a54 Makefile: Fix the BOARDless targets
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>
2020-08-15 20:45:18 +01:00
Daniel Thompson
cd97893d2c apps: stopwatch: Add NEXT support
On a device with NEXT support we need to make sure we reset the stopwatch
when switching away from it (if it is not running) since there may not
be any other way to reset it.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-15 20:43:22 +01:00
Daniel Thompson
44ba8ebd22 drivers: cst816s: Handle a failure to sleep
Exceptions on th sleep path more or less kill the device (it is half
alseep and is not on... but not off enough for the power button to work.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-15 20:40:26 +01:00
Daniel Thompson
34ca73ee60 gadgetbridge: Disable the not-implemented message
Currently the not-implemented message provokes GadgetBridget into
issuing lots of annoying toaster messages. It's still useful for debugging
but let's disable it by default.

Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-15 20:37:52 +01:00