YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
ImplementControlLimits.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5
6#ifndef YARP_DEV_ICONTROLLIMITSIMPL_H
7#define YARP_DEV_ICONTROLLIMITSIMPL_H
8
9
11#include <yarp/dev/api.h>
12#include <yarp/os/Log.h>
13
14namespace yarp::dev {
15
25{
26protected:
28 void *helper;
29
39 bool initialize (int size, const int *amap, const double *enc, const double *zos);
40
45 bool uninitialize ();
46
47
48public:
55
60 bool setLimits(int axis, double min, double max) override;
61 bool getLimits(int axis, double *min, double *max) override;
62 bool setVelLimits(int axis, double min, double max) override;
63 bool getVelLimits(int axis, double *min, double *max) override;
64};
65
66
82{
83private:
88 bool NOT_YET_IMPLEMENTED(const char *func=0)
89 {
90 if (func) {
91 yError("%s: not yet implemented\n", func);
92 } else {
93 yError("Function not yet implemented\n");
94 }
95
96 return false;
97 }
98
99
100public:
105
106 bool setLimitsRaw(int axis, double min, double max) override
107 {
108 return NOT_YET_IMPLEMENTED("setLimitsRaw");
109 }
110
111 bool getLimitsRaw(int axis, double *min, double *max) override
112 {
113 return NOT_YET_IMPLEMENTED("getLimitsRaw");
114 }
115
116 bool setVelLimitsRaw(int axis, double min, double max) override
117 {
118 return NOT_YET_IMPLEMENTED("setVelLimitsRaw");
119 }
120
121 bool getVelLimitsRaw(int axis, double *min, double *max) override
122 {
123 return NOT_YET_IMPLEMENTED("getVelLimitsRaw");
124 }
125
126};
127
128} // namespace yarp::dev
129
130#endif // YARP_DEV_ICONTROLLIMITSIMPL_H
define control board standard interfaces
#define yError(...)
Definition Log.h:361
Interface for control devices.
Interface for control devices, commands to get/set position and veloity limits.
class ImplementControlLimits; class StubImplControlLimitsRaw;
Stub implementation of IControlLimitRaw interface.
bool getVelLimitsRaw(int axis, double *min, double *max) override
Get the software speed limits for a particular axis.
bool setVelLimitsRaw(int axis, double min, double max) override
Set the software speed limits for a particular axis, the behavior of the control card when these limi...
bool setLimitsRaw(int axis, double min, double max) override
Set the software limits for a particular axis, the behavior of the control card when these limits are...
bool getLimitsRaw(int axis, double *min, double *max) override
Get the software limits for a particular axis.
For streams capable of holding different kinds of content, check what they actually have.
#define YARP_dev_API
Definition api.h:18