YARP
Yet Another Robot Platform
IControlLimits.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2020 Istituto Italiano di Tecnologia (IIT)
3  * Copyright (C) 2006-2010 RobotCub Consortium
4  * All rights reserved.
5  *
6  * This software may be modified and distributed under the terms of the
7  * BSD-3-Clause license. See the accompanying LICENSE file for details.
8  */
9 
10 #ifndef YARP_DEV_ICONTROLLIMITS_H
11 #define YARP_DEV_ICONTROLLIMITS_H
12 
13 #include <yarp/os/Vocab.h>
14 #include <yarp/dev/api.h>
15 
18 namespace yarp
19 {
20  namespace dev
21  {
22  class IControlLimitsRaw;
23  class IControlLimits;
24  }
25 }
26 
33 {
34 public:
38  virtual ~IControlLimits() {}
39 
48  virtual bool setLimits(int axis, double min, double max)=0;
49 
57  virtual bool getLimits(int axis, double *min, double *max)=0;
58 
67  virtual bool setVelLimits(int axis, double min, double max)=0;
68 
76  virtual bool getVelLimits(int axis, double *min, double *max)=0;
77 };
78 
83 {
84 public:
88  virtual ~IControlLimitsRaw() {}
89 
98  virtual bool setLimitsRaw(int axis, double min, double max)=0;
99 
107  virtual bool getLimitsRaw(int axis, double *min, double *max)=0;
108 
117  virtual bool setVelLimitsRaw(int axis, double min, double max)=0;
118 
126  virtual bool getVelLimitsRaw(int axis, double *min, double *max)=0;
127 };
128 
129 // interface IControlLimits sets/gets
132 
133 #endif // YARP_DEV_ICONTROLLIMITS_H
yarp::dev::IControlLimitsRaw::setVelLimitsRaw
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...
yarp::os::createVocab
constexpr yarp::conf::vocab32_t createVocab(char a, char b=0, char c=0, char d=0)
Definition: Vocab.h:22
yarp::dev::IControlLimits::setVelLimits
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...
yarp::dev::IControlLimits::~IControlLimits
virtual ~IControlLimits()
Destructor.
Definition: IControlLimits.h:38
yarp::dev::IControlLimitsRaw::~IControlLimitsRaw
virtual ~IControlLimitsRaw()
Destructor.
Definition: IControlLimits.h:88
yarp::dev::IControlLimits::getVelLimits
virtual bool getVelLimits(int axis, double *min, double *max)=0
Get the software speed limits for a particular axis.
yarp::dev::IControlLimitsRaw::getVelLimitsRaw
virtual bool getVelLimitsRaw(int axis, double *min, double *max)=0
Get the software speed limits for a particular axis.
yarp::dev::IControlLimits
Interface for control devices, commands to get/set position and veloity limits.
Definition: IControlLimits.h:33
YARP_dev_API
#define YARP_dev_API
Definition: api.h:19
yarp::dev::IControlLimitsRaw
Interface for control devices.
Definition: IControlLimits.h:83
yarp::dev::IControlLimits::getLimits
virtual bool getLimits(int axis, double *min, double *max)=0
Get the software limits for a particular axis.
VOCAB_VEL_LIMITS
constexpr yarp::conf::vocab32_t VOCAB_VEL_LIMITS
Definition: IControlLimits.h:131
yarp::dev::IControlLimits::setLimits
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...
yarp
The main, catch-all namespace for YARP.
Definition: environment.h:18
yarp::conf::vocab32_t
std::int32_t vocab32_t
Definition: numeric.h:52
Vocab.h
yarp::dev::IControlLimitsRaw::getLimitsRaw
virtual bool getLimitsRaw(int axis, double *min, double *max)=0
Get the software limits for a particular axis.
yarp::dev::IControlLimitsRaw::setLimitsRaw
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...
VOCAB_LIMITS
constexpr yarp::conf::vocab32_t VOCAB_LIMITS
Definition: IControlLimits.h:130
api.h