kopia lustrzana https://github.com/peterhinch/micropython-nano-gui
Fix bug in gca9a01_8_bit.py.
rodzic
108f3d9807
commit
6fc08b1a40
22
DRIVERS.md
22
DRIVERS.md
|
@ -823,6 +823,15 @@ Clock rates up to 100MHz are supported according to the chip datasheet section
|
|||
7.3.4, but high speeds are sensitive to electrical issues such as lead lengths,
|
||||
PCB layout and grounding. I have run 33MHz without issue.
|
||||
|
||||
Two versions are provided:
|
||||
* `gc9a01.py` 4-bit driver, frame buffer requires 28,800 bytes of RAM.
|
||||
* `gc9a01_8_bit.py` 8-bit driver, requires 57,600 bytes.
|
||||
|
||||
For use with the three GUI options the 4-bit version is normally preferred. The
|
||||
8-bit version allows more colors to be displayed on any given screen. It also
|
||||
offers a mode in which 8-bit greyscale full-screen bitmap images can be
|
||||
displayed. Both have identical constructor args.
|
||||
|
||||
#### GC9A01 Constructor args:
|
||||
|
||||
* `spi` An initialised SPI bus instance.
|
||||
|
@ -836,6 +845,19 @@ PCB layout and grounding. I have run 33MHz without issue.
|
|||
* `mirror=False` If `True` a mirror-image is displayed
|
||||
* `init_spi=False` For shared SPI bus applications. See note below.
|
||||
|
||||
#### Method (8-bit version only)
|
||||
|
||||
* `greyscale(gs=None)` By default the frame buffer contents are interpreted as
|
||||
`rrrgggbb` color values. If `True` is passed, the contents will be treated as
|
||||
8-bit greyscale values. This mode will persist until the method is called with
|
||||
`False`. Returns the current greyscale state. It is possible to superimpose
|
||||
widgets on an image, but the mapping of colors onto the greyscale may yield
|
||||
unexpected grey values. `WHITE` and `BLACK` work well. In
|
||||
[micro-gui](https://github.com/peterhinch/micropython-micro-gui) and
|
||||
[micropython-touch](https://github.com/peterhinch/micropython-touch) the
|
||||
`after_open` method should be used to render the image to the framebuf and to
|
||||
overlay any widgets.
|
||||
|
||||
#### Shared SPI bus
|
||||
|
||||
This optional arg enables flexible options in configuring the SPI bus. The
|
||||
|
|
|
@ -89,10 +89,9 @@ class GC9A01(framebuf.FrameBuffer):
|
|||
# Default page address start == 0 end == 0xEF (239)
|
||||
self._wcd(b"\x2b", int.to_bytes(height - 1, 4, "big")) # SET_PAGE ht
|
||||
# **** Start of opaque chip setup ****
|
||||
self._wcmd(b"\xEF") # Inter register enable 2
|
||||
self._wcd(b"\xEB", b"\x14") # ?
|
||||
self._wcmd(b"\xFE") # Inter register enable 1
|
||||
self._wcmd(b"\xEF") # Inter register enable 2
|
||||
self._wcmd(b"\xEF") # Inter register enable 2. Sequence is necessary
|
||||
# to enable access to other registers.
|
||||
self._wcd(b"\xEB", b"\x14") # ?
|
||||
self._wcd(b"\x84", b"\x40") # ?
|
||||
self._wcd(b"\x85", b"\xFF") # ?
|
||||
|
@ -134,9 +133,9 @@ class GC9A01(framebuf.FrameBuffer):
|
|||
self._wcd(b"\x67", b"\x00\x3C\x00\x00\x00\x01\x54\x10\x32\x98") # Undoc but needed
|
||||
self._wcd(b"\x74", b"\x10\x85\x80\x00\x00\x4E\x00") # ?
|
||||
self._wcd(b"\x98", b"\x3e\x07") # ?
|
||||
self._wcmd(b"\x35") # Tearing effect line on
|
||||
self._wcmd(b"\x21") # Display inversion on ???
|
||||
self._wcmd(b"\x11")
|
||||
# self._wcmd(b"\x35") # Tearing effect line on. This pin is unused.
|
||||
self._wcmd(b"\x21") # Display inversion on
|
||||
self._wcmd(b"\x11") # Sleep out
|
||||
sleep_ms(120)
|
||||
# *************************
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue