0
\$\begingroup\$

I have acquired a color 320x480 TFT LCD display based on a HX8357D driver. It is an Adafruit 3.5" Touchpanel display. I would like to use it for one of my projects based on Rust. Currently, there are no drivers out there for Rust and therefore I plan to pull one together by altering existing drivers to work (likely target is the st7735-lcd-rs driver).

One of the things that I will need for this is the correct initialization sequence. I have looked at the datasheet for the display (datasheet) and struggled to find a good definitive list of necessary commands to properly initialize the display. Is this just a poorly written datasheet or am I just looking in the wrong place?

There are some drivers out there for the display such as the Linux Kernel (Which is driver variant agnostic and looks a bit dated, so not sure if it is valid for the D variant) and AdaFruit's own library (see line 183 where it defines the initd array. I consider this to be the most authoritative source for the init routine sans the datasheet which is the subject of this post).

These could of course provide me with the necessary routine. However, I would like to find this information from the datasheet. It is very likely that I just do not know how to parse these datasheets as this is the first time I have tried to do this type of thing. How do I get this information from the datasheet? Thanks for any pointers.

\$\endgroup\$
0
\$\begingroup\$

LCD modules like that nearly never actually specify the initialisation vector in the datasheet, in part because the silicon vendor and the LCD vendor are not the same company.

At best you can usually get the module vendor to give you some example code to base your routine on, but how to control the details like say gamma curves and such is pretty much a case of suck it and see...

In reality however most of those driver chips (like the text mode ones) are pretty similar in terms of configuration, but you need to pay a little attention because usually not everything the chip is capable of is actually hooked up.

\$\endgroup\$
  • \$\begingroup\$ Got it. That seems unfortunate. I will refer to the AdaFruit driver source then as my reference since they were the seller. This is me stopping senseless google searches for the definitive answer... :| \$\endgroup\$ – Justace Clutter Jul 10 at 14:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.