A new display (ST7789P3) will be installed in future PineTime production batches since the current one (ST7789V2) is EoL (End Of Life).
This new chip should be compatible with the previous one, I couldn't spot any meaningful change in the datasheet.
However, PineStore noticed a small issue when the new display is installed : the display is rotated 90° when displaying the pinecone in the bootloader. According to their analysis, it's probably caused by a small issue in the initialization sequence : the command SLEEPOUT is issued too soon. It should be called AFTER all the other registers are initialized, with an additional 120ms delay.
Analysis
The change looks quite simple : Move SleepOut(); at the end of the initialization sequence, just before DisplayOn(), in St7789::Init().
Tests and potential impacts
We need to make sure that this change does not produce any unwanted side effect on the current hardware equipped with the ST7789V2 display. The suggested changes make sense, but we need to test them carefully.
And we also obviously need to make sure those changes actually work on the new hardware. Those tests will be done by PineStore engineering team at first and we'll make sure the Core developer team also receive new units to be able to maintain the new HW revision.
TODO
[ ] Add the ST7789P3 datasheet
[ ] Add Picture/Video of the issue
[ ] Create the corresponding PR
A new display (ST7789P3) will be installed in future PineTime production batches since the current one (ST7789V2) is EoL (End Of Life).
This new chip should be compatible with the previous one, I couldn't spot any meaningful change in the datasheet.
However, PineStore noticed a small issue when the new display is installed : the display is rotated 90° when displaying the pinecone in the bootloader. According to their analysis, it's probably caused by a small issue in the initialization sequence : the command SLEEPOUT is issued too soon. It should be called AFTER all the other registers are initialized, with an additional 120ms delay.
Analysis
The change looks quite simple : Move
SleepOut();at the end of the initialization sequence, just beforeDisplayOn(), in St7789::Init().Tests and potential impacts
We need to make sure that this change does not produce any unwanted side effect on the current hardware equipped with the ST7789V2 display. The suggested changes make sense, but we need to test them carefully.
And we also obviously need to make sure those changes actually work on the new hardware. Those tests will be done by PineStore engineering team at first and we'll make sure the Core developer team also receive new units to be able to maintain the new HW revision.
TODO
[ ] Add the ST7789P3 datasheet
[ ] Add Picture/Video of the issue
[ ] Create the corresponding PR