Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
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 }}
00139
00140 #endif //_AXISINTERFACE_HPP
00141