- MagTag
- Arduino IDE
- Adafruit GFX
- USB power source
- Good USB cable (power & data)
- Refresh every 10 mins
- No peripheral devices attached
- Multiple MagTags incl. brand new ones test the same way
https://www.good-display.com/news/80.html - The refresh intervals should be at least 180s (except partial refresh mode)
I note this - https://www.good-display.com/news/79.html - 42 / What are the possible reasons for E-paper displaying greyish but not full black image? / If a greyish not full black image appears it's usually the boosting circuit does not have enough voltage to drive the black particles onto the surface and that led to a greyish display result.
During full display.display() refresh, screen goes through normal annoying flashing etc and reverse video image normally happening in the middle of that sequence (black background, white lines) appears fine. Then screen reverses to show regular image, and the washout occurs. Washout is severe enough to obscure 95% of image in many cases. Attachment filesize limit too small to attach video of behavior. Repeating screen refresh several times does nothing to fix. Purchased manufacturer's devkit and screens to test same issue on different drive circuit -> several weeks before shipment arrives.
Appreciate any insight you can give me - thank you in advance.
Relevant code, vanilla setup:
Code: Select all
//In decl:
#define EPD_DC 7
#define EPD_CS 8
#define EPD_BUSY -1
#define SRAM_CS -1
#define EPD_RESET 6
ThinkInk_290_Grayscale4_T5 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);
#define COLOR1 EPD_BLACK
#define COLOR2 EPD_LIGHT
#define COLOR3 EPD_DARK
#define COLOR4 EPD_WHITE
//In setup:
display.begin(THINKINK_GRAYSCALE4);
.
display.clearBuffer();
display.setTextColor(COLOR1);
display.setRotation(4);
display.setTextSize(2);
display.setCursor(25, 15);
.
In loop, with barCount a counter to 36 bars, and various scaling factors which are constants:
for (uint8_t i = 0; i < 5; i++) { // draws 6-pixel thick histogram bars
// (X_offset * 1.5) is the starting offset to Y-axis; add 5 to exactly offset the first bar from axis; draw 6 lines at 1++ pixel off first for fat bars; then draw next bar 7 pixels away
display.drawLine(X_offset * 1.5 + 5 + i + barCount * 6, height * 1.5 + Y_offset, X_offset * 1.5 + 5 + i + barCount * 6, displayBar, COLOR1); // 7 pixel shift to right per bar
}
display.display();
.