Go Down

Topic: Good Dispay ePaper for Arduino (Read 114062 times) previous topic - next topic

ZinggJM

@Theiler,

I don't understand your post.

Call powerOff() in GxEPD2, powerDown() in GxEPD, after a partial update, if the next partial update doesn't occur soon, e.g. in less than a minute, or if you expect power loss to the display.

Do not forcibly switch off power to the display. Idle current is very low. Call hibernate() in GxEPD2 instead, then current drawn is negligible.

After power loss (to the display), the first refresh needs to be a full refresh. GxEPD2 takes care of that (forces the first refresh to be a full refresh), if init() was called, e.g. because of processor reset.

Use full refresh from time to time to avoid ghosting on e-papers with fast partial update (differential refresh).

Use full refresh for best picture retention, for uses such as shelf labels, door signs etc.

Jean-Marc
No personal message please; any question may be useful for other users. Use code tags for code. Make links clickable with URL tags. Provide links to the product in question.

Theiler

#331
Nov 29, 2019, 07:09 am Last Edit: Nov 29, 2019, 07:10 am by Theiler
Sorry I seem to make a mistake about the drive method. EPD's display keeping capability and your GxEPD/GxEPD2 libraries are very helpful. I intend to see example code again.

Thank you for your advice.

Theiler

subsy

Hello,

So I have this question regarding grayscale image coordinates :

Below is my rendering function :

 
Code: [Select]

void showHello()
{
 
  display.setFullWindow();
    display.firstPage();
  do
  {
    display.setRotation(3); //even = portrait, odd = landscape
    display.fillScreen(GxEPD_WHITE);
    const GFXfont* f = &FreeSansBoldOblique24pt7b;
    display.setFont(f);
    //display.setTextColor(GxEPD_RED); 
    display.setFont(&FreeSerifItalic18pt7b);
    display.setCursor(0,22);
    display.print(Names[NameIndex]);
  } while (display.nextPage());
  display.refresh(false);
  display.epd2.drawImage_4G(image_data_InTest17,4, 40, 296-126, 46, 126 , false,false, true);
 
 
}


When using gxEPD2, the above source code works, but there is much blinking and there is something weird with coordinates:
The setcursor coords are relative to the upper left corner, while the image display display.epd2.drawImage_4G is relative to upper right corner. Is this expected or I am doing things wrong here?


strange_v

Hi guys.

I was interested in e-ink displays with capacitive touch capabilities, so a few days ago I got:
GDEH0154D67-T (1.54") and GDEW027W3-T (2.7").
GxEPD2 supports GDEW027W3 so gonna start fiddling with it (hopefully this weekend).

ZinggJM, from a parallel thread I know that you've already ordered GDEH0154D67. Looking forward to seeing a new GxEPD2 release with GDEH0154D67 support.
Also, I really appreciate your work and wondering do you use some donate platform? (e.g. buymeacoffee)

ZinggJM

Hi strange_v,

The GDEH0154D67 is on its way to me. I had asked for a free sample from Good Display, as the GDEP015OC1 is no longer available.

I do not take small donations :) . But whoever would like to donate an e-paper display from Good Display that I don't have and support yet can send me a PM to ask for my address. I would then add support for that display to my libraries, if a demo code for that display is available.

Jean-Marc
No personal message please; any question may be useful for other users. Use code tags for code. Make links clickable with URL tags. Provide links to the product in question.

ZinggJM

@subsy,

to be able to give good answers, I need to know what processor board you use, in addition to the library used and e-paper board or panel and connection board used.

GxEPD2_4G does rather less flashing than GxEPD2 for full refresh, I think.
But you have added one refresh() call that is not needed, as refresh is done by the last nextPage();

Rotation set by setRotation() is only in effect for graphics drawing trough Adafruit_GFX.
epd2.drawImage_4G() goes directly to the driver class and is according to the native origin of the display.

