AdvaBoard RPi1 software

Website:http://www.advamation.com / http://www.advamation.de
Author: Advamation, Roland Koebler <support@advamation.de>
Version: 2014-06-26
Requirements:GLib 2, GDK-pixbuf 2 or GTK 2
supported languages:
 C, Python 2, Python 3, Java, shell

This is the software for the Advamation AdvaBoard RPi1 and its TFT-displays.

Currently, most commands/library-functions need root-permissions, but this will change in one of the next versions.

If you're updating from a previous version, please read the NEWS-file.

For any questions, bugreports etc., please contact support@advamation.de (in English or German).

Documentation

Included Files

Overview

Directory/File Contents
README this file
README.de this file in German
NEWS list of changes between different versions
LICENSE software-license (mostly MIT/X11-like)
binding-java/ Java-binding for the C-libraries
binding-python/ Python-binding for the C-libraries
doc/ software-documentation
examples/ examples
include/ C-include-files
kernel/ sourcecode of the Linux-kernel-modules
locale/ Support for other languages
prebuilt/ prebuilt libraries and commandline-tools
src/ C-sourcecode of the libraries and commandline-tools
tools/ several tools, scripts and configuration-files

doc/: Documentation

filename description
index.html HTML index-page for the documentation
README.html this file in HTML
README.de.html this file in HTML in German
advamation.txt/.html documentation of the Advamation C library
am_rpi.txt/.html documentation of the Advamation Raspberry Pi library
am_rpi_advaboard.txt/.html documentation of the Advamation AdvaBoard RPi1 library
am_rpi_tft.txt/.html documentation of the Advamation TFT-display library
advamationfb.txt/.html documentation of the Advamation framebuffer-driver
touchpanel.tft/.html documentation of the Advamation touchpanel-driver
java.README.html Java-binding README in HTML
java.am_rpi_advaboard.txt/html documentation of the Java-binding to am_rpi_advaboard
python.README.html Python-binding README in HTML
python.advamation.txt/.html documentation of the Advamation Python library
python.rpi.txt/.html documentation of the Python-binding to am_rpi
python.advaboard.txt/.html documentation of the Python-binding to am_rpi_advaboard
examples.README.html examples/README.txt in HTML
advaboard_gui.README.html tools/advaboard_gui/README.txt in HTML
rpc.README.html tools/rpc/README.txt in HTML
sysvinit.README.html tools/sysvinit/README.txt in HTML

prebuilt/: Libraries/Commandline-Tools

  • precompiled commandline-tools (statically linked)
  • precompiled libraries for Raspbian Wheezy
  • precompiled framebuffer-kernel-modules for some kernels
  • compiled from the included sourcecode
filename description
libam_rpi.so Advamation Raspberry Pi library
libam_rpi.a Advamation Raspberry Pi library, static version
libam_rpi_advaboard.so Advamation AdvaBoard RPi1 library
libam_rpi_advaboard.a Advamation AdvaBoard RPi1 library, static version
libam_rpi_tft.so Advamation TFT-display library
libam_rpi_tft.a Advamation TFT-display library, static version
am_rpi.jar JAR-file for the Advamation AdvaBoard RPi1 library
libadvamation-jni.so Java binding for Advamation C library
libam_rpi_advaboard-jni.so Java binding for Advamation AdvaBoard RPi1 library
am_rpi_tool commandline-tool for the Raspberry Pi
am_rpi_advaboard_tool commandline-tool for the AdvaBoard RPi1
am_rpi_tft_tool commandline-tool for the TFT-display
am_rpi_framebuffer TFT-display-framebuffer driver (user-space daemon)
am_rpi_touchpanel TFT-touchpanel driver (user-space daemon)
advamationfb.VERSION.ko framebuffer-kernel-module for kernel "VERSION"
Makefile makefile to install the files in the system

src/, binding-*/: Sourcecode

