summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-01-10simulator: tests: Update after renaming the stopwatch appDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-10apps: timer: Add a countdown timer applicationWolfgang Ginolas
Signed-off-by: Wolfgang Ginolas <wolfgang.ginolas@gwif.eu> [daniel@redfelineninja.org.uk: squashed into a single commit, rebase to latest master, integrate with the Software application and rename the screenshots to match the application name] Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-10docs: Add some main.py examplesDaniel Thompson
These still need to be integrated into the generated documentation but there were included in the most recent wasp-os video so let's get them into the source code. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-10apps: music: Update the application iconDaniel Thompson
Switch from a headphone to music notation metaphor and take the (lazy?) approach of using the watch chassis to frame the icon. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-10wasptool: Allow files to be renamed during an uploadDaniel Thompson
For example: ./tools/wasptool --upload docs/main/chrono.py --as main.py Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-10TODO: Update the roadmap ready for a 0.4 release.Daniel Thompson
Admitedly we can become "ready" by reducing the scope a little. On the other hand there's been some big steps forward in terms of new applications so I'd like to refocus the 0.4 release to showcase those new apps. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-10boards: simulator: Add basic mute simulationDaniel Thompson
Currently the simulator shows redraw artifacts that are concealed on the real device by using display on/off. We can improve this by avoiding the refresh when the display is off. This does not match the behaviour of the real hardware (which goes dark during transitions) but does make the simulator feel much more comfortable to use. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-10boards: simulator: Enable TestApp by defaultDaniel Thompson
Relaunching the simulator to run tests quickly gets frustrating if the Self Test is disabled by default. Change this. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-10system: Allows apps to be registered using stringsDaniel Thompson
Use instance tests to identify strings and substitute then for an instanciated class. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-10widgets: ConfirmationView: Adopt the button widgetDaniel Thompson
Replace the pixelated Yes/No buttons with text based alternatives. This also required changes to the pager to change the way the redraw after changing view is implemented (improved muting and a reset of the colours). Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-10widgets: button: Add a simple Button widgetDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-03sphinx: Fix docs build regressionDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-03manager: Enable Software by defaultDaniel Thompson
Enabling software by default allows us disable several other applications by default because there is now a GUI based route to enable them. This does require a few tweaks to the test suite and allows allows us to remove a lot of boilerplate text from the application library document since it is no longer relavent. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-03apps: software: Add an apps to enable/disable other appsDaniel Thompson
Currently wasp-os enables a narrow set of applications because we don't want to consume RAM by importing the module and constructing the application. We can improve on this situation by providing a small (stateless) application that can be used to enable or diable applications. This allows all the ROMed applications to be enabled using the GUI without compromising on the ability to develop applications. In fact this application significantlly reduces the RAM consumed in the default case becasue the Self Test app does not need to maintain its state. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-03widgets: checkbox: Add a label propertyDaniel Thompson
The checkbox uses the _im(mutable) idiom to minimize the RAM overhead of its immutable properties (position and label). However it can be useful to retrieve the label to provide a property accessor. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-03widgets: Use theme colours for text labelsDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-03apps: settings: Use theme colours for text labelsDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-03apps: launcher: Use theme colours for text labelsDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-03apps: heart: Use theme colours for text labelsDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-31apps: calc: Use the UI colours to generate a backgroundDaniel Thompson
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-31wasp: manager: Byte-swap the theme encodingDaniel Thompson
Currently the theme is explicitly little endian. This does match the underlying hardware but makes it needlessly difficult to hand edit themes. Switch the default theme and theming tools over to big endian form and add comments to the default theme to support hand editing. We also expand the ASCII characters in the default them with hex codes. This is the final step needed to make hand edited themes trivial to work with. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-31drivers: bma421: Switch over to reset_step_counter()Daniel Thompson
Currently the bma421 driver simple re-initializes the sensor when asked to set the step counter to zero. Switch over to the proper function for this. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-30apps: steps: Fix typo in docstringsDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-30widgets: ConfirmationView: Fix hit box problemsDaniel Thompson
The ConfirmationView became broken when we converted it's images over to 2-bit RLE. That happened because the confirmation view relied on the the 1-bit RLE to dynamically generate hit boxes. Currently the code pre-calculates the hit box which is a waste of RAM. Let's rip out the existing hit box logic and replace it with much larger ("fat finger") hit targets. We make the touch() method more closely adopt the idioms of other UI components (e.g. don't return the dialog status... just whether or not we handled the touch). Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-30bma42x-upy: Implement step counter resetDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29docs: Update screenshots with new battery meterDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29apps: alarm: add a full colour iconDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29apps: alarm: Adopt the spinner widgetDaniel Thompson
Replace the open coded spinner widget with the newly introduced system one. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29apps: alarm: avoid setting a "silly" alarm during app initDaniel Thompson
The alarm is off by default so there's no reason to set an alarm that is disabled. Let's stop doing that. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29widgets: Spinner: Add a simple spinner widgetDaniel Thompson
We are able to add this to the self tests without having to create a special page. Instead we can modify the existing notifications test to utilize the spinner. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29simulator: Better align simulator RTC API with the nRF APIDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29TODO: Add new widgets to the roadmapDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29apps: alarm: Adopt the checkbox widgetDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29widgets: Checkbox: Add a simple checkbox widgetDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29widgets: ConfirmationView: minor docstring tweakDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29widgets: Slider: Adopt draw565.lighten for palette managementDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29draw565: Add lighten/darken functionsDaniel Thompson
Add functions to generate shades from a single (usually theme provided) basic palette colour. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29TODO: A couple of small additions to the roadmapDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29tools: rle_encode: Add a parameter for direct CLUT lookupDaniel Thompson
This can be useful for hand decoding and authoring of images. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29apps: calc: Remember the results between invocationsDaniel Thompson
Currently if you spend more then 15 seconds looking up figures or transcribing the answer then the system will switch back to the clock and the answer will be lost. Fix this by remembering the output between invocations. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29apps: calc: Rewrite the display and calculation engineDaniel Thompson
Currently calculations such as 22/7 do not work correctly on the simulator (which uses double precision floating point). Fix this by explicitly truncating the strings when needed. Additionally the current calculate() method has some problems when the calculation cannot be evaluated since it will needlessly clear out the calculation. Push calculate (and the exception handling) into the caller and report errors using the vibration motor instead. Finally we rename display_output() to the more idiomatic _update(). Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29apps: calc: Optimize the fields lookup structureDaniel Thompson
Currently the fields is a list of lists of strings. This will needlessly consume RAM so lets switch it over to a simple string (which is immutable and can be stored in flash). We also replace indices with simple x and y variables. In addition to avoiding a (temporary) memory allocation this is also easier to use when looking up in fields. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29apps: calc: Draw a closed gridDaniel Thompson
Currently the calculator uses an open grid. It's a matter of taste but I prefer a closed grid. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29apps: calc: Correct after draw565 bug fixDaniel Thompson
Currently the coordindates used for line drawing are "tuned" for a bug in the line drawing code (and now draw off the edge of the screen). Fix this. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-29draw565: Allow strings to be right justifiedDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-28draw565: Handle empty strings when calculating the bounding boxDaniel Thompson
Currently the empty string cannot be drawn into a fixed width box. Fix this by adding a special case for empty strings. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-28draw565: Fix bug in the straight line optimizationDaniel Thompson
Currently the line drawing code does not draw the final pixel of straight lines. Thus a line from (0, 0) to (10, 10) finishes on a different pixel to (10, 0) to (10, 10). Fix this by removing the spurious subtract one from the end point Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-28apps: calc: Adopt the system theme for accent colorsDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-28apps: calc: Move the copyright header to the top of the file.Daniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>