Skip to content

Add support for AC057TC1 5.7" panel used on Inkplate 6COLOR.#30

Open
JosipKuci wants to merge 1 commit into
bitbank2:mainfrom
JosipKuci:add-inkplate6color-panel
Open

Add support for AC057TC1 5.7" panel used on Inkplate 6COLOR.#30
JosipKuci wants to merge 1 commit into
bitbank2:mainfrom
JosipKuci:add-inkplate6color-panel

Conversation

@JosipKuci

Copy link
Copy Markdown

Add support for the AC057TC1 7-color ACeP panel which is used on the Soldered Inkplate 6COLOR device, along with a define used to pre-configure pins for use with the Inkplate 6COLOR device

References

Changes

  • bb_epaper.h - Added enum EP57_ACEP_600x448 to display types, right before EP_PANEL_COUNT. Added enum EPD_INKPLATE6COLOR to products with built-in EPDs
  • bb_ep.inl - Added epd57_acep_init sequence, following the sequence available in the Inkplate Arduino Library, added panel details in the panelDefs array. Added custom ACeP color mapping named u8Colors_7clr_v2, as the panel has a different mapping compared to the basic 7-color ACeP map
  • bb_epaper.cpp - Added switch statement for automatically configuring the pins when EPD_INKPLATE6COLOR is selected

Testing

Testing was done with the following Arduino sketch:

#include <bb_epaper.h>
// Use one of the built-in fonts
#include "Fonts/Roboto_Black_24.h"
BBEPAPER bbep;

void setup(void)
{
int rc;

   Serial.begin(115200);
   delay(3000); // give time for USB->CDC to start
   Serial.println("Starting...");
   rc = bbep.begin(EPD_INKPLATE6COLOR);
   if (rc == BBEP_SUCCESS) {
      bbep.allocBuffer(); 
      bbep.fillScreen(BBEP_WHITE);
      bbep.setFont(Roboto_Black_24);
      bbep.setTextColor(BBEP_BLACK);
      bbep.setCursor(0, 40); 
      bbep.println("bb_epaper");
      bbep.setTextColor(BBEP_RED);
      bbep.println("Inkplate 6COLOR");
      bbep.setTextColor(BBEP_BLUE);
      bbep.println("7-color ACeP 600x448");
      bbep.fillCircle(100, 250, 60, BBEP_YELLOW);
      bbep.fillCircle(230, 250, 60, BBEP_GREEN);
      bbep.fillCircle(360, 250, 60, BBEP_ORANGE);
      bbep.fillCircle(490, 250, 60, BBEP_BLACK);
      bbep.writePlane(); // Send the local graphics copy to the EPD memory
      bbep.refresh(REFRESH_FULL); // ACeP panels only support full (slow) refresh
      bbep.wait();
      bbep.sleep(LIGHT_SLEEP);
   } else {
      Serial.println("Panel init failed");
   }
} 

void loop(void)
{
} 

With it producing the following, expected output:

20260611_120118

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant