Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
IPC for Real-Time Robot Control
C Common Lisp Python Java C++ Shell Makefile
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
cpp
data
debian
doc
include
java
lisp
m4 Autotools updates
python
spin
src
.gitignore
.gitmodules
AUTHORS
CMakeLists.txt.deprecated
COPYING
ChangeLog
Doxyfile
INSTALL
Makefile.am
NEWS
README Add README pointer to INSTALL for doc generation
README.md
TODO
ach.pc.in
achlog.py
achpipe
achtooltest
configure.ac
doxygen.am Autotooled Doxygen
manifest.xml
pycompile
test-achcop

README.md

OVERVIEW

Ach is an Inter-Process Communication (IPC) mechanism and library. It is especially suited for communication in real-time systems that sample data from physical processes. Ach eliminates the Head-of-Line Blocking problem for applications that always require access to the newest message. Ach is efficient, robust, and formally verified. It has been tested and demonstrated on a variety of physical robotic systems. Source code for Ach is available under an Open Source BSD-style license.

INSTALLATION

./configure && make && make install

See the INSTALL file for details.

Alternatively, if you are using Debian or Ubuntu, you can use the golems.org APT repo.

  1. Add the following to /etc/apt/sources:

    deb http://code.golems.org/debian squeeze golems.org

    (substitute the codename for your distribution in place of squeeze, e.g. wheezy, precise)

  2. sudo apt-get update && sudo apt-get install libach-dev ach-utils ach-dkms

  3. sudo dpkg-reconfigure ach-utils

DOCUMENTATION

See ./INSTALL for details on generating the documentation.

MAILING LISTS

LANGUAGE BINDINGS

Language bindings are included for Common Lisp, Python, and Java.

  • Common Lisp bindings use CFFI and can be loaded with ASDF.

  • Python bindings are a C extension module and a Python module 'ach'. This can be installed either via make install or via Python's distutils/pip.

  • C++ bindings wrap the C API. See ./include/Ach.hpp

  • Java bindings via the Java Native Interface (JNI). See ./doc/javadoc or http://code.golems.org/pkg/ach/javadoc/

See the INSTALL file for details.

FORMAL MODEL

Ach has been formally verified using the SPIN model checker. This formal model is included in the source distribution under the ./spin/ directory.

Something went wrong with that request. Please try again.