Orocos Real-Time Toolkit
2.6.0
|
00001 /*************************************************************************** 00002 00003 AxisInterface.hpp - description 00004 ------------------- 00005 begin : Thu October 21 2004 00006 copyright : (C) 2002 Johan Rutgeerts 00007 email : Johan.Rutgeerts@mech.kuleuven.be 00008 00009 *************************************************************************** 00010 * This library is free software; you can redistribute it and/or * 00011 * modify it under the terms of the GNU Lesser General Public * 00012 * License as published by the Free Software Foundation; either * 00013 * version 2.1 of the License, or (at your option) any later version. * 00014 * * 00015 * This library is distributed in the hope that it will be useful, * 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00018 * Lesser General Public License for more details. * 00019 * * 00020 * You should have received a copy of the GNU Lesser General Public * 00021 * License along with this library; if not, write to the Free Software * 00022 * Foundation, Inc., 59 Temple Place, * 00023 * Suite 330, Boston, MA 02111-1307 USA * 00024 * * 00025 ***************************************************************************/ 00026 00027 #ifndef _AXISINTERFACE_HPP 00028 #define _AXISINTERFACE_HPP 00029 00030 #include "SensorInterface.hpp" 00031 #include "DigitalInput.hpp" 00032 #include "DigitalOutput.hpp" 00033 #include "../../rtt-config.h" 00034 #include <string> 00035 #include <vector> 00036 00037 namespace RTT 00038 { namespace dev { 00039 00045 class RTT_API AxisInterface 00046 { 00047 public: 00048 00049 AxisInterface() {}; 00050 virtual ~AxisInterface() {}; 00051 00056 virtual bool stop() = 0; 00057 00062 virtual bool lock() = 0; 00063 00068 virtual bool unlock() = 0; 00069 00073 virtual bool drive( double v ) = 0; 00074 00078 virtual double getDriveValue() const = 0; 00079 00083 virtual bool isLocked() const = 0; 00084 00088 virtual bool isStopped() const = 0; 00089 00093 virtual bool isDriven() const = 0; 00094 00098 virtual DigitalOutput* getBrake() = 0; 00099 00103 virtual DigitalOutput* getEnable() = 0; 00104 00108 virtual SensorInterface<double>* getSensor(const std::string& name) const = 0; 00109 00113 virtual std::vector<std::string> sensorList() const = 0; 00114 00118 virtual DigitalInput* getSwitch(const std::string& name) const = 0; 00119 00123 virtual std::vector<std::string> switchList() const = 0; 00124 00128 virtual SensorInterface<int>* getCounter(const std::string& name) const = 0; 00129 00133 virtual std::vector<std::string> counterList() const = 0; 00134 00135 }; 00136 00137 00138 }} // namespace RTT 00139 00140 #endif //_AXISINTERFACE_HPP 00141