filename description
src/CMakeLists.txt CMake makefile
src/Find_simple.cmake CMake file
src/advamation.h Advamation C library, header file
src/advamation.c Advamation C library, sourcecode
src/am_rpi.h Advamation Raspberry Pi library, header file
src/am_rpi.c Advamation Raspberry Pi library, sourcecode
src/am_rpi_delay_nop.asm Advamation Raspberry Pi library, sourcecode
src/am_rpi_advaboard.h Advamation AdvaBoard RPi1 library, header file
src/am_rpi_advaboard.c Advamation AdvaBoard RPi1 library, sourcecode
src/am_rpi_tft.h Advamation TFT-display library, header file
src/am_rpi_tft.c Advamation TFT-display library, sourcecode
src/am_rpi_tool.c commandline-tool for Raspberry Pi library
src/am_rpi_advaboard_tool.c commandline-tool for AdvaBoard RPi1 library
src/am_rpi_tft_tool.c commandline-tool for TFT-display library
src/am_rpi_framebuffer.c TFT-display-framebuffer user-space daemon
src/am_rpi_touchpanel.c touchpanel daemon/driver
binding-java/README.txt Java-binding: README
binding-java/c/* Java-binding: C wrapper code
binding-java/am_rpi/* Java-binding: Java classes
binding-java/Makefile Java-binding makefile
binding-python/README.txt Python-binding: README
binding-python/am_rpi/ Python-binding: Python modules
binding-python/am_rpi/setup.py Python-Binding: Setup-Skript

examples/: Examples

filename description
examples/README.txt README-file incl. information about all examples
examples/c/* examples in C
examples/java/* examples in Java
examples/python/* examples in Python
examples/sh/* examples as shell-script

In addition, the commandline-tools (src/am_*_tool.c) can serve as more complex C-examples.

kernel/: Linux-Kernel-Modules

filename description
advamationfb/Makefile makefile for the kernel-framebuffer-driver
advamationfb/advamationfb.c sourcecode of the kernel-framebuffer-driver

tools/: Tools, Scripts and Configuration-Files

filename description
advaboard_rpi1_setup/* software-setup-script and config-files
advaboard_gui/* AdvaBoard GUI: graphical user-interface
rpc/* Remote Procedure Call for the AdvaBoard-libraries
sysvinit/README.txt README file for SysVinit-scripts
sysvinit/am_rpi_framebuffer.sh SysVinit-script for TFT-display-framebuffer
sysvinit/am_rpi_framebuffer configuration-file for am_rpi_framebuffer.sh
sysvinit/am_rpi_touchpanel.sh SysVinit-script for TFT-display-touchpanel
sysvinit/am_rpi_power.sh SysVinit-script to set the power on boot and shutdown
sysvinit/am_rpi_power configuration-file for sysvinit/am_rpi_power.sh
sysvinit/am_rpi_shutdownbutton.sh SysVinit-script to start the shutdownbutton-daemon
sysvinit/am_rpi_shutdownbutton configuration-file for sysvinit/am_rpi_shutdownbutton.sh
am_rpi_shutdownbutton.sh daemon to init shutdown when a button is pressed
xorg.conf X.org-config file for the TFT-displays

Installation

  1. Copy the software to the Raspberry Pi (or its SD-card) and unpack it (replace VERSION by your used version-number):

    tar -xzf advaboard_rpi-VERSION.tar.gz
    
  2. Install the software:

    • Run the setup-script on the Raspberry Pi and answer all questions:

      cd advaboard_rpi-VERSION
      cd tools/advaboard_rpi1_setup
      ./advaboard_rpi1_setup.sh
      

      You can also run the script with preset default values for Raspbian:

      ./advaboard_rpi1_setup.sh -i advaboard_rpi1_setup.default
      
    • Alternatively, you can compile and install the C-libraries manually:

      1. Install necessary software (glib-2.0-dev, gdk-pixbuf-2.0-dev, cmake >=2.6, gcc), e.g. for Debian/Raspbian:

        sudo apt-get update
        sudo apt-get install libglib2.0-dev libgdk-pixbuf2.0-dev cmake
        
      2. Compile the libraries and commandline-tools:

        make
        
      3. Install the libraries, commandline-tools, language-bindings etc.:

        make install
        make install_sysvinit
        

        Afterwards, make clean can be used to remove the built files. If the software should later be removed again, you can use make uninstall.

      4. For the installation/configuration of the SysVinit-scripts, and the framebuffer- and touchpanel-drivers, use the appropriate README-files and/or documentation-pages.

  3. Test the software (if not already done with the setup-script):

    • First test with an connected AdvaBoard RPi1:

      sudo am_rpi_advaboard_tool -m init
      sudo am_rpi_advaboard_tool -m info
      
    • Now, you can use the commandline-programs, e.g.:

      sudo am_rpi_advaboard_tool -m LED 2
      

      to make the LED on the AdvaBoard RPi1 blink.

    • For the first tests, we also recommend to use:

      • the AdvaBoard GUI in tools/advaboard_gui/
      • the shell-examples in examples/sh/
  4. Use the software:

    Now, you can use the libraries in your programs. As starting-point for your own programs, you can use the included examples and the sourcecode of the commandline-programs.

    If the system does not find the Advamation libraries, you may need to set the path manually:

    export LD_LIBRARY_PATH=/usr/local/lib/