summaryrefslogtreecommitdiff
path: root/wasp/apps
AgeCommit message (Collapse)Author
2020-12-13apps: clock: Fix theme handlingDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-13Added basic theming engine.kozova1
This theming engine uses a bytestring (but supports anything indexable, as long as the index results are a byte long), stored as `wasp.system._theme`. It has a default value, which should not change anything about the way this looks currently. The theme can be set via `wasp.system.set_theme`, but this should *ONLY* be used in `main.py`. `wasp.system.set_theme` will return True if it was successful, or False if the theme is of an old format. Using an old format theme will *not* crash the watch, but will use the default theme instead. To theme this, one has to use tools/themer.py (use flag -h for complete explanation) to generate a bytestring that's added in main.py (see diff). The bytestring is then loaded into 'wasp.system._theme'. Theme values can be looked up by apps by using `wasp.system.theme("theme-key")`. Theme keys appear in the function body of `wasp.system.theme()`. I've took the liberty of converting existing apps to use this method, and it seems to work well. A test theme is provided in `tools/test_theme.py` Signed-off-by: kozova1 <mug66kk@gmail.com>
2020-12-13apps: testapp: Automatically report free memoryDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-12apps: testapp: Make the line benchmark use 360 degreesDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-12draw565: Added line drawing functionKozova1
This is the API: drawable.line(x1, y1, x2, y2, color) The function has optimizations for the case of vertical or horizontal lines. Signed-off-by: Kozova1 <mug66kk@gmail.com> [daniel@redfelineninja.org.uk: Minor update to commit message] Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-12apps: snake: Remove redundant importDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-05apps: settings: Add Scroll Indicatorkozova1
This commit adds a ScrollIndicator widget to the settings app, to help users realize they can scroll there. Signed-off-by: kozova1 <mug66kk@gmail.com>
2020-11-29Notify level in settings appCarlosgg
Signed-off-by: Carlos Gil Gonzalez <carlosgilglez@gmail.com> [daniel@redfelineninja.org.uk: Fixed board support for simulator and sphinx (a.k.a. doc builder)] Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-29apps: snake: Add a snake game applicationJohannes Wache
Signed-off-by: Johannes Wache <jbwa@posteo.de> [daniel@redfelineninja.org.uk: Removed some couple of unwanted merge artifacts] Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-29apps: alarm: Fix touch handling when the alarm is ringingDaniel Thompson
Currently the widgets react to touch when the alarm is ringing (and they are invisible. For now we fix this by disabling the alarm on a touch event. Maybe the app should reject touch events since they could acidentally dismiss the alarm... but we already disable the alarm if we get a swipe event so this doesn't make things much worse than they already are! Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-29apps: alarm: Adopt 2-bit RLE for the iconDaniel Thompson
The long term plan is to retire and remove the 1-bit RLE code from wasp-os so we don't want new icons using that encoding. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-29apps: alarm: Add Alarm application based on the new alarm systemSiroj42
Signed-off-by: Joris Warmbier <siroj42@t-online.de>
2020-11-29apps: pager: notifications: improve swipe handlingDaniel Thompson
Currently the swipe handling added for the confirmation view has a number of prolems: it does not work at all for multi-screen notifications, it interferes with the haptic feedback if we keep swiping down and an up swipe incorrectly dismisses whole notification app. Fix these. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-29apps: pager: notifications: dismiss confirmation view on app exitDaniel Thompson
Currently the confirmation view remains active when we switch away from the notification view. Ensure we dismiss when we background the application. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-29apps: pager: notifications: fix handling of touch messagesDaniel Thompson
Currently there are detailed hit boxes in the confirmation view widget but any inaccurate hit is treated as No anyway by the notification app. Additionally selecting 'No' dismisses the whole notification app rather than just the confirmation view. Fix the event handling so that we ignore touches outside the hit box and only dismiss the whole notification app if we actually clear the notifications. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-29apps: pager: notifications: Fix typo in clear notification messageDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-29apps: pager: notifications: Added remove all notifications dialogAidan Houlihan
Signed-off-by: Aidan Houlihan <aidandhoulihan@gmail.com> [daniel@redfelineninja.org.uk: Minor changes to .gitignore] Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-26apps: settings: Avoid circular dependancies during app initDaniel Thompson
wasp.system cannot be safely be used from app __init__ methods. Move the initial value settings to the foreground method instead. Fixes: b1326e16092b ("apps: settings: Fix initial slider value") Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-26apps: settings: Fix initial slider valuekozova1
When the Settings app is launched, it shows the "Mid" text (this is correct), but the slider is at the lowest position. After moving the slider it functions correctly, so this fix is mostly cosmetic. Signed-off-by: kozova1 <mug66kk@gmail.com>
2020-11-22apps: music: Add to application indexDaniel Thompson
Additionally we rename the screenshot to conform to the naming convention (app.NAME + 'App.png') used for simulator screenshots. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-14apps: testapp: Add an alarm testDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-14apps: steps: Use the alarm system to reset the step counter at midnightDaniel Thompson
This is way better than zeroing it the first time in the day we use the step counter! Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-12apps: music: Fix double track name bugDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-12apps: Add music player app with GadgetBridge supportCarlosgg
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-08docs: Add an Application Library chapterDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-04manager: Introduce shared "system bar"Daniel Thompson
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-10-25apps: fibonacci clock: Updates to structure like clock appDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-25apps: clock: Simplify and increase commentingDaniel Thompson
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-21apps: steps: Switch over the status bar widgetDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-21apps: stopwatch: Switch over the status bar widgetDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-20widgets: Rename StatusBar to NotificaitonBarDaniel Thompson
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-10apps: fibonacci_clock: Nudge the clock down a few pixelsDaniel Thompson
The better manages the space between the battery meter and the clock. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10apps: fibonacci_clock: Enable status bar for notificationsDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10apps: fibonacci_clock: Add an simple iconDaniel Thompson
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-10apps: fibonacci_clock: Add a Fibonacci clock applicationJohannes Wache
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-10apps: haiku: Add a simple Haiku viewerDaniel Thompson
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-10apps: pager: Avoid crashes for notifications with no bodyDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-16README: Add a (fairly) comprehensive screenshot tourDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-15apps: stopwatch: Add NEXT supportDaniel Thompson
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-07-24StatusBar: Rename and add BLE connection status iconDaniel Thompson
Notifier was a dumb name so make it better. Now that we have a decent name it should be obvious how to handle the BLE connection status icon! Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-07-19Introduction basic notification supportDaniel Thompson
This requires a modified version of Gadgetbridge and currently works by implementing the BangleJS protocol. In Gadgetbridge ensure "Sync time" is *not* set and choose "Don't pair" when adding the PineTime device.
2020-06-27apps: stopwatch: Improve splits... and colour schemeDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-25ppg: Pull the PPG signal processing into a seperate libraryDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-24apps: heart: Initial heart rate detectionDaniel Thompson
The algorithm is fairly crude and the GUI is pretty simple but, if you stay still for 10 seconds, there's a good chance of an accurate pulse reading. Of course if you jog on the spot for ten seconds it more likely to calculate how many steps per minutes you are performing! Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-22apps: heart: Introduce simple app for the heart rate sensorDaniel Thompson
The heart rate analysis step is still a work in progress but the current app allows us to visualize the the results of the signal conditioning. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-22wasp: Switch to the faster fill routinesDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-22apps: testapp: Filled rectangle drawing benchmarksDaniel Thompson
Measure the performance of the quarter screen fill, horizontal lines and vertical lines. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-12apps: [steps,stopwatch]: Increase font size of clockDaniel Thompson
We also change the colour scheme slightly because the increased size of the clock interferes visually with the main display when it is bright white. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-12apps: steps: Fix the overnight step counter resetDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-09wasp: apps: Step counter applicationDaniel Thompson
Currently there's no fancy algorithms to estimate stride length. Just pure simple step counting directly from the hardware's "intelligence engine". Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>