somatic

Somatic is package that includes message definitions and daemon management code for our robot software. See slogd.c for an example.

protocol buffers overview

Doxygen

Example somatic daemons

A couple of straightforward somatic daemons:

  • svn:/src/common/lib/somatic/src/slogd.c
  • svn:/src/common/drivers/bms/bmsd2.c

Debugging a somatic daemon

Logging

Somatic daemons post ach messages about important events. The slogd daemon will write these message to the unix syslog. You can monitor these events with sudo tail -f /var/log/user.log.

Core Files

Somatic daemons try to emit a core file under /var/run/somatic/$daemon_name/core if they die improperly. You can debug it with gdb --core /var/run/somatic/$daemon_name/core /path/to/daemon/binary