How to use ST7789 without hardware RST pin? (EYESPI fpc connection) #17122
-
First off, I'm a beginner to Micropython. Please let me know if I have made a mistake somewhere. My experience is in industrial controls engineering and I will likely use the wrong terminology or just blatently missunderstand something. Hardware: Firmware/Libraries: Goal: The Problem: # Hardware reset
def _hwreset(self):
self._dc(0)
self._rst(1)
sleep_ms(1)
self._rst(0)
sleep_ms(1)
self._rst(1)
sleep_ms(1) I tried to compare the adafruit_ST7789 driver to see how Circuitpython was performing a "software" reset. My best guess is the "_INIT_SEQUENCE" called when initializing the display. The first bytecode sent in the sequence (comment was a big hint) seems to be the software reset. b"\x01\x80\x96" # _SWRESET and Delay 150ms There is a similar command passed during the _init() portion of the micro_gui inluded ST7789 driver: cmd(b"\x01") # SW reset datasheet specifies 120ms before SLPOUT
sleep_ms(150) Would just removing the hardware reset work? What function does the reset Pin perform that the bytecode command does not? Is there a more efficient, better, or preffered way to do this? What are the reasons to prefer hw vs. sw reset? I'm frankly still a tad nervous of damaging something due to a careless setup mistake. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
The driver issues a hardware reset followed by a software one. This is on the precautionary principle: most ST7789 displays bring out an I would designate an unused pin as If such displays are common I'll amend the driver to provide a |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
The driver issues a hardware reset followed by a software one. This is on the precautionary principle: most ST7789 displays bring out an
rst\
pin. The assumption is that if the hardware designer provides the pin, we should use it. If no pin is brought out, presumably the hardware designer has incorporated adequate power on reset circuitry.I would designate an unused pin as
rst\
to keep the driver constructor happy and expect the display to work.If such displays are common I'll amend the driver to provide a
rst=None
default.