YARP
Yet Another Robot Platform
IControlLimits.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-FileCopyrightText: 2006-2010 RobotCub Consortium
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef YARP_DEV_ICONTROLLIMITS_H
8 #define YARP_DEV_ICONTROLLIMITS_H
9 
10 #include <yarp/os/Vocab.h>
11 #include <yarp/dev/api.h>
12 
15 namespace yarp
16 {
17  namespace dev
18  {
19  class IControlLimitsRaw;
20  class IControlLimits;
21  }
22 }
23 
30 {
31 public:
35  virtual ~IControlLimits() {}
36 
45  virtual bool setLimits(int axis, double min, double max)=0;
46 
54  virtual bool getLimits(int axis, double *min, double *max)=0;
55 
64  virtual bool setVelLimits(int axis, double min, double max)=0;
65 
73  virtual bool getVelLimits(int axis, double *min, double *max)=0;
74 };
75 
80 {
81 public:
85  virtual ~IControlLimitsRaw() {}
86 
95  virtual bool setLimitsRaw(int axis, double min, double max)=0;
96 
104  virtual bool getLimitsRaw(int axis, double *min, double *max)=0;
105 
114  virtual bool setVelLimitsRaw(int axis, double min, double max)=0;
115 
123  virtual bool getVelLimitsRaw(int axis, double *min, double *max)=0;
124 };
125 
126 // interface IControlLimits sets/gets
129 
130 #endif // YARP_DEV_ICONTROLLIMITS_H
constexpr yarp::conf::vocab32_t VOCAB_LIMITS
constexpr yarp::conf::vocab32_t VOCAB_VEL_LIMITS
Interface for control devices.
virtual bool setVelLimitsRaw(int axis, double min, double max)=0
Set the software speed limits for a particular axis, the behavior of the control card when these limi...
virtual ~IControlLimitsRaw()
Destructor.
virtual bool getLimitsRaw(int axis, double *min, double *max)=0
Get the software limits for a particular axis.
virtual bool setLimitsRaw(int axis, double min, double max)=0
Set the software limits for a particular axis, the behavior of the control card when these limits are...
virtual bool getVelLimitsRaw(int axis, double *min, double *max)=0
Get the software speed limits for a particular axis.
Interface for control devices, commands to get/set position and veloity limits.
virtual ~IControlLimits()
Destructor.
virtual bool getVelLimits(int axis, double *min, double *max)=0
Get the software speed limits for a particular axis.
virtual bool getLimits(int axis, double *min, double *max)=0
Get the software limits for a particular axis.
virtual bool setLimits(int axis, double min, double max)=0
Set the software limits for a particular axis, the behavior of the control card when these limits are...
virtual bool setVelLimits(int axis, double min, double max)=0
Set the software speed limits for a particular axis, the behavior of the control card when these limi...
std::int32_t vocab32_t
Definition: numeric.h:78
constexpr yarp::conf::vocab32_t createVocab32(char a, char b=0, char c=0, char d=0)
Create a vocab from chars.
Definition: Vocab.h:28
The main, catch-all namespace for YARP.
Definition: dirs.h:16
#define YARP_dev_API
Definition: api.h:18