Epaper full vs partial update - martinberlin/cale-idf GitHub Wiki

Full update

When the electronic paper is refreshed in full screen, the picture flicker is a normal phenomenon, and the main function is to clear the display after the image in the previous picture. (from Good Display docs) In most displays this is accomplished using the following sequence of commands / data:

  IO.cmd(0x13);
  // Loop and send IO.data(byte)
  IO.cmd(0x12);
  // Refresh with 0x12 and wait for busy before sending any other commands
  _waitBusy("update");

Partial update

Is done differently, and when it works good, it should update only a partial area of the display in a single refresh leaving the rest untouched. When the partial refresh is performed, the screen does not flash and the box defined is updated.

 IO.cmd(0x91); // partial in
 _setPartialRamArea(x, y, xe, ye);
 IO.cmd(0x13);
 
 // Loop and send IO.data(byte)
 IO.cmd(0x12); // display refresh
 _waitBusy("updateWindow");
 IO.cmd(0x92); // partial out

For more details check the updateWindow() method in the CalEPD classes