Commit Graph

14 Commits

Author SHA1 Message Date
Scott Shawcroft
e1df598199
Split displayio hardware support from core
These are moved:
* Display -> busdisplay.BusDisplay
* FourWire -> fourwire.FourWire
* EPaperDisplay -> epaperdisplay.EPaperDisplay
* I2CDisplay -> i2cdisplaybus.I2CDisplayBus

`paralleldisplay` is now `paralleldisplaybus` (and registered as
`paralleldisplay` too).

Bus related helpers are split out of display_core into bus_core.
It is in still displayio since it is a dependency of both
busdisplay and epaperdisplay.

Fixes #7667
2023-10-24 15:43:34 -07:00
Mario Bodemann
1e3f1d745a Update badger2040 start sequence for more contrast
This change is taken from the pico-sdk: https://github.com/pimoroni/pimoroni-pico/blob/main/drivers/uc8151_legacy/uc8151_legacy.cpp#L67-L120 and increases the contrast of pictures sent dramatically. It comes with the expense of using way more time when updating though.
2023-06-08 18:25:45 +02:00
Scott Shawcroft
b16037859c
Fix native epd boards 2023-04-21 14:36:35 -07:00
Scott Shawcroft
d5b747b305
Fix board inits 2023-04-21 13:23:01 -07:00
Scott Shawcroft
931c7c1c51
Add Bangle.js 2, JDI memory displays and ACeP epd
This 2-in-1 PR started with the goal of support the Bangle.js 2
smartwatch with *no USB*.
* Adds "secure" DFU build support with a committed private key.
* Adds 3-bit color support with one dummy bit for the JDI memory display
* Allows nrf boards to have a board_background_task() run in RUN_BACKGROUND_TASK.
  This is needed because the Bangle.js 2 uses the watchdog to reset.
* Renamed port_background_task() to port_background_tick() to indicate it
  runs on tick, not RUN_BACKGROUND_TASK.
* Marks serial connected when the display terminal is inited. This means
  that safe mode messages show up on the display.

ACep, 7-color epaper displays also pack 3 bits in 4. So, I added that
support as well.
* Adds 3-bit ACeP color support for 7-color e-paper displays. (Not
  watch related but similar due to color depth.)
* Allows a refresh sequence instead of a single int command. The 7" ACeP
  display requires a data byte for refresh.
* Adds optional delay after resetting the display. The ACeP displays
  need this. (Probably to load LUTs from flash.)
* Adds a cleaning phase for ACeP displays before the real refresh.

For both:
* Add dither support to Palette.
* Palette no longer converts colors when set. Instead, it caches
  converted colors at each index.
* ColorConverter now caches the last converted color. It should make
  conversions faster for repeated colors (not dithering.)
2023-02-15 15:03:40 -08:00
Dan Halbert
4cb69a51d5 Use MP_WEAK for default board.c routines 2022-09-08 07:36:50 -04:00
ZodiusInfuser
336abdfbc7 Switch variable to extern 2022-03-30 17:44:36 +01:00
ZodiusInfuser
f07cfdd80c Linting fixes 2022-03-28 18:34:39 +01:00
ZodiusInfuser
c2fb44b36c Set enable pin to high during boot 2022-03-28 15:56:02 +01:00
ZodiusInfuser
af2862ead9
Removed trailing whitespace 2022-03-14 22:28:28 +00:00
ZodiusInfuser
a778469082 Inverted the display pixels to match the expected CPY behaviour 2022-03-14 11:12:03 +00:00
ZodiusInfuser
eab5f00548 Added built-in display bringup for Badger2040 2022-03-11 20:10:42 +00:00
ZodiusInfuser
d66cf1d8ef Name fix 2022-02-21 11:26:43 +00:00
ZodiusInfuser
d0bbaddcb3 Board definitions for upcoming EInk board 2022-02-21 11:23:55 +00:00