summaryrefslogtreecommitdiff
path: root/wasp/apps/testapp.py
AgeCommit message (Collapse)Author
2021-03-29apps: testapp: Force characters to render with a not-black backgroundDaniel Thompson
This helps pick up any problems with the glpyh rendering. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-02-04apps: testapp: Ensure we test centred stringsDaniel Thompson
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>
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>
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-29widgets: Checkbox: Add a simple checkbox widgetDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-27draw565: Add width to the line drawing functionDaniel Thompson
Currently all lines are a single pixel wide. To draw wider lines we must draw two parallel lines with a single pixel offset and this is a *very* inefficient approach, espeically on ST7789 where we spend longer setting the clipping window than we do drawing each pixel. Fix this by constructing a line using a variable sized square rather than a single pixel. This will "overdraw" (some pixels will be drawn more than once) but since square blocks can be efficiently transferred to the display the overdraw is acceptable. Note: It is a difficult decision whether to maintain the convention that color is the last argument or to keep compatibility with existing line drawing tests. This patch opts for the former and fixes up all uses within the existing codebase. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
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-11-14apps: testapp: Add an alarm testDaniel 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-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-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-05-24widgets: Introduce a slider widgetDaniel Thompson
Currently the slider doesn't actually slide (because we process touch events rather than swipe events) but we've called is a slider anyway.
2020-05-14wasp: Even more docstringsDaniel Thompson
2020-04-12wasp: testapp: Sort tests alphabeticallyDaniel Thompson
2020-04-11wasp: On-device crash reportingDaniel Thompson
If an application crashes let's report it on the device so it can be distinguished from a hang (if nothing else it should mean we get better bug reports).
2020-04-10wasp: draw565: Automatic RLE format conversionDaniel Thompson
From here we can also bring colour to the launcher!
2020-04-06wasp: testapp: Add RLE drawing benchmarks.Daniel 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: widgets: Add a scrolling indicatorDaniel Thompson
As we enrich the navigation options we will increasinly need to visualize between apps where up/down will switch us between rings and there up/down is needed to scroll through content.
2020-04-06wasp: testapp: Add an option to force an exceptionDaniel Thompson
We will shortly be adding machinary to handle application errors more gracefully. This is a useful way to force an application error!
2020-04-06wasp: manager: make sleep() and background() callbacks optionalDaniel Thompson
Making callbacks optional reduces pointless boilerplate in applications.
2020-04-06wasp: Add button presses to the event system.Daniel Thompson
Here the biggest changes are in the test application because we refactor a number of the tests to make better use of the button. Although applications may consume button events it does have a default behavior which is to switch to the default application (usually the clock).
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-13wasp: Rotate the swipe UI by 90 degreesDaniel Thompson
This is something of an experiment but now the app roll is traversed using horizontal swipes and applications should primarily use vertical swipes to navigate internally. This is mostly because if "feels" better but it also leaves the vertical scrolling hardware available for use by the app.
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-08testapp: Smoother transitions between testsDaniel Thompson
2020-03-08testapp: Show the render time for the string testDaniel Thompson
2020-03-08wasp: testapp: Extend with a string render testDaniel Thompson
2020-03-08wasp: Move the apps into their own directory.Daniel Thompson