Existing and working driver runs transactions using command 0x02 (8 bit) (or 0x32 for pixel data write) and 24 bit "address" that is constructed from a traditional LCD panel command left-shifted by 8 bits, for example `cmd=0x02, addr=0x11<<8` for "sleep out" command. When the command requires parameters, they are passed via `tx_buffer` / `length` fields of the spi transaction structure. To clarify, I modified the code to work without arduino component, under pure idf. It works.
But looking at the code in `components/esp_lcd`, there is no mention of `cmd` and `addr` fields. Command and parameter data seem to be transmitted entirely via the `tx_buffer` pointer, in separate transactions.
As the board does not use DC pin, I can imagine that things _may_ work if you put command and address in the data buffer. So I have two questions:
- Is `esp_lcd` component "recommended" / "supported"?
- If it is, what are the rules to convert cmd+addr based transaction to an equivalent buffer-only transaction?