summaryrefslogtreecommitdiff
path: root/wasp/drivers/st7789.py
AgeCommit message (Collapse)Author
2021-02-20st7789: Fix incorrect variable name in ST7789_SPIs. __init__ docstring.Piotr Tworek
The data signal pin name is dc, not cs. Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
2021-01-17drivers: st7789: Further reduce allocations during set_window()Daniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-17drivers: st7789: Pre-allocate a memoryviewDaniel Thompson
Reduce the cost of slicing the linebuffer by pre-allocating a memoryview. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-01-17drivers: st7789: Optimize set_window()Daniel Thompson
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>
2020-12-12boards: simulator: Improve spi.write() simulationDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2020-05-14drivers: st7789: Finalize docstringsDaniel Thompson
2020-04-08wasp: draw565: Optimize the 2-bit RLE drawing functionsDaniel Thompson
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-03-22Add licensing information for all wasp-os files.Daniel Thompson
2020-03-09drivers: st7789: Automatically park ready for the next call to write dataDaniel Thompson
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-09wasp: draw565: Refactor to allow apps to focus on the drawable.Daniel Thompson
2020-03-08wasp: manager: Blankt the display during app transitionsDaniel Thompson
2020-02-19wasp: Add a simple font rendererDaniel Thompson
2020-02-08drivers: st7789: Optimize RLE decoding loopDaniel Thompson
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-03wasp: st7789: Make fill() control sizingDaniel Thompson
2020-02-03wasp: st7789: Reuse the pre-allocated linebufferDaniel Thompson
2020-02-03wasp: st7789: Add positioning support to rleblitDaniel Thompson
2020-02-01wasp: Adopt a low power mode shortly after bootingDaniel Thompson
This is useful for battery run-down testing and so on.
2020-01-31wasp: simulator: First steps towards a simulatorDaniel Thompson
Currently this just traces SPI activity from the ST7789 driver but its a good baseline to start building up test functions from.
2020-01-28wasp: drivers: st7789: Remove redunant delayDaniel Thompson
2020-01-28wasp: drivers: st7789: native code gen for rleblitDaniel Thompson
This is a useful performance boost... but there is still scope to get this a lot quicker.
2020-01-28logo: Gather together the bitmaps into a single variableDaniel Thompson
The PineTime demo will also now cycle through both the Pine64 and MicroPython logos.
2020-01-28wasp: drivers: st7789: Replace with custom uPy driverDaniel Thompson
This driver was rewritten from scratch, borrowing some idioms from the SSD1306 driver to ensure an efficient implementation in uPy.
2020-01-21wasp: st7789: Add a simple proof-of-concept display driverDaniel Thompson