summaryrefslogtreecommitdiff
path: root/wasp/boards/simulator
AgeCommit message (Collapse)Author
2020-12-26tests: Auto-discover applications and try to switch to themDaniel Thompson
Currently `make check` doesn't test any not-default applications. Fix this by automatically discovering constructors and ensure that the application can be started and stopped without generating an exception. 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-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-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-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-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-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>
2020-11-12simulator: Enable the music app in the simulatorDaniel Thompson
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-08-16boards: simulator: Add an screenshot facilityDaniel Thompson
The screenshot is automatically named after the application currently running and copied into the res/ directory. This allows the application screenshots to be quickly updates if/when the screenshots get out of date as the applications are improved. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-15wasp: Introduce a NEXT eventDaniel Thompson
This is useful for devices that do not have touchscreens. It can be used to cycle through the quick ring and to check out notifications. 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-09boards: simulator: Swap up/down swipe detectionDaniel Thompson
Fix swipe detection so it matches the real device. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-07-07simulator: Provide a special main.py for the simulatorDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-27boards: simulator: Add swipe detection and button supportDaniel Thompson
Currently the simulator relies on the keyboard to issue touchscreen gestures and button presses. Fix this by adding swipe detection and introducing a skin which gives us the capability to press the button using touchscreens or pointer devices. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-24simulator: Reverse the simulated PPG waveformDaniel Thompson
This avoids an implusive change in base value and makes the waveform a little more interesting. 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-12wasp: simulator: Improve the RTCDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-11drivers: cst816s: optimize for power saving and responsivenessFuji Pebri
Signed-off-by: Fuji Pebri <pebri86@gmail.com> [daniel@redfelineinja.org.uk: removed leading underscore from method arguments, removed redundant state tracking, adopt i2c.writeto_mem] Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-11wasp: simulator: Add interupt support for CST816SDaniel 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>
2020-04-17boards: simulator: Add ptr32 supportDaniel Thompson
2020-04-11wasp: simulator: Use Tab to replicate the physical buttonDaniel 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-08wasp: draw565: Optimize the 2-bit RLE drawing functionsDaniel Thompson
There's a bunch of different changes here but there are only really three big wins. The biggest win comes from restructuring the 2-bit RLE decode loop to avoid the inner function (~20%) but the switch to 16-bit writes in _fill() and adoption of quick_write (e.g. no CS toggling) are also note worthy (and about 5% each).
2020-04-06wasp: simulator: Optimize the drawing processDaniel Thompson
This makes per-pixel access more than double the performnace of a regular pixelview (but at the expense of requiring numpy).
2020-04-06wasp: simulator: Swap up/down and left/rightDaniel Thompson
This gives the simulator a more natural feel since the "swipe left" action usually means "more a screen to the right". This will probably make testing games impossible but makes it much easier to navigate the menus.
2020-03-22Add licensing information for all wasp-os files.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: Show the render time for the string testDaniel Thompson
2020-03-08wasp: Integrate the touch driverDaniel Thompson
At this point we are starting to bring an event model for applications but there's still a long way to go!
2020-03-07wasp: simulator: Add CST816S simulationDaniel Thompson
2020-02-23clock: Reduce the update rate of the battery meterDaniel Thompson
In addition to the fix (which is simple) we also modify the button handling of the simulator because, rather by acident, it relies on the bugs in the battery meter redraw to ensure the simulator stays active.
2020-02-19wasp: Add full dd-mm-yyyy calender trackingDaniel Thompson
2020-02-08drivers: st7789: Optimize RLE decoding loopDaniel Thompson
Migrate the filling of the line buffer into a seperate function. This does naturally reduce the cost of the loop management but much more importantly allows us to use viper native code generator.
2020-02-03wasp: simulator: Add battery level simulationDaniel Thompson
In order to get best test coverage the act of reading the battery results in the battery either charging or discharging.
2020-02-03wasp: simulator: Add RTC supportDaniel Thompson
2020-02-03wasp: simulator: Add support for machine.[light|deep]sleep()Daniel Thompson
2020-02-03wasp: simulator: Fix column and row selectDaniel Thompson
2020-02-01wasp: simulator: Add ST7789 simulationDaniel Thompson
2020-01-31wasp: simulator: First steps towards a simulatorDaniel Thompson
Currently this just traces SPI activity from the ST7789 driver but its a good baseline to start building up test functions from.