Daniel Thompson
59bb70fa64
wasp: simulator: Optimize the drawing process
...
This makes per-pixel access more than double the performnace of a regular
pixelview (but at the expense of requiring numpy).
2020-04-06 22:04:21 +01:00
Daniel Thompson
a1a8f3f8a3
wasp: draw565: Add 2-bit RLE decoder
2020-04-06 22:04:21 +01:00
Daniel Thompson
1602180116
res: Switch from indexed to RGB mode
...
Indexed mode doesn't work with the new 2-bit encoder and adopting RGB mode
means we can compare the efficiency of the various possible encodings.
2020-04-06 22:04:21 +01:00
Daniel Thompson
02b92ff90d
tools: wasptool: Add a progress bar to the BLE uploads
2020-04-06 22:04:21 +01:00
Daniel Thompson
e2234112ff
tools: rle_encode: Add a new "2-bit" encoding mode.
2020-04-06 22:04:21 +01:00
Daniel Thompson
2b5ebcef72
wasp: widgets: Add a scrolling indicator
...
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-06 22:04:21 +01:00
Daniel Thompson
bb4e76d852
wasp: testapp: Add an option to force an exception
...
We will shortly be adding machinary to handle application errors more
gracefully. This is a useful way to force an application error!
2020-04-06 22:04:20 +01:00
Daniel Thompson
83cc56969e
wasp: manager: make sleep() and background() callbacks optional
...
Making callbacks optional reduces pointless boilerplate in applications.
2020-04-06 22:04:20 +01:00
Daniel Thompson
6a6e393d1f
wasp: vibrator: Better default for pulse
...
These defaults are good for giving quick UI feedback.
2020-04-06 22:04:20 +01:00
Daniel Thompson
b5e69aead3
wasp: Manager: Parameterize the keep awake timer
...
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-06 22:04:20 +01:00
Daniel Thompson
8c35282214
wasp: Rename Debounce to PinHandler
...
Debounce was a lousy name...
2020-04-06 22:04:20 +01:00
Daniel Thompson
40b2482165
wasp: simulator: Swap up/down and left/right
...
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-04-06 22:04:20 +01:00
Daniel Thompson
c593e1e9f9
wasp: draw565: Allow the drawing context to be reset
...
The main reason to reset the drawing context is so that it can be reset
before we call foreground() on an application.
2020-04-06 22:04:20 +01:00
Daniel Thompson
b2622b579d
wasp: Add button presses to the event system.
...
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-06 22:04:20 +01:00
Daniel Thompson
0cc7987689
apps: Remove unused support for effect animation
...
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-06 22:04:20 +01:00
Daniel Thompson
d10f3dbc49
wasp: Get the terminology straight
...
As it turned out Direction was only a Direction because there were things
missing from the enumeration!
2020-04-06 22:04:20 +01:00
Daniel Thompson
0ac2321e82
wasp: Factor out the sleep/wake code
...
Pulling this out into a method allows it to be called by an application.
2020-04-06 22:04:20 +01:00
Daniel Thompson
4a7d9246d9
README: Add a link to the lastest wasp-os video
2020-04-06 09:28:57 +01:00
Daniel Thompson
afb9bd16b6
wasp: Add support for brightness caching and keep-awake signalling
2020-03-26 22:12:05 +00:00
Daniel Thompson
af33c7d79b
wasp: Major documentation string improvements.
2020-03-26 21:46:10 +00:00
Daniel Thompson
a9413db5cf
wasp: Move the constants into seperate container classes
2020-03-26 20:42:03 +00:00
Daniel Thompson
9545e60f62
README: Update to make latest source changes.
2020-03-22 15:42:37 +00:00
Daniel Thompson
9a95870785
Merge branch 'master' of https://github.com/daniel-thompson/wasp-os
2020-03-22 15:40:20 +00:00
Daniel Thompson
b9fe31241c
Add licensing information for all wasp-os files.
2020-03-22 15:40:18 +00:00
Daniel Thompson
f8bd1a7461
Rename manager.py and expose its interfaces to all applications
...
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-22 12:37:19 +00:00
Daniel Thompson
d3bc2d84f8
Merge pull request #10 from jmwright/master
...
Fixed the documentation for setting the RTC time
2020-03-20 12:12:38 +00:00
Jeremy Wright
d037a467c9
Updated readme to reference wasptool for setting rtc.
2020-03-20 07:31:32 -04:00
Jeremy Wright
0d248c5fab
Fixed the documentation for setting the RTC time
2020-03-19 17:32:42 -04:00
Daniel Thompson
5a234c16ad
wasp: Rotate the swipe UI by 90 degrees
...
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-13 19:02:29 +00:00
Daniel Thompson
321484b845
tools: wasptool: Sneaky hack to avoid copying docstrings to the device
2020-03-09 21:34:01 +00:00
Daniel Thompson
3ded49c5ef
fonts: sans24: Minor refactor to reduce memory allocation
...
This is a useful but modest optimization (maybe 3% in string
rendering.
2020-03-09 21:33:29 +00:00
Daniel Thompson
820764081e
drivers: st7789: Automatically park ready for the next call to write data
...
This makes line-by-line drawing more efficient because don't have to
handle the dc line. The optimization targets font rendering and if good
for slightly less than 10% rendering improvement.
2020-03-09 21:32:34 +00:00
Daniel Thompson
69bc452c65
draw565: Optimize the font rendering
...
This is a big one... more than 4x increase in font rendering performance!
2020-03-09 21:29:35 +00:00
Daniel Thompson
031d139b7c
wasp: draw565: Refactor to allow apps to focus on the drawable.
2020-03-09 00:00:13 +00:00
Daniel Thompson
5413d826d7
wasp: Re-factor how Draw565 is used.
...
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-08 23:16:30 +00:00
Daniel Thompson
24438ad05d
testapp: Smoother transitions between tests
2020-03-08 21:31:17 +00:00
Daniel Thompson
d236db68dc
testapp: Show the render time for the string test
2020-03-08 21:22:54 +00:00
Daniel Thompson
cfffeddd77
wasp: testapp: Extend with a string render test
2020-03-08 20:48:48 +00:00
Daniel Thompson
a864a93706
wasp: manager: Blankt the display during app transitions
2020-03-08 20:47:19 +00:00
Daniel Thompson
adf9a33c9e
drivers: cst816s: Minor tweaks to the generated documentation.
2020-03-08 17:40:54 +00:00
Daniel Thompson
d2058fb87f
docs: Increase the scope of the documentation
...
We now generate documentation for everything included in the PineTime
manifest (although, at this stage, not everything in the manifest has
all the required docstrings).
2020-03-08 17:40:27 +00:00
Daniel Thompson
799a66c9b9
wasp: Move the apps into their own directory.
2020-03-08 17:39:39 +00:00
Daniel Thompson
b5b96bd776
wasp: Integrate the touch driver
...
At this point we are starting to bring an event model for applications
but there's still a long way to go!
2020-03-08 10:18:08 +00:00
Daniel Thompson
753a1e68f1
tools: wasptool: Reorder the execution of arguments.
...
The new ordering is tuned to allow --exec to be used to download new code,
--eval to be used to set it up and then --console used to interact with
it.
2020-03-08 10:16:49 +00:00
Daniel Thompson
138425f4d4
wasp: manager: Start refining the application interface
...
This is the first step in starting to formalize the seperation of
applications from the system manager.
2020-03-07 11:52:42 +00:00
Daniel Thompson
1ebafc083b
wasp: simulator: Add CST816S simulation
2020-03-07 11:50:26 +00:00
Daniel Thompson
9664c394a6
drivers: nrf_rtc: Add a higher res monotonic timer
2020-03-07 11:49:35 +00:00
Daniel Thompson
1b334f7ad9
wasp: pinetime: Enable the cst816s by default
2020-03-07 11:48:17 +00:00
Daniel Thompson
e5f455b5ba
drivers: cst816s: Decouple from the watch module
2020-03-07 11:47:25 +00:00
Daniel Thompson
6dd50f89ba
README: Move the screenshots further down the doc
2020-03-06 21:27:33 +00:00