summaryrefslogtreecommitdiff
path: root/wasp/wasp.py
AgeCommit message (Collapse)Author
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-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-30wasp: Switch to scheduling from interruptDaniel Thompson
This has two useful properties. Firstly it means the watch will be maintained in the background, allowing the REPL to be used for notifications and other updates. Secondly it will save a little bit of power by reducing the work needed to handle spurious wake ups. 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-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-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-05-14Make wasp-os namig consistantDaniel Thompson
Rename WASP to wasp-os (or Wasp-os)
2020-05-14wasp: Even more docstringsDaniel Thompson
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-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-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: Manager: Push exceptions to the console as well as the crash appDaniel Thompson
2020-04-12WIP: Introduce the quick_ringDaniel Thompson
2020-04-12wasp: apps: Add shortcuts to all appsDaniel Thompson
2020-04-11docs: Fix warnings and add a few extra apps to the docsDaniel 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: apps: Add a new (super simple) settings appDaniel 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-06wasp: Manager: Parameterize the keep awake timerDaniel Thompson
This might be a reasonable preference for the setings but, more importantly, we can also set blank_after to very high values to ensure the watch doesn't sleep during the voice over in videos!
2020-04-06wasp: Rename Debounce to PinHandlerDaniel Thompson
Debounce was a lousy name...
2020-04-06wasp: draw565: Allow the drawing context to be resetDaniel Thompson
The main reason to reset the drawing context is so that it can be reset before we call foreground() on an application.
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-06wasp: Get the terminology straightDaniel Thompson
As it turned out Direction was only a Direction because there were things missing from the enumeration!
2020-04-06wasp: Factor out the sleep/wake codeDaniel Thompson
Pulling this out into a method allows it to be called by an application.
2020-03-26wasp: Add support for brightness caching and keep-awake signallingDaniel Thompson
2020-03-26wasp: Major documentation string improvements.Daniel Thompson
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