Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
IPC for Real-Time Robot Control
C Common Lisp Python Java C++ Shell Other
branch: master
Failed to load latest commit information.
cpp Move C++ defs to header and remove C++ shared library
data Fix zsh help text
debian Build Debian package
doc Fix typos in manual
include Debug messages for ACH_CORRUPT
java Update copyright license and email
lisp Update copyright license and email
m4 Autotools updates
python Add optional source lock when opening channels
spin authors, copying, headers, for make-common, amino, ach, somatic
src Debug messages for ACH_CORRUPT
.gitignore Update Debian packaging
.gitmodules Remove old Makefile
AUTHORS Update AUTHORS and COPYING
CMakeLists.txt.deprecated Deprecate building via CMake
COPYING Update copyright license and email
ChangeLog Autotools build
Doxyfile Documentation update
INSTALL Deprecate building via CMake
Makefile.am Describe channel mappings in the manual
NEWS Update NEWS
README Add README pointer to INSTALL for doc generation
README.md Markdown README and doxygen link
TODO Add heavily concurrent stress test
ach.pc.in Add pkg-config file
achlog.py Update copyright license and email
achpipe Disable unused configure tests
achtooltest Port achtooltest to Solaris 9 /bin/sh
configure.ac Check whether host is Linux
doxygen.am Autotooled Doxygen
manifest.xml Remove bogus ROS deps
pycompile ach feature: python subscription support
test-achcop Add achcop test script

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.