summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-26 micropython: Improve wdt logicDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-26TODO: Roadmap updateDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-24github: workflows: Fix add-path problemsDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-13tools: themer: Fix the online helpDaniel Thompson
Correct the indentation and the quoting of the theme strings. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-13widgets: BatteryMeter: Fix theme handlingDaniel Thompson
Add the battery frame to the theme so it matches the frame used for charging and rename accordingly. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
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-12boards: simulator: Additional testsDaniel Thompson
Start to work (most of) the code paths in the self test application. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-12boards: simulator: Improve spi.write() simulationDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-12tools: Update intelhex, hexmerge.py and nrfutil for python 3.9 compatibilitySiroj42
Signed-off-by: Joris Warmbier <siroj42@t-online.de> [daniel@redfelineninja.org.uk: Remove changes to tools/hexmerge.py] Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-10tools: hexmerge: Replace redundant copy with a symlinkDaniel 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-12-04simulator: Suppress the pysdl2/numpy warningDaniel Thompson
This makes the simulator look nicer when it starts up... but it doesn't help the simulator. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-04simulator: test: Grey box stopwatch testDaniel Thompson
Currently we can act on the controls but we cannot "see" the display in the test suite. That leads us to a slightly odd form of "grey box" testing. It's functionally black box testing but some of the asserts have to reach inside the components instead of looking at the display. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-04simulator: tests: Parameterize the basic app testsDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-04Makefile: Allow specific tests to be runDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-04simulator: Introduce fully automatic testintDaniel Thompson
Currently the tests do little more than fire up the simulator and switch into (and out of) the built in applications. However this is useful and allows us to fully integrate as a CI job. Unfortunately the numpy warning from pysdl2 mean we have been forced to disable all warnings to prevent pytest from collecting and reporting them. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
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-29github: actions: Ensure warning free docs buildDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-29apps: alarm: Add the alarm app to the libraryDaniel Thompson
Like the other library applications this is enabled in the simulator and included in the flash image but is disabled by default to conserve RAM (and to give time to new apps to mature and receive improvements). 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-29docs: Makefile: Turn sphinx warnings into errorsDaniel Thompson
Currently patches that break the documentation build are not triggering CI failure. Fix this. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-29sphinx: icons: Get the doc build working againDaniel Thompson
Fixes: 393dfefc86be ("apps: pager: notifications: Added remove all notifications dialog") Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
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-29widgets: ConfirmationView: Allow the widget to manage its own visibilityDaniel Thompson
When the buttons are pressed then the widget should be dismissed. There is no reason to make the caller handle that. 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-26Add wget to build dependenciesMaarten de Jong
Signed-off-by: Maarten de Jong <accounts@arteeh.com>
2020-11-26docs: contributing: Add a simple style guideDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-26README: Add links to the official IRC channelDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-22docs: install: Update install requirementsDaniel Thompson
Some of the new reloader features require additonal python modules. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-22widgets: clock: Improve the redraw logicDaniel Thompson
Currently if we wake the watch exactly N hours (where N is integer) after it goes to sleep then the time will not be updated. Fix this the obvious way. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-11-22docs: Wordsmtithing updates after reviewDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
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-14[pinetime,p8,k9]: Show when main.py is runningDaniel Thompson
This is yet another step towards making the role of main.py more obvious. 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-14docs: install: Update for newer PineTime devicesDaniel 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-14manager: Implement alarm callbacks for applications to useDaniel Thompson
Create a simple time queue where actions (functions or bound methods) can be queued against the real time clock. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>