summaryrefslogtreecommitdiff
path: root/wasp
AgeCommit message (Collapse)Author
2020-10-10widgets: Fix a broken docstringDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10apps: fibonacci_clock: Add an simple iconDaniel Thompson
For some users the icon is pointless because they would rather install the clock on the quick ring but this clock is something of a novelty so it would be quite reasonable to only launch it when in the mood for decoding something! Happily the icon compresses nicely too! Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10boards: Introduce a shared manifest for all 240x240 devicesDaniel Thompson
This also adds the Fibonaci Clock, Haiku viewer and the Game of Life to the manifest. They are *not* registered by default at this point since, although we can currently spare the internal flash space there is more competition for RAM so we have to trade off out-of-the-box convenience with keeping as much RAM as possible for users to do "cool things". Given the zen of wasp-os is to try to make is as easy as possible for users to become coders we currently favour reserving the space for the cool things (and implicitly encouraging them to write a couple of lines of python to enable the bonus applications. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10apps: fibonacci_clock: Add a Fibonacci clock applicationJohannes Wache
Signed-off-by: Johannes Wache <jbwa@posteo.de> [daniel@redfelineninja.org.uk: Tidy up the "git soup", dropped the manifest changes and integrated the description from the original PR into the docstring for the app] Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10apps: haiku: Add a simple Haiku viewerDaniel Thompson
This app serves as an example of using the filesystem to make an application more flexible. Both the verses and the icon will be loaded from the filesystem rather than being burned into the wasp-os binaries. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10drivers: flash: Automatic wake/sleep to minimise idle currentDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10boards: pinetime: Don't add nor_cs to the namespaceDaniel Thompson
Having an extra identifier for the Pin() is a waste of RAM... if you need the CS pin then grab it from watch.flash._cspins instead. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-10-10apps: pager: Avoid crashes for notifications with no bodyDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-09-27boards: Remove flash wake up commandsJeffrey Bailey
Wake from deep power down is now handled in the driver. Remove attempt to wake the board files. Signed-off-by: Jeffrey Bailey <wb.jeffrey@gmail.com> [daniel@redfelineninja.org.uk: Update commit message, simplify slightly, extended to all boards with spinor flash and update gitmodules to bring in the flash driver updates.] Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-09-22wasp: Fix broken indentionDaniel Thompson
Currently the simulator cannot run correctly because the indentation in Manager.__init__ mixes tab and spaces. This is something CPython3 doesn't like but MicroPython is ok about. Fix the obvious by using correct indentation. Fixes: 889115f ("wasp: Allow app initialization to fail") Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-09-21drivers: cst816s: Clear the event buffer during a wake upDaniel Thompson
Currently with CST816S controllers (but not CST716S controllers) then a swipe delivered whilst the device is asleep will sometimes be processed after we wake it up. That's never likely to be useful. Fix this by explicitly clearing the event buffer as part of the wakeup sequence. Reported-by: Siroj42 <siroj42@users.noreply.github.com> Fixes: #65 Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-09-16wasp: Allow app initialization to failDaniel Thompson
Colmi has released a new revision of the P8 hardware based on a different accelerometer. That makes it impossible for the StepCounterApp to initialize and currently this takes down the whole GUI due to the uncaught exception. Fix this by skipping applications that will not initialize. 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-16README: Add a (fairly) comprehensive screenshot tourDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-15apps: stopwatch: Add NEXT supportDaniel Thompson
On a device with NEXT support we need to make sure we reset the stopwatch when switching away from it (if it is not running) since there may not be any other way to reset it. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-15drivers: cst816s: Handle a failure to sleepDaniel Thompson
Exceptions on th sleep path more or less kill the device (it is half alseep and is not on... but not off enough for the power button to work. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-15gadgetbridge: Disable the not-implemented messageDaniel Thompson
Currently the not-implemented message provokes GadgetBridget into issuing lots of annoying toaster messages. It's still useful for debugging but let's disable it by default. 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-08-15k9: Disable safe-modeDaniel Thompson
Currently the K9 is wedged in safe-mode. Oops! Fix this. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-15k9: watch.py.in: Fix backlightDaniel Thompson
Currently the backlight is permanently on at its lowest level. The backlight is so dim that this is almost impossible to detect. I only found it when lying in a field in total darkness and observing that the screen wasn't quite as black as I expected. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-09Merge pull request #48 from Siroj42/masterDaniel Thompson
Fix background color of strings.
2020-08-09k9: Add support for Senbono K9Daniel Thompson
The K9 is similar to the PineTime and P8 devices but does not appear to use the CST[78]16 touch screen controllers. At present the protocol is not known (readfrom yields all zeros, readfrom_mem provokes an exception) so we have a hugely limited interface consisting of the side button and the touchscreen interrupts (in other words we can treat the touchscreen like a second button). Works suprisingly well considering... Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-08-02draw565: Fix wrong background color of stringsSiroj42
Signed-off-by: Joris Warmbier <siroj42@t-online.de>
2020-07-27boards: p8: Full support for Colmi P8Daniel Thompson
All the components (bootloader, reloader, micropython) has P8 support added some time back but without full integration at the wasp-os level. Let's add it! 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-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-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-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-27apps: stopwatch: Improve splits... and colour schemeDaniel 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-25boards: spinx: Fix the documentation generationDaniel Thompson
Currently the template app documentation will not generate. Fix that! Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-25ppg: Pull the PPG signal processing into a seperate libraryDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-06-24apps: heart: Initial heart rate detectionDaniel Thompson
The algorithm is fairly crude and the GUI is pretty simple but, if you stay still for 10 seconds, there's a good chance of an accurate pulse reading. Of course if you jog on the spot for ten seconds it more likely to calculate how many steps per minutes you are performing! 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-22drivers: hrs3300: Add a basic HRS3300 sensor driverDaniel Thompson
Add the driver and enable it on PineTime. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
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>