Q:Some user reported that the set text position command acts wild after re-config the adapter for other size LCD, such as 4002, or even set it back to 1602?
A:This problem should happened when user not using our Arduino lib to do this, and forgot the last 4 bytes on the command's sequence must be: "\x80\xC0\x94\xD4" (C format), these 4 bytes map to the start address on the LCD RAM for each row, for example the hex value of 80 map to the beginning address of 1st row, and so on.
If these address are different with your LCD controller, the action of set position command: TPXY, will be wild.
In order to set it for 4002, you should send:
STCR\x28\x02\x80\xC0\x94\xD4
The last 2 bytes is for row 3 and row 4, due to 4002 LCD doesn't have row 3 and 4, so no matter of the value of the last 2 bytes, but for 2004/1604 LCD, these 2 bytes should be correct!