00001 /*************************************************************************** 00002 tag: Peter Soetens Mon Jan 19 14:11:20 CET 2004 SyncWriter.hpp 00003 00004 SyncWriter.hpp - description 00005 ------------------- 00006 begin : Mon January 19 2004 00007 copyright : (C) 2004 Peter Soetens 00008 email : peter.soetens@mech.kuleuven.ac.be 00009 00010 *************************************************************************** 00011 * This library is free software; you can redistribute it and/or * 00012 * modify it under the terms of the GNU Lesser General Public * 00013 * License as published by the Free Software Foundation; either * 00014 * version 2.1 of the License, or (at your option) any later version. * 00015 * * 00016 * This library is distributed in the hope that it will be useful, * 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00019 * Lesser General Public License for more details. * 00020 * * 00021 * You should have received a copy of the GNU Lesser General Public * 00022 * License along with this library; if not, write to the Free Software * 00023 * Foundation, Inc., 59 Temple Place, * 00024 * Suite 330, Boston, MA 02111-1307 USA * 00025 * * 00026 ***************************************************************************/ 00027 00028 #ifndef ORO_SYNCWRITER_HPP 00029 #define ORO_SYNCWRITER_HPP 00030 00031 #include "CAN.hpp" 00032 #include <rtt/RunnableInterface.hpp> 00033 #include "CANBus.hpp" 00034 00035 namespace RTT 00036 { 00037 namespace CAN 00038 { 00043 class SyncWriter: public RunnableInterface 00044 { 00045 CANMessage syncMsg; 00046 CANBus* bus; 00047 public: 00048 SyncWriter(CANBus* _bus) : 00049 bus(_bus) 00050 { 00051 syncMsg.setStdId(0x80); 00052 } 00053 bool initialize() 00054 { 00055 return true; 00056 } 00057 void step() 00058 { 00059 bus->sync(); 00060 } 00061 void finalize() 00062 { 00063 } 00064 void sync() 00065 { 00066 bus->write(&syncMsg); 00067 } 00068 00069 }; 00070 } 00071 } 00072 00073 #endif