summaryrefslogtreecommitdiff
path: root/wasp/apps/clock.py
AgeCommit message (Collapse)Author
2022-02-02Add watchface with weekdayFrancesco Gazzetta
* Allow overriding of date string in clock.py * Override it to display the weekday in week_clock.py Signed-off-by: Francesco Gazzetta <fgaz@fgaz.me>
2022-02-02Remove icons from watchface appsFrancesco Gazzetta
They are not displayed anywhere but they take space Signed-off-by: Francesco Gazzetta <fgaz@fgaz.me>
2021-06-20all clocks: Add a preview() method ready for a watch face chooserDaniel Thompson
One benefit from wasp-os' dirt simple drawing model is that it is very easy for apps to provide full screen previews of themselves. Add this for all clocks ready for us to add a watch face chooser application. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-13simulator: test_qa: Add some basic docstring testsDaniel Thompson
This one picked up a lot of inconsistancy so the changes here are pretty big. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-31manager: Recategorize the theme labels for appsDaniel Thompson
By default bright and mid are white/grey tones, the ui widgets are blue and the spot colours are different variants of orange. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-28icons, fonts.digits: Switch over to 2-bit RLE encodingDaniel Thompson
The 2-bit RLE encoding, in addition to supporting colour is also fully ROMable meaning we can save 32 bytes of RAM per image by switching to 2-bit encoding. Switch everything in icons and font.clock over to 2-bit encoding. Note: this requires all the clock PNG files to be reencoded (because they were originally in 1-bit grayscale format and this is no longer supported by the encoder). This reduces RAM overhead by 480 bytes and has only a negligable effect on FLASH usage (+4 bytes). 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-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: 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-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-08-16README: Add a (fairly) comprehensive screenshot tourDaniel Thompson
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-05-14wasp: Even more docstringsDaniel Thompson
2020-04-06wasp: launcher: Experimental launcher implementationDaniel Thompson
It is not really the launcher itself that is immature. Rather that the framework and UI concepts to move between applications isn't complete yet.
2020-04-06wasp: manager: make sleep() and background() callbacks optionalDaniel Thompson
Making callbacks optional reduces pointless boilerplate in applications.
2020-04-06apps: Remove unused support for effect animationDaniel Thompson
After a bit of testing I have not yet come up with a fast, visually acceptable horizontal animated effect. Instead we simply reply on screen blanking during the redraw... meaning there is no need for an effect hint.
2020-04-06wasp: Get the terminology straightDaniel Thompson
As it turned out Direction was only a Direction because there were things missing from the enumeration!
2020-03-26wasp: Move the constants into seperate container classesDaniel Thompson
2020-03-22Add licensing information for all wasp-os files.Daniel Thompson
2020-03-22Rename manager.py and expose its interfaces to all applicationsDaniel Thompson
This is a big change that break compatiblity with existing applications *and* with existing installed versions of main.py. When upgrading it is import to update main.py: ./tools/wasptool --upload wasp/main.py
2020-03-09wasp: draw565: Refactor to allow apps to focus on the drawable.Daniel Thompson
2020-03-08wasp: Re-factor how Draw565 is used.Daniel Thompson
Moving it from applications into the watch is useful for two reasons. Firstly it means applications don't need to know as much about the display color depth and secondly it makes it easier to replace the drawing routines with wasptool.
2020-03-08wasp: Move the apps into their own directory.Daniel Thompson