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::dev {
16 class IControlLimitsRaw;
17 class IControlLimits;
18 }
19 
26 {
27 public:
31  virtual ~IControlLimits() {}
32 
41  virtual bool setLimits(int axis, double min, double max)=0;
42 
50  virtual bool getLimits(int axis, double *min, double *max)=0;
51 
60  virtual bool setVelLimits(int axis, double min, double max)=0;
61 
69  virtual bool getVelLimits(int axis, double *min, double *max)=0;
70 };
71 
76 {
77 public:
81  virtual ~IControlLimitsRaw() {}
82 
91  virtual bool setLimitsRaw(int axis, double min, double max)=0;
92 
100  virtual bool getLimitsRaw(int axis, double *min, double *max)=0;
101 
110  virtual bool setVelLimitsRaw(int axis, double min, double max)=0;
111 
119  virtual bool getVelLimitsRaw(int axis, double *min, double *max)=0;
120 };
121 
122 // interface IControlLimits sets/gets
125 
126 #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
For streams capable of holding different kinds of content, check what they actually have.
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:27
The main, catch-all namespace for YARP.
Definition: dirs.h:16
#define YARP_dev_API
Definition: api.h:18