/gratis

EPD Source codes and Documentation

Primary LanguageC++

gratis

<<<<<<< HEAD Added by Neil Matthews for Percheron Electronics Ltd 2015-08-16

For the E-paper Hat with the Raspberry Pi, everything you need is in PlatformWithOS and its subdirectories. The Makefile in the PlatformWithOS folder has already been edited to use the correct panel type and epd_io configuration. The epd-fuse.default file in driver common has also been suitably edited. In driver-common there are test programs in C which you can compile from the PlatformWithOS directory by typing make rpi. You can then run sudo driver-common/epd_test 2.7 which should scroll through a sequence of seven images at ~2 second intervals. Then type sudo make rpi-install to install and configure the fuse driver.

=======

Branch notes

This branch implements a proper partial update following the algorithm outlined in the discussion of issue #19 on the repaper/gratis github repository.

The original code in epd_fuse.c and V231G2/epd.c under PlatformWithOS did a full 4 cycle display update including COG power on and COG power down sequence. This resulted in the update taking more than 3 seconds with the display first showing the updated image, then the original image followed finally by the updated image. This made things like a clock, counters and 'game of life' look very bad.

Following changes as outlined in issue #13:

  • in epd_fuse.c run_command() do not call EPD_end() at the end of the 'P' command (only if partial update is supported by the display)
  • in epd.c introduce COG_on status variable in EPD_struct.
  • in epd.c EPD_begin() return immediately when COG_on is true
  • in epd.c EPD_begin() set COG_on to true at the end of the function.
  • in epd.c EPD_end() set COG_on to false at the end of the function.
  • in epd.c EPD_partial_image() only call the last stage (EPD_normal).

With these changes you can get a proper partial display update frequency < 1 Hz.

For a YouTube video showing the difference between before and after the fix see https://youtu.be/dciaFRKtetU

IMAGE ALT TEXT HERE

Original README below

refs/remotes/repaper/master

Updated 2015-08-01 by Rei Vilo

Sketches

These are example programs that will compile and run on the following platforms

  1. TI LaunchPad with M430G2553 using the Energia IDE
  2. Arduino Leonardo using the Arduino IDE

Notes for Arduinos with the embedded USB controller

  • Arduinos with the embedded USB controller ('Un' suffix) do not have a real serial port, it is emulated using firmware and uses the USB interface.

  • Arduino Loenardo uses one of these chips.

  • The Command program needs the serial to accept commands so it will wait indefinitely for the serial monitor to be opened before doing any display. (the additional delay code is commented out)

  • The Demo, Flash Loader and Thermo programs do no need serial port to accept commands, it is display only. The additional delay is used and the indefinite wait is commented out. Therefore on a Leonardo to see the initial messages open the serial monitor before uploading. If the serial monitor is not open these programs will now automatically start.

PlatformWithOS

Contains an example driver and Python demo programs that can be compiled and run on:

  1. Raspberry Pi.
  2. BeagleBone Black

Other software links

These are other projects on GitHub or other sites, please check them out. (If you have a project, let us know an we will add a link here)

  1. https://github.com/aerialist/repaper_companion - Companion software for rePaper. Resize image and convert to XBM format.

======

Gratis is a Repaper.org repository, initiated by E Ink and PDI for the purpose of making sure ePaper can go everywhere.