I have two corrections/amendments for the LCD Display Function wiki page.
Firstly, in the section describing the seven-segment displays, there appears to be a mistake in the part specifying which digits of the temperature display map to which columns of the CGRAM pattern.
In it, you've written that the 1st, 2nd and 3rd (from the left) digits are mapped to columns 0x04, 0x02 and 0x01 respectively. However, when attempting to follow this while experimenting with an LCD module of my own, I found this produced incorrect output.
I found the correct digit/column mapping to be:
tMp = DDRAM address 0x8D, driven by CGRAM column 0x04
tmP = DDRAM address 0x8D, driven by CGRAM column 0x02
Tmp = DDRAM address 0x8C, driven by CGRAM column 0x01
There is of course a very slight possibility that my LCD unit is actually different to yours, so probably worth double-checking with your own unit. But, the above mapping is definitely what works with mine.
Secondly, you mention that you run the SPI clock at 10 MHz. The NJU6623 datasheet states that the maximum serial clock speed supported is in fact 1 MHz. It is mentioned explicitly - albeit in somewhat cryptically bad English - on the first page ("The microprocessor interface circuits which operate by 1MHz, can be selected serial interface."), and the bus timing characteristics on page 18 give a minimum serial clock cycle time of 1 us, which also equates to 1MHz. It may work at 10 MHz, but it's probably inviting trouble for others to advise running at a speed over the specified maximum.
I have two corrections/amendments for the LCD Display Function wiki page.
Firstly, in the section describing the seven-segment displays, there appears to be a mistake in the part specifying which digits of the temperature display map to which columns of the CGRAM pattern.
In it, you've written that the 1st, 2nd and 3rd (from the left) digits are mapped to columns 0x04, 0x02 and 0x01 respectively. However, when attempting to follow this while experimenting with an LCD module of my own, I found this produced incorrect output.
I found the correct digit/column mapping to be:
tMp = DDRAM address 0x8D, driven by CGRAM column 0x04 tmP = DDRAM address 0x8D, driven by CGRAM column 0x02 Tmp = DDRAM address 0x8C, driven by CGRAM column 0x01
There is of course a very slight possibility that my LCD unit is actually different to yours, so probably worth double-checking with your own unit. But, the above mapping is definitely what works with mine.
Secondly, you mention that you run the SPI clock at 10 MHz. The NJU6623 datasheet states that the maximum serial clock speed supported is in fact 1 MHz. It is mentioned explicitly - albeit in somewhat cryptically bad English - on the first page ("The microprocessor interface circuits which operate by 1MHz, can be selected serial interface."), and the bus timing characteristics on page 18 give a minimum serial clock cycle time of 1 us, which also equates to 1MHz. It may work at 10 MHz, but it's probably inviting trouble for others to advise running at a speed over the specified maximum.