00001 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*- 00002 00003 // -- BEGIN LICENSE BLOCK ---------------------------------------------- 00004 // This file is part of the SCHUNK Canopen Driver suite. 00005 // 00006 // This program is free software licensed under the LGPL 00007 // (GNU LESSER GENERAL PUBLIC LICENSE Version 3). 00008 // You can find a copy of this license in LICENSE folder in the top 00009 // directory of the source code. 00010 // 00011 // © Copyright 2016 SCHUNK GmbH, Lauffen/Neckar Germany 00012 // © Copyright 2016 FZI Forschungszentrum Informatik, Karlsruhe, Germany 00013 // -- END LICENSE BLOCK ------------------------------------------------ 00014 00015 //---------------------------------------------------------------------- 00023 //---------------------------------------------------------------------- 00024 00025 #ifndef SYNC_H 00026 #define SYNC_H 00027 00028 #include <icl_hardware_can/tCanDevice.h> 00029 #include "helper.h" 00030 #include "ds301.h" 00031 00032 namespace icl_hardware { 00033 namespace canopen_schunk { 00034 00035 // TODO(optional) include a sync counter that is transmitted, however.. i can not see the point in it DS301 clause 7.5.2.22: "The SYNC consumer shall ignore the value itself" 00036 00041 static inline void sendSync(const CanDevPtr &can_device) 00042 { 00043 can_device->Send(CanMsg(ds301::ID_SYNC,0,0,reinterpret_cast<unsigned char*>(NULL))); 00044 } 00045 00046 }} // end of NS 00047 #endif // SYNC_H