Difference between revisions of "EPM-880 Application Notes"

From ESS-WIKI
Jump to: navigation, search
Line 1: Line 1:
= EPD-320 Application guide =
+
<parsererror style="display: block; white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black">
 
+
=== This page contains the following errors: ===
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.
+
<div style="font-family:monospace;font-size:12px">error on line 13 at column 319: Opening and ending tag mismatch: epd line 0 and color </div>
 
+
=== Below is a rendering of the page up to the first error. ===
== Components LIST ==
+
</parsererror>= 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 == {| border="2" cellspacing="1" cellpadding="1" style="width: 164px;" |- ! Item | style="width: 122px;" | &nbsp;'''Description''' |- | '''1''' | style="width: 122px;" | '''&nbsp;32” EPAPER''' |- | '''2''' | style="width: 122px;" | '''&nbsp;EPD-320 PCBA'''<br/>|- | '''3''' | style="width: 122px;" | '''&nbsp;cable''' |} &#x5B;&#x5B;File:Epd320 1.jpg|600px|RTENOTITLE&#x5D;&#x5D; == SYSTEM ARCHITECURE == &#x5B;&#x5B;File:EPD320 2.jpg|400px|system diagram&#x5D;&#x5D; == 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. {| border="2" cellspacing="1" cellpadding="1" style="width: 50%;" |- | align="center" | '''mode 0''' | align="center" | '''mode 1''' | align="center" | '''mode 2''' | align="center" | '''mode 3''' | align="center" | '''mode 4''' | align="center" | '''mode 5''' |- | align="center" | '''INIT''' | align="center" | '''DU''' | align="center" | '''GC16''' | align="center" | '''GCC16''' | align="center" | '''A2''' | align="center" | '''GL16''' |} '''INIT(Global update WF)&nbsp;:''' ::::'''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)&nbsp;:''' ::::'''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)&nbsp;:''' ::::'''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)&nbsp;:''' ::::'''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)&nbsp;:''' ::::'''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)&nbsp;:''' ::::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. &#x5B;&#x5B;File:Epd320 4.jpg|500px|system diagram2&#x5D;&#x5D; === 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 &#x5B;&#x5B;File:Epd320 3.jpg|500px|driver install&#x5D;&#x5D; 4.Repeat step 3 replace others ITE T-CON driver. ==== Linux ==== User must install library as below 1. Installed libusb 1.0.0<pre>sudo apt-get install libusb-1.0-0-dev</pre>
 
+
2. Refresh system<pre>$ sudo apt-get update
{| border="2" cellspacing="1" cellpadding="1" style="width: 164px;"
 
|-
 
!  
 
Item
 
 
 
| style="width: 122px;" | &nbsp;'''Description'''
 
|-
 
| '''1'''
 
| style="width: 122px;" | '''&nbsp;32” EPAPER'''
 
|-
 
| '''2'''
 
| style="width: 122px;" | '''&nbsp;EPD-320 PCBA'''<br/>
 
|-
 
| '''3'''
 
| style="width: 122px;" | '''&nbsp;cable'''
 
|}
 
 
 
[[File:Epd320 1.jpg|600px|RTENOTITLE]]
 
 
 
== SYSTEM ARCHITECURE ==
 
 
 
[[File:EPD320 2.jpg|400px|system diagram]]
 
 
 
== 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.
 
 
 
{| border="2" cellspacing="1" cellpadding="1" style="width: 50%;"
 
|-
 
| align="center" | '''mode 0'''
 
| align="center" | '''mode 1'''
 
| align="center" | '''mode 2'''
 
| align="center" | '''mode 3'''
 
| align="center" | '''mode 4'''
 
| align="center" | '''mode 5'''
 
|-
 
| align="center" | '''INIT'''
 
| align="center" | '''DU'''
 
| align="center" | '''GC16'''
 
| align="center" | '''GCC16'''
 
| align="center" | '''A2'''
 
| align="center" | '''GL16'''
 
|}
 
 
 
'''INIT(Global update WF)&nbsp;:'''
 
 
 
::::'''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)&nbsp;:'''
 
 
 
::::'''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)&nbsp;:'''
 
 
 
::::'''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)&nbsp;:'''
 
 
 
::::'''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)&nbsp;:'''
 
 
 
::::'''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)&nbsp;:'''
 
 
 
::::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.
 
 
 