Note that in GxEPD and GxEPD2 rotation 0 is according to the native orientation of the e-paper panel, which is either portrait (small ones) or landscape (4.2" and up).

Please format code before posting in code tags. Thank you.

Jean-Marc
No personal message please; any question may be useful for other users. Use code tags for code. Make links clickable with URL tags. Provide links to the product in question.

subsy

Thank you for the feedback.

The esp is part of a IOT Badgy (badgy).

Processor is an ESP8266.

I will remove the extra display and see how it looks.

flyingbaloon

Hi , I am current working with esp32 and  7.5 inch , 4 gray scale epaper from good display
https://www.good-display.com/products_detail/productId=456.html .  I am using the Gxepd2 library, and could get the demo to work.
I am having problem trying to display my own bitmap image , for all previous displays , using the Image2lcd to create the bitmap array was straight forward , but for this display when i create a bitmap using image2lcd and display it , the display only shows part of the image with overlapped parts.

I am unable to find demo on good display website showing how to get the correct bitmap array for an image for this display, hence requesting your help to tell me the procedure.

Thanks in advance for your help.

   

ZinggJM

#338
Dec 07, 2019, 08:21 am Last Edit: Dec 07, 2019, 09:18 am by ZinggJM
@flyingbaloon,

7.5 inch Large e-paperdisplay higher resolution 800x480 SPI GDEW075T7

Please post the image (zipped) that doesn't work correctly, and the method call you use to display it.

I can't tell you more than Good Display does, as I have no experience with creating bitmap code, I use only example bitmaps.

Jean-Marc

Maybe I just missed to adapt the index type for this big display somewhere.
No personal message please; any question may be useful for other users. Use code tags for code. Make links clickable with URL tags. Provide links to the product in question.

flyingbaloon

#339
Dec 07, 2019, 03:34 pm Last Edit: Dec 07, 2019, 03:39 pm by flyingbaloon
please find the test image , img2lcd setting and the gxepd function call .. thanks

ZinggJM

@flyingbaloon,

I did not yet check with your image. But your img2lcd settings show that you create a 4 bits per pixel color format. GxEPD does not support this format, it does not support grey levels.

Jean-Marc
No personal message please; any question may be useful for other users. Use code tags for code. Make links clickable with URL tags. Provide links to the product in question.

flyingbaloon


ZinggJM

@flyingbaloon,

I intend to add support for GDEW075T7 to the (experimental) library GxEPD2_4G, but I don't know when.
Thanks to you I have a bitmap example to test.

Jean-Marc
No personal message please; any question may be useful for other users. Use code tags for code. Make links clickable with URL tags. Provide links to the product in question.

Thoma67

Hello,

I bought two displays : one GDEW042Z15 and one GDEW042C37.
I used GxEPD_Example with an ESP8266.
It works great with the GDEW042Z15.
I was thinking that the same code will work with GDEW042C37. I am wrong.
In fact, no yellow pixel appears. I see only the black ones.

I suppose few modifications are required in order to handle the difference between GDEW042Z15 and GDEW042C37.

Does someone have some suggestions ?

Thanks in advance.

Thoma

ZinggJM

@Thoma67,

I think this would have been reported in this forum before, but it has not afaik.

Where did you buy your e-paper panels? Please post a link.

Both panels use the same controller and work with the same SW. But I have only the GDEW042Z15.

Take a look at the panels. The GDEW042Z15 will look slightly reddish, with some red on the border.
The GDEW042C37 would look slightly yellowish, with some yellow on the border.

You could report the inking on the flex connector, maybe it can provide a clue.
And you should report diagnostic output from the example (from Serial Monitor). Please put it into a code-tag window, using the </> command symbol. This would tell me about the refresh time, a clue to the OTP wavetable of the controller.

You might have a b/w panel, or a panel with the controller with OTP for b/w.

Jean-Marc
No personal message please; any question may be useful for other users. Use code tags for code. Make links clickable with URL tags. Provide links to the product in question.

Go Up