Go Down

Topic: Waveshare e-paper displays with SPI (Read 373453 times) previous topic - next topic

Rebehy

@Rebehy,

My problem is, as soon as I have read a post concerning my libraries or e-paper displays, my head starts turning on an answer to any questions asked. I can't postpone the answer to a better suited time.
I can either decide to not answer at all, or to give a quick answer when I am busy.
But if I am busy, I need to postpone any investigations, e.g. looking at a poster's code or data.

You need to understand the architecture of GxEPD2_4G (and GxEPD2).
It has panel specific driver classes that know how to display b/w and 4G memory bitmaps on the screen, by sending the data in the format required by the controller to the controller's memory, and requesting refresh.
The sending of the data needs to be in the native orientation of the controller.


It has a common display class for buffered graphics, GxEPD2_4G for 4 grey levels, (and GxEPD2_BW for b/w).
This class delegates the final drawing of the buffered graphics to the contained (copy of the) driver class instance.
It can do this using pages for paged drawing.
It uses Adafruit_GFX for graphics rendering to the buffer (or my Adafruit_GFX clone GFX of library GFX_Root).
Adafruit_GFX supports rotation.
Adafruit_GFX has methods to render b/w bitmaps, drawBitmap(...), grey level bitmaps drawGrayscaleBitmap(...), and RGB bitmaps drawRGBBitmap(...). But no method for 4 grey levels bitmaps.

So if you need to rotate your grey level bitmap in the application, you would need to use full grey level bitmaps and drawGrayscaleBitmap(...). And/Or use and understand the mask parameter of this method.

Jean-Marc

Got it. Thanks again. 
It's a little over my head but I will keep at it. I no longer need the rotation as I managed to create the Javascript necessary for Vertical scan however, I still need to work out how I will render 4 level bitmaps and text on the same refresh. 

cdetroye

#2221
Today at 03:21 pm Last Edit: Today at 03:22 pm by cdetroye
Hi all.

I bought this screen (https://www.waveshare.com/7.5inch-e-paper-c.htm) and this driver board (https://www.waveshare.com/wiki/E-Paper_ESP32_Driver_Board) from WaveShare.

However, after drawing some bitmaps on it based on the demo code they provided, the yellow looks really browny. I am wondering if this is normal, or if there might be a bug in the demo code from WaveShare (https://www.waveshare.com/wiki/File:E-Paper_ESP32_Driver_Board_Code.7z).

In attachment a picture.


ZinggJM

#2222
Today at 03:33 pm Last Edit: Today at 03:34 pm by ZinggJM
@cdetroye,

Hi.

Did you set the RESE switch according to their docs? Or maybe checked with both positions?

Make sure your 5V USB supply is strong and stable. USB 3 is better than USB 2, 5.2V is better than 5.0V.

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.

cdetroye

#2223
Today at 03:55 pm Last Edit: Today at 04:10 pm by cdetroye
The RESE switch is the one that can go in either A or B position? I just tried both, tried USB 3, and a separate USB charger which is said to provide 5v 1A. The color is this pale brownish in both cases.

What I additionally did was check the datasheet[1] (but I'm way out of my depth here, I admit) and tried sending all the possible bytes that are defined in the datasheet (0x00 all the way to 0x07), but that didn't work either. The color never became "yellower".

In the FAQ (https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_(B)#FAQ) on the website they mention to "change the value of the Vcom" but I have literally no idea what I'm supposed to with that.

[1] https://www.waveshare.com/w/upload/2/29/7.5inch_e-paper-b-Specification.pdf


Edit: I found the following line in
Code: [Select]
    EPD_7IN5BC_SendCommand(0x83); // VCM_DC_SETTING

I changed that to 0x84 and it is yellow now. So I guess that fixes it. I have no clue what I changed just now, though.

Go Up