Difference between revisions of "EPM-880 Application Notes"

From ESS-WIKI
Jump to: navigation, search
Line 233: Line 233:
 
         <en_set_temperature>0</en_set_temperature>  
 
         <en_set_temperature>0</en_set_temperature>  
 
         <temperature>25</temperature>
 
         <temperature>25</temperature>
         <waveform_mode>3</waveform_mode>
+
         <waveform_mode>2</waveform_mode>
 
         <rotate>180</rotate>
 
         <rotate>180</rotate>
 
   </epd>
 
   </epd>

Revision as of 08:11, 28 October 2020

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

RTENOTITLE

SYSTEM ARCHITECURE

system diagram

System support

We has been tested on host operating system as below

  1. ubuntu 18.04
  2. 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.

system diagram2

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

driver install

4.Repeat step 3 replace others ITE T-CON driver.

Linux

User must install driver library as below

1. Installed libusb 1.0.0

sudo apt-get install libusb-1.0-0-dev

2. Refresh system

$ sudo apt-get update
$ sudo apt-get upgrade

Installed 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 below example we assume file path /opt/opencv but it should depend on user's environment.

$ cd opencv
$ mkdir release
$ cd release
$ mkdir my_build_dir
$ cd my_build_dir

/opt/opencv is example path, user should depend on 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

This application EPD_4TCON can drive control board refresh image and user write information about file path and image name to setting.xml file before execute.

Xml file Configure

user have to configure right information of file path、file name、slide_interval and waveform mode or it may cause error occur. 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> : Image name write to xml and image file should put on image path. Finally application to load file from name and path. 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 extension 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 remove from xml.

<slide_interval>: Slide interval is delay time in second between every image display.

<set_temperature> 0 is disable and user should not change to other value.

<waveform_mode> Waveform mode usually choose mode 2 for image refresh. waveform explicit detail see Section 1.4 waveform mode

<rotate> 4 of options to choose 0 、90、180、270 of angle.

Execution

User should check all information of xml is correct before execute application or it may cause error occur. Download EPD_4TCON file.

1. Open command line

2. Current directory switch to EPD_4TCON

3. Execute command EPD_4TCON with parameter xml file name

Windows : "EPD_4Tcon.exe setting.xml"

Linux : $./EPD_4Tcon setting.xml

execute EPD4tcon

Quick start

Single mode and carousel mode example describe as below.

Following step to achieve different play mode.

Single mode

This example showing how to configure xml for image display once on linux ubuntu 18.04.

Step 1: Image path depends on user's defined. we assume 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>2</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.

partial update

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

partial update

In mode 5 it's used for text turn to page when text is arranged on the same horizontal on next page .