A driver and demo programs for Raspberry Pi

Contains:

* Example driver for the EPD for the ARM based Raspberry Pi SBC
  (Must run as root)

* Implementation of a FUSE to allow simple access for non-root
  programs, such as as shell-script, Python, etc.

* Demo in Python using the PIL library to display images
  and make a simple drawing.

See the README for more details

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
Update main README to include Raspberry Pi

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
create bit_reversed and inverted files

This simplifies and speeds up the Python demos since the
inver/bit reversal is now in the fuse driver

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
add the 'temperature' file to set/get temperature compensation value

The external program shuold set this just before issuing the update command.

The internal temperature sensor could be wired to a suitable ADC to provide this
as there is no ADC channel on the basic board.

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
Update readme with latest driver changes

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
correct spelling

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
Simple Twitter Demo

Displays tweets on the EPD

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
put the *.pyc back

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
Partial Update support

This is an Alpha version of partial update support
(send the 'P' character to "command")

The demos CounterDemo.py and PartialDemo.py tryout this feature

Note that after several cycle of partial update there may be some
contrast degradation, so occasionally send a full update; Just sending
the 'U' command (or the update method in EPD.py) will fully refresh
the current image.

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
[PlatformWithOS] Reorganisation support: Raspberry Pi + Beagle Bone Black

Reorganise and factor out common code so as to support
compilation on Raspberry Pi and Beagle Bone Black

NOTE: Beagle Bone Black is still under testing, so beware!
      Only being tested on Beagle Bone Black Angstrom
      booted from micro SD card.

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
[PlatformWithOS] fix for remove target

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
[PlatformWithOS] document the setup of SD Card for Beagle Bone Black

How to create an SD card of Angstrom to begin debugging the EPD
driver on this system.  These are only preliminary instructions.

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
factor out the SPI BPS setting

Seems like the Beagle Bone Black needs a lower value.

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
[PlatformWithOS] small changes to indicate Raspberry Pi / Beagle Bone Black differences

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
[PlatformWithOS] simple demo with mixed updates

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
[PlatformWithOS] sync to 5 second increments

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
[PlatformWithOS] minor fixes

spelling
Makefile to stop fuse before removing files

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
move the problematic mapped gpio

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
[PlatformWithOS] IMPORTANT BeagleBone Black changes

1. The gpio.c is now changed to use device tree.

   The mapped GPIO (now renamed to gpio_mapped.c) does not work on
   GPIO0, GPIO2 or GPIO3 because these device do not appear to be
   enabled by the kernel.

   This is considerably more complex than just writing bits to a
   single register; it depend on compiled dts files in /lib/firmware
   that are auto loaded by the kernel.  Fortunately the Github user
   'nomel' has a script to generate these and has already checked in
   the generated files.

   Just clone https://github.com/nomel/beaglebone.git and copy the
   relevant files  see README-BeagleBoneBlack.md for more details.

2. RESET moved to P9-26

   Initially the RESET line was connected to P9-25, but even with
   device tree this was not responding, I did not investigate after
   seeing an error when trying to allocate this pin using the cape manage
   'slots' system - the error seemed to indicate that something else
   was using that pin.  Instead I just moved RESET P9-26 so please
   adjust the EPD connection.

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>
remove accidentally pasted code, minor cleanup

Signed-off-by: Christopher Hall <christopherhall.hsw@gmail.com>