I recently purchased an Inkplate 6 PLUS and tried the Touchscreen Draw example from your Github. It flashed successfully according to Arduino IDE, but then one half of the screen started getting wonky. At first it would draw one half of the screen smeared, then after reflashing Peripheral Mode it works for the first draw but completely drops out. Clearing seems to work but then it starts again. What could cause this and how can I fix it?
Attachment omitted in migration: Beginning.jpg
Attachment omitted in migration: Now.jpg
Attachment omitted in migration: Clean.jpg
Originally submitted via email support on 17 September 2024. Migrated to the forum for community visibility.
This seems to be a USB power only Inkplate 6 PLUS. Could you check if you have uncommented the correct line of code in the examples. Check it out here:
This is required for Inkplate 6 PLUS USB only as this was the only way to get this batch of displays working properly.
Yes, this was the cause. I remember uncommenting this line, but afterwards I re-downloaded and re-set up the workspace and probably forgot to do it again. Can you explain why this happens?
I also have a few questions about the API:
Is partial update equivalent to display or do I need to call display anyway to update the screen?
Why does it only take one X parameter? (And why is it called X2 then?)
Why do all the coordinate parameters only take three digits? The display has a horizontal resolution above 999.
This happened due to a batch of e-Paper displays which we received that was unexpectedly internally different than the usual Inkplate 6 PLUS displays. According to the datasheet, everything was the same, but the displays behaved with that blur effect. We created a USB-power only version of the product which does not power off the ePaper at all, so it’s not suitable for low-power uses. This is changed internally in the driver by the uncommented line of code.
Regarding your API questions:
As for partial update, it is indeed equivalent to display. However, it is recommended to call a full refresh every once in a while due to losing picture quality when using partial update too much. A full refresh sort of clears the screen. In the newer version of the Arduino library, there is an internal counter which will automatically fully refresh when you use partial update a certain number of times (so you don’t have to count it yourself).