Difference between revisions of "EPM-880 Application Notes"
Line 130: | Line 130: | ||
<pre>https://opencv.org/releases/</pre> | <pre>https://opencv.org/releases/</pre> | ||
− | Untar source code and go to source code path | + | Untar source code and go to source code path. below example the path is '''/opt/opencv''' but user should follow user's environment path. |
<pre>$ cd opencv | <pre>$ cd opencv | ||
$ mkdir release | $ mkdir release | ||
Line 136: | Line 136: | ||
$ mkdir my_build_dir | $ mkdir my_build_dir | ||
$ cd my_build_dir | $ cd my_build_dir | ||
+ | </pre> | ||
+ | |||
+ | '''/opt/opencv''' is example path, user should follow user's environment path. | ||
+ | <pre> | ||
$ cmake -D BUILD_TIFF=ON -D WITH_CUDA=OFF -D ENABLE_AVX=OFF -D WITH_OPENGL=OFF -D WITH_OPENCL=OFF -D WITH_IPP=OFF -D WITH_TBB=ON -D BUILD_TBB=ON -D WITH_EIGEN=OFF -D WITH_V4L=OFF -D WITH_VTK=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib/modules /opt/opencv/ | $ cmake -D BUILD_TIFF=ON -D WITH_CUDA=OFF -D ENABLE_AVX=OFF -D WITH_OPENGL=OFF -D WITH_OPENCL=OFF -D WITH_IPP=OFF -D WITH_TBB=ON -D BUILD_TBB=ON -D WITH_EIGEN=OFF -D WITH_V4L=OFF -D WITH_VTK=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib/modules /opt/opencv/ | ||
+ | </pre> | ||
+ | <pre> | ||
$ make -j4 | $ make -j4 | ||
$ make install | $ make install | ||
Line 230: | Line 236: | ||
</epd_config> | </epd_config> | ||
− | Step 3: $'''./EPD_4Tcon | + | Step 3: $'''./EPD_4Tcon setting.xml''' |
This application will stop after updating content of 1.bmp | This application will stop after updating content of 1.bmp |
Revision as of 10:51, 27 October 2020
Contents
EPD-320 Application guide
This application provide user a way that image full update and carousel mode for EPD-320 panel display. user configure xml file follow setting rule.
Components LIST
Item |
Description |
---|---|
1 | 32” EPAPER |
2 | EPD-320 PCBA |
3 | cable |
SYSTEM ARCHITECURE
System support
We has been tested on host operating system as below
- ubuntu 18.04
- windows(windows 10)
Waveform mode
There are six Waveform mode for image update and short name as below table. The mode parameter will use in update command.
mode 0 | mode 1 | mode 2 | mode 3 | mode 4 | mode 5 |
INIT | DU | GC16 | GCC16 | A2 | GL16 |
INIT(Global update WF) :
- Initialize is used to completely clear the display, if it's left in an unknown state (i.e. if the previous image has been lost by a re-boot)
DU(Local update WF) :
- Direct update Non-flashing waveform that can be used to update. it can update any changed graytone pixel to black or white only.
GC16(Global update WF) :
- Grayscale clear, 16 levels A "flashy" waveform used for 16 level grayscale images. All the pixels are updated or cleared
GCC16( Global clear update WF) :
- Grayscale Clear, 16 Levels A "more flashy" waveform used for 16 level grayscale images. All the pixels are updated or cleared.
- This provides the best image appearance.
A2(Local update WF) :
- animation, 2 Levels is a non-flashing waveform that can be used for fast updates and simple animation.
- This wave form support black & white updates only.
- image quality and ghosting is reduced in exchange for the response time.
GL16(Local update WF when white to white , Global update when 16 gray levels) :
- The GL16 waveform is used to update anti-aliased text with reduced flash. GL16 should bed used only with Full Display Update..
- The entire display except pixels staying in white will update as the new image is written. The GL16 waveform has 16 unique gray levels.
Push image application
Hardware prepare
1. Connected EPD FPC to mainboard
2. Connected micro USB cable to mainboard USB2(CN2) , usb port connect to computer usb port which installed windows or linux ubuntu
3. Connected 12V power cable to mainboard.
Software prepare
Windows
1. Download usb driver tool zadig usb tool
2. Execute zadig.exe and click Option->List All Devices
3. ITE T-CON appeared in list and click Replace Driver button , waiting installation until success
4.Repeat step 3 replace others ITE T-CON driver.
Linux
User must install library as below
1. Installed libusb 1.0.0
sudo apt-get install libusb-1.0-0-dev
2. Installed OpenCV 2.4.13. Refresh system
$ sudo apt-get update $ sudo apt-get upgrade
Download opencv dependency package
$ sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev $ sudo apt-get install python3.5-dev python3-numpy libtbb2 libtbb-dev $ sudo apt-get install libjpeg-dev libpng-dev libtiff5-dev libjasper-dev libdc1394-22-dev libeigen3-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev sphinx-common libtbb-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libopenexr-dev libgstreamer-plugins-base1.0-dev libavutil-dev libavfilter-dev libavresample-dev
Download OpenCv 2.4.13 source code
https://opencv.org/releases/
Untar source code and go to source code path. below example the path is /opt/opencv but user should follow user's environment path.
$ cd opencv $ mkdir release $ cd release $ mkdir my_build_dir $ cd my_build_dir
/opt/opencv is example path, user should follow user's environment path.
$ cmake -D BUILD_TIFF=ON -D WITH_CUDA=OFF -D ENABLE_AVX=OFF -D WITH_OPENGL=OFF -D WITH_OPENCL=OFF -D WITH_IPP=OFF -D WITH_TBB=ON -D BUILD_TBB=ON -D WITH_EIGEN=OFF -D WITH_V4L=OFF -D WITH_VTK=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib/modules /opt/opencv/
$ make -j4 $ make install
Check OpenCV version
$ pkg-config --modversion opencv
EPD Application
Xml file Configure
Before image display ,user have to configure xml of file path、file name、 slide_interval and waveform mode. Content of xml file as below.
<?xml version="1.0"?> <epd_config> <epd name="EPD 31.2"> <color>KW</color> <image_path>D:\application\photoImg\</image_path> <image_name> <full_update> <img>1.bmp</img> </full_update> <stop>stop</stop> </image_name> <slide_interval>0</slide_interval> <en_set_temperature>0</en_set_temperature> <temperature>25</temperature> <waveform_mode>2</waveform_mode> <rotate>180</rotate> </epd> </epd_config>
<image path> : User should assign photo image path in operating system , application search image file under this path.
<img> : User have to write the image name in xml file and application follow path and name to load image file. It can be assigned more than one <img> tag name between <full_update> and </full_update> then following <img> tag to load image and display in sequence. It's only support Bmp and jpg type.
<stop> Stop tag use to load image at once. Above mention stop tag in xml, application terminated after 1.bmp update done. In carousel mode stop tag must removed from xml.
<slide_interval>: Slide interval is delay time in second between every image display.
<set_temperature> user don't need configure temperature.
<waveform_mode> Waveform mode usually choose mode 2 for image update. waveform explicit detail see Section 1.4 waveform mode
<rotate> There has 4 options 0 、90、180、270 of angle
Execution
User should check all information of xml is correct before execute application or it may cause error happened.
1. Open command line
2. Change current directory to EPD_4TCON
3. Execute command EPD_4TCON with parameter xml file name
Windows : "EPD_4Tcon.exe setting.xml"
Linux : $./EPD_4Tcon setting.xml
Quick start
Following step to achieve different play mode.
Single display
This example showing how to configure xml for image display once on linux ubuntu 16.04.
Step 1: Image path depends on user's defined. we defined path that is in /usr/local/photoImg in this example.
Step 2: we assume one picture that name is 1.bmp to display , we should put 1.bmp in image path and put img tag in xml.
<?xml version="1.0"?> <epd_config> <epd name="EPD 31.2"> <color>KW</color> <image_path>/usr/local/photoImg</image_path> <image_name> <full_update> <img>1.bmp</img> </full_update> <stop>stop</stop> </image_name> <slide_interval>0</slide_interval> <en_set_temperature>0</en_set_temperature> <temperature>25</temperature> <waveform_mode>3</waveform_mode> <rotate>180</rotate> </epd> </epd_config>
Step 3: $./EPD_4Tcon setting.xml
This application will stop after updating content of 1.bmp
Carousel mode
Carousel mode is non-stop application except system signal , user could stop running procedure by SIGINT ,SIGKILL signal.
Below example is xml format in carousel mode that three images display in sequence every 10 seconds intervals .
Step 1: Image path depends on user's defined. we defined path that is in /usr/local/photoImg in this example.
Step 2: There are three images to display , we should put 1.bmp,2.bmp,3.bmp in image path and put img tag in xml.
Step 3: Removed tag of <stop>.
Step 4: We defined every 10 seconds to change image and writing 10 at tag of <slide_interval>
<?xml version="1.0"?> <epd_config> <epd name="EPD 31.2"> <color>KW</color> <image_path>/usr/local/photoImg</image_path> <image_name> <full_update> <img>1.bmp</img> <img>2.bmp</img> <img>3.bmp</img> </full_update> </image_name> <slide_interval>10</slide_interval> <en_set_temperature>0</en_set_temperature> <temperature>25</temperature> <waveform_mode>3</waveform_mode> <rotate>180</rotate> </epd> </epd_config>
In mode 0 ,it is used to completely clear the display when initial panel then using white image to display panel instead of mode 0. It prevents panel from damaging.
In mode 1 Du mode non-flashy waveform but it easily appear Ghosting on panel. it is suitable highlight text.
In mode 2it userd for 16 level grayscale images. When panel is wide temperature Range(-20 ~ 70 °C), it only support mode 0、1、2 not support mode 3、4、5
In mode 3 it's same with mode 2 but mode 3 has high quality image appearance.
In mode 4 it is used for fast switching or simple animation only the conversion between black and white, sacrificing the image quality and afterimage effect for fast response time.
mode 4 (A2)scenario
In mode 5 it's used for text turn to page when text is arranged on the same horizontal on next page .