||1 month ago|
|docs/images||1 month ago|
|main||1 month ago|
|thirdparty||2 months ago|
|.gitignore||2 months ago|
|.gitmodules||2 months ago|
|CMakeLists.txt||2 months ago|
|LICENSE||2 months ago|
|README.md||1 month ago|
|sdkconfig.default||2 months ago|
EPD display tests
This repository aims to test the EPDiy display driver, related libraries and experimental rendering primitives.
In order to run and verify the tests, you have to:
- Install ESP-IDF on your machine
- Clone this repository and its submodules:
git clone --recurse-submodules https://codeberg.org/jdoubleu/epd_display_test.git
- Configure your display and board type in the menuconfig under
Component config -> E-Paper driver -> Display Type:
- Build and flash this project:
idf.py -p <EPDIY_PORT> flash
This lists all tests conducted.
Partial update at 0,0
Whenever the display is rotated (e.g.
EPD_ROT_PORTRAIT) and you try to partially update any area, using
epd_hl_update_area where either one of
0, nothing gets updated at all.
To confirm this, just run the
test_rotated_update_0.c (enabled by default) and verify, that the text "Hello from the Border" is not visible. Now change the area's
x position to
1 (or anything other than
0) here and re-run the test. You should be able to see the text now!
This issue is being addressed in: https://github.com/vroland/epdiy/pull/107
Partial area update
This test reproduces an issue with partial area update (
epd_hl_update_area) in rotated mode.
The test can be found in
test_update_area.c. First, it sets the display rotation to
It then writes a 3 digit number and a rectangle to the display. Each
display_draw only prints the given (i.e. changed) area from the front buffer to the display. After that, it immediately clears that area in the front buffer by setting every pixel to white (
The next write of the number results in overlapping digits/characters on the display (see below), at least in portrait orientation. The same test in landscape works perfectly fine (try changing the orientation here).
When drawing horizontal lines along an imaginary diagonal line, thus producing stairs, some of those are weirdly off-set (see screenshot below). This might just be an issue with my board and display in particular.
To run this example, comment out the other tests in the
app_main and uncomment the
test_stairs() function call.
This test renders a grid with adjustable gutter spacing and additional information. By default, the gutter size is 80px and each cell displays its
y index, as well as its absolute
For some, not yet confirmed, reason, the 10th horizontal line is not printed. At a height of
800px the line is simply skipped. It may have something to do with the orientation and internal rotation, although the display width is
825px and not
800px. This behaviour can also be observed in different orientations (e.g.
EPD_ROT_LADNSCAPE), where instead of the 10th row the 10th column isn't displayed.
This project is licensed under GPLv3.