CANopen stack implemented in Erlang