Piotr Tworek
0d76b1b186
st7789: Fix incorrect variable name in ST7789_SPIs. __init__ docstring.
...
The data signal pin name is dc, not cs.
Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
2021-02-20 08:46:59 +00:00
Daniel Thompson
fbc806721e
drivers: st7789: Further reduce allocations during set_window()
...
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-17 17:44:50 +00:00
Daniel Thompson
6b41c8f3db
drivers: st7789: Pre-allocate a memoryview
...
Reduce the cost of slicing the linebuffer by pre-allocating a memoryview.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-17 17:44:21 +00:00
Daniel Thompson
5abae5a7f6
drivers: st7789: Optimize set_window()
...
For small graphical items (line drawing, font glyphs) the performance
of the set_window() method is critical.
Emit native code for this function and optimize the SPI write_cmd()
method to avoid memory allocation. This give a performance boost of
a little over 15% for (24pt) font rendering and 30% for line drawing.
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-17 16:08:27 +00:00
Daniel Thompson
e3b2c7bf7d
boards: simulator: Improve spi.write() simulation
...
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-12-12 12:57:06 +00:00
Daniel Thompson
95f1788347
drivers: st7789: Finalize docstrings
2020-05-14 21:41:02 +01:00
Daniel Thompson
fd64abe882
wasp: draw565: Optimize the 2-bit RLE drawing functions
...
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-08 21:50:42 +01:00
Daniel Thompson
b9fe31241c
Add licensing information for all wasp-os files.
2020-03-22 15:40:18 +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
031d139b7c
wasp: draw565: Refactor to allow apps to focus on the drawable.
2020-03-09 00:00:13 +00:00
Daniel Thompson
a864a93706
wasp: manager: Blankt the display during app transitions
2020-03-08 20:47:19 +00:00
Daniel Thompson
b508f4dc26
wasp: Add a simple font renderer
2020-02-19 19:57:08 +00:00
Daniel Thompson
bb033577da
drivers: st7789: Optimize RLE decoding loop
...
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-08 07:49:38 +00:00
Daniel Thompson
57035ce080
wasp: st7789: Make fill() control sizing
2020-02-03 22:34:54 +00:00
Daniel Thompson
118b7bab00
wasp: st7789: Reuse the pre-allocated linebuffer
2020-02-03 22:32:53 +00:00
Daniel Thompson
8168dd5939
wasp: st7789: Add positioning support to rleblit
2020-02-03 19:09:16 +00:00
Daniel Thompson
c7e11d6020
wasp: Adopt a low power mode shortly after booting
...
This is useful for battery run-down testing and so on.
2020-02-01 20:20:30 +00:00
Daniel Thompson
262d93c76c
wasp: simulator: First steps towards a simulator
...
Currently this just traces SPI activity from the ST7789 driver but its
a good baseline to start building up test functions from.
2020-01-31 19:36:55 +00:00
Daniel Thompson
80bee2d305
wasp: drivers: st7789: Remove redunant delay
2020-01-28 21:19:36 +00:00
Daniel Thompson
e88165b429
wasp: drivers: st7789: native code gen for rleblit
...
This is a useful performance boost... but there is still
scope to get this a lot quicker.
2020-01-28 18:45:27 +00:00
Daniel Thompson
8f231430b3
logo: Gather together the bitmaps into a single variable
...
The PineTime demo will also now cycle through both the Pine64 and
MicroPython logos.
2020-01-28 18:45:26 +00:00
Daniel Thompson
3157bcc310
wasp: drivers: st7789: Replace with custom uPy driver
...
This driver was rewritten from scratch, borrowing some idioms
from the SSD1306 driver to ensure an efficient implementation
in uPy.
2020-01-28 18:45:15 +00:00
Daniel Thompson
2805a719f2
wasp: st7789: Add a simple proof-of-concept display driver
2020-01-21 22:10:50 +00:00