summaryrefslogtreecommitdiff
path: root/wasp
AgeCommit message (Collapse)Author
2020-06-22wasp: Switch to the faster fill routinesDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-22draw565: Optimize filled rectangle drawingDaniel Thompson
The original approach is *really* bad at drawing vertical lines (it ends up working a pixel at a time and works the chip select for each one. Optimize both the pixel fill and the use of the line buffer. The result is 20% faster for quarter screen fills, 3x for horizontal lines and 6x for vertical lines. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
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-06-17dsd6, nitrogen: Make them build againDaniel Thompson
Fixes: 9eb9b74 ("Update preprocess to use $(BOARD)"). Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-12apps: [steps,stopwatch]: Increase font size of clockDaniel Thompson
We also change the colour scheme slightly because the increased size of the clock interferes visually with the main display when it is bright white. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-12apps: steps: Fix the overnight step counter resetDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-12drivers: bma421: Reduce the post-reset delayDaniel Thompson
There nothing in the docs to give the delay time required after a reset. Currently we use 200ms because that appears on some older code for BMA423 but is removed in more recent drivers. 50ms is still a long time (for hardware) and has held up in testing. 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-11fonts: Add sans28 (numerals only)Daniel Thompson
2020-06-10boards: pinetime: Improve safe mode implementationDaniel Thompson
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-06-04Fix symbol lookup error (knob2)Daniel Thompson
2020-05-24apps: settings: Adopt the slider... it looks more interestingDaniel Thompson
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-24draw565: rle2bit: Add support for palette overridesDaniel Thompson
This allows some interesting manipulations of 2-bit images.
2020-05-18apps: gameoflife: Better pixel colour selectionDaniel Thompson
2020-05-18draw565: Switch to a different palette for RLE 2-bit imagesDaniel Thompson
This is an incompatible change... older 2-bit images will need to be re-encoded to display correctly.
2020-05-18boards: Remove demo.py from the manifestsDaniel Thompson
Fixes: #25
2020-05-17apps: demo: Move the logo into the demo appDaniel Thompson
The logo module is currently unused but it simply sits there consuming flash. Let's shift it to the demo app to is can consume RAM instead (but only when we upload the demo to the watch).
2020-05-17draw565: Fix line optimization codeDaniel Thompson
sx is measured in pixels (2-bytes) and len(display.linebuffer) gives a value in bytes so the divisor isn't right. Whilst we are here let's make sure we use integer division too. Fixes: #18
2020-05-17apps: demo: Move the demo code into a fully fledged applicationDaniel Thompson
2020-05-14wasp: watch: docstrings for the watch namespaceDaniel Thompson
2020-05-14Make wasp-os namig consistantDaniel Thompson
Rename WASP to wasp-os (or Wasp-os)
2020-05-14wasp: Even more docstringsDaniel Thompson
2020-05-14wasp: draw565: docstrings for headings and __init__Daniel Thompson
2020-05-14drivers: vibrator: Finalize docstringsDaniel Thompson
2020-05-14drivers: st7789: Finalize docstringsDaniel Thompson
2020-05-14drivers: signal: Finalize docstringsDaniel Thompson
2020-05-14drivers: nrf_rtc: Finalize docstringsDaniel Thompson
2020-05-14drivers: cst816s: Finalize docstringsDaniel Thompson
2020-05-14drivers: battery: Finalize docstringsDaniel Thompson
2020-05-11wasp: draw565: docstring improvementsDaniel Thompson
2020-05-11docs: Introduce the Application Writer's Guide.Daniel Thompson
2020-05-10apps: template: Fix broken docstringDaniel Thompson
2020-05-10drivers: nrf_rtc: Fix some tab/space issuesDaniel Thompson
These issues do not appear when parsing with micropython but when we import this file into sphinx then things go a bit south.
2020-05-10wasp: apps: Remove __init__.pyDaniel Thompson
wasp-os contains circular import dependancies (wasp includes apps which include wasp) but this is normally harmless. However using __init__.py exagerated to the problem and since the benefit of the __init__ file is pretty anyway the let's just remove it.
2020-05-09Add PNVRAM support to avoid forgetting the time during a reboot.Daniel Thompson
2020-04-26wasp: drivers: nrf_rtc: Fix a nasty bug when setting the timeDaniel Thompson
The code to recalculate the uptime to walltime adjustment was broken (e.g. the longer we leave it after reboot the more inaccurate the time setting becomes). Fixes: 80079e4 ("wasp: nrf_rtc: Add a tiny bit of extra resolution")
2020-04-26apps: launcher: Add a scroll ready indicatorDaniel Thompson
2020-04-26apps: launcher: Make app.ICON optionalDaniel Thompson
2020-04-26apps: stopwatch: Fix redraw bug (and remove some old test code)Daniel Thompson
2020-04-26wasp: nrf_rtc: Add a tiny bit of extra resolutionDaniel Thompson
We now have a couple of applications (stopwatch, Game of Life) that benefit from sub-second precision. The micropython RTC/utime code for nrf still needs a major overhaul but this allows us to paper over the cracks for just a little longer.
2020-04-26wasp: Manager: Avoid printing the stack trace when it can cause problemsDaniel Thompson
On nRF devices if we print with the NUS console disconnected (instead of never connected) then things we can end up hanging. Better only to print an exception if the watch class contains a method to do that.
2020-04-18wasp: apps: Conway's Game of LifeDaniel Thompson
2020-04-17boards: simulator: Add ptr32 supportDaniel Thompson
2020-04-14wasp: Manager: Bring in proper separation of appsDaniel Thompson
This is getting us much closer to the final UI concept. We have a quick ring from which we can select typical apps such as clock and stopwatch which will (eventually) be supplemented with step counting and heart rate monitoriing. More exotic apps (currenrtly torch, self test, settings) are all relagated to the launcher ring.
2020-04-14wasp: stopwatch: Replace the stub with a "real" implementationDaniel Thompson
There are still some holes here. In particular the RTC resolution on nRF devices (such as PineTime) is currently a full second (meaning the centiseconds will always be zero. Nevertheless that isn't the apps fault... as we can see when we run on the simulator.
2020-04-14wasp: Manager: Push exceptions to the console as well as the crash appDaniel Thompson