CANOpen protocol stack