[[File:Epd320 4.jpg|500px|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
 
 
 
[[File:Epd320 3.jpg|500px|driver install]]
 
 
 
4.Repeat step 3 replace others ITE T-CON driver.
 
 
 
==== Linux ====
 
 
 
User must install library as below
 
 
 
1. Installed libusb 1.0.0
 
<pre>sudo apt-get install libusb-1.0-0-dev</pre>
 
 
 
2. Refresh system
 
<pre>$ sudo apt-get update
 
 
$ sudo apt-get upgrade</pre>
 
$ sudo apt-get upgrade</pre>
 
+
Installed OpenCV dependency package<pre>$ sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
Installed OpenCV dependency package
 
<pre>$ 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 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
 
$ 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
 
</pre>
 
</pre>
 
+
Download OpenCV 2.4.13 source code<pre>https://opencv.org/releases/</pre>
Download OpenCV 2.4.13 source code
+
Untar source code and below example we assume file path '''/opt/opencv''' but user should follow user's environment path.<pre>$ cd opencv
<pre>https://opencv.org/releases/</pre>
 
 
 
Untar source code and below example we assume file path '''/opt/opencv''' but user should follow user's environment path.
 
<pre>$ cd opencv
 
 
$ mkdir release
 
$ mkdir release
 
$ cd release
 
$ cd release
Line 137: Line 17:
 
$ cd my_build_dir
 
$ cd my_build_dir
 
</pre>
 
</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/
'''/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/
 
 
</pre>
 
</pre>
 
<pre>$ make -j4
 
<pre>$ make -j4
 
$ make install
 
$ make install
 
</pre>
 
</pre>
 
+
Check OpenCV version<pre>$ pkg-config --modversion opencv</pre>
Check OpenCV version
+
=== 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"></epd></epd_config>
<pre>$ pkg-config --modversion opencv</pre>
 
 
 
=== 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>     <!--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> <!-- Enable:1, Disable:0 -->
 
        <temperature>25</temperature>
 
        <waveform_mode>2</waveform_mode>
 
        <rotate>180</rotate>
 
  </epd>
 
  </epd_config>
 
 
 
'''&lt;image path&gt;&nbsp;: ''' User should assign photo image path in operating system , application search image file under this path.
 
 
 
'''&lt;img&gt;&nbsp;:''' 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 &lt;img&gt; tag name between &lt;full_update&gt; and &lt;/full_update&gt; then following &lt;img&gt; tag to load image and display in sequence. It's only support '''Bmp''' and '''jpg''' type.
 
 
 
'''&lt;stop&gt;''' 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.
 
 
 
'''&lt;slide_interval&gt;:''' Slide interval is delay time in second between every image display.
 
 
 
'''&lt;set_temperature&gt;''' user don't need configure temperature.
 
 
 
'''&lt;waveform_mode&gt;''' Waveform mode usually choose mode 2 for image update. waveform explicit detail see [[EPD-320_application_tech#Waveform_mode|Section 1.4 waveform mode]]
 
 
 
'''&lt;rotate&gt;''' 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&nbsp;: '''"EPD_4Tcon.exe setting.xml"'''
 
 
 
Linux&nbsp;: $'''./EPD_4Tcon setting.xml'''
 
 
 
[[File:Epd320 6 1.jpg|500px|execute EPD4tcon]]
 
 
 
== 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>     <!--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 &lt;stop&gt;.
 
 
 
Step 4: We defined every 10 seconds to change image and writing 10 at tag of &lt;slide_interval&gt;
 
 
 
<?xml version="1.0"?>
 
  <epd_config>
 
    <epd name="EPD 31.2">
 
        <color>KW</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.
 
 
 
[[File:213JPG.jpg|400px|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'''
 
 
 
[[File:Epd130 14.jpg|800px|partial update]]
 
 
 
In mode 5 it's used for text turn to page when text is arranged on the same horizontal on next page .
 

Revision as of 10:41, 27 October 2020

<parsererror style="display: block; white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black">

This page contains the following errors:

error on line 13 at column 319: Opening and ending tag mismatch: epd line 0 and color

Below is a rendering of the page up to the first error.

</parsererror>= 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 == {| border="2" cellspacing="1" cellpadding="1" style="width: 164px;" |- ! Item | style="width: 122px;" |  Description |- | 1 | style="width: 122px;" |  32” EPAPER |- | 2 | style="width: 122px;" |  EPD-320 PCBA
|- | 3 | style="width: 122px;" |  cable |} [[File:Epd320 1.jpg|600px|RTENOTITLE]] == SYSTEM ARCHITECURE == [[File:EPD320 2.jpg|400px|system diagram]] == 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. {| border="2" cellspacing="1" cellpadding="1" style="width: 50%;" |- | align="center" | mode 0 | align="center" | mode 1 | align="center" | mode 2 | align="center" | mode 3 | align="center" | mode 4 | align="center" | mode 5 |- | align="center" | INIT | align="center" | DU | align="center" | GC16 | align="center" | GCC16 | align="center" | A2 | align="center" | 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. [[File:Epd320 4.jpg|500px|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 [[File:Epd320 3.jpg|500px|driver install]] 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. 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 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. <epd_config><epd name="EPD 31.2"></epd></epd_config>