yarp-devices
Loading...
Searching...
No Matches
TechnosoftIpos.hpp
1// -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*-
2
3#ifndef __TECHNOSOFT_IPOS_HPP__
4#define __TECHNOSOFT_IPOS_HPP__
5
6#include "TechnosoftIposBase.hpp"
7
8#include "TechnosoftIpos_ParamsParser.h"
9
20class TechnosoftIpos : public yarp::dev::DeviceDriver,
21 public yarp::dev::IAxisInfoRaw,
22 public yarp::dev::IControlLimitsRaw,
23 public yarp::dev::IControlModeRaw,
24 public yarp::dev::ICurrentControlRaw,
25 public yarp::dev::IEncodersTimedRaw,
26 public yarp::dev::IImpedanceControlRaw,
27 public yarp::dev::IInteractionModeRaw,
28 public yarp::dev::IJointFaultRaw,
29 public yarp::dev::IMotorRaw,
30 public yarp::dev::IMotorEncodersRaw,
31 public yarp::dev::IPidControlRaw,
32 public yarp::dev::IPositionControlRaw,
33 public yarp::dev::IPositionDirectRaw,
34 public yarp::dev::IRemoteVariablesRaw,
35 public yarp::dev::ITorqueControlRaw,
36 public yarp::dev::IVelocityControlRaw,
39{
40public:
41
42 // --------- DeviceDriver declarations. Implementation in DeviceDriverImpl.cpp ---------
43
44 bool open(yarp::os::Searchable & config) override;
45 bool close() override;
46
47 std::string id() const override
48 { return impl->id(); }
49
50 // --------- ICanBusSharer declarations. Implementation in ICanBusSharerImpl.cpp ---------
51
52 unsigned int getId() override
53 { return impl->getId(); }
54
55 std::vector<unsigned int> getAdditionalIds() override
56 { return impl->getAdditionalIds(); }
57
58 bool notifyMessage(const roboticslab::can_message & message) override
59 { return impl->notifyMessage(message); }
60
61 bool initialize() override
62 { return impl->initialize(); }
63
64 bool finalize() override
65 { return impl->finalize(); }
66
68 { return impl->registerSender(sender); }
69
70 bool synchronize(double timestamp) override
71 { return impl->synchronize(timestamp); }
72
73 // --------- IAxisInfoRaw declarations. Implementation in IAxisInfoRawImpl.cpp ---------
74
75 bool getAxisNameRaw(int axis, std::string & name) override
76 { return impl->getAxisNameRaw(axis, name); }
77
78 bool getJointTypeRaw(int axis, yarp::dev::JointTypeEnum & type) override
79 { return impl->getJointTypeRaw(axis, type); }
80
81 // --------- IControlLimitsRaw declarations. Implementation in IControlLimitsRawImpl.cpp ---------
82
83 bool setLimitsRaw(int axis, double min, double max) override
84 { return impl->setLimitsRaw(axis, min, max); }
85
86 bool getLimitsRaw(int axis, double * min, double * max) override
87 { return impl->getLimitsRaw(axis, min, max); }
88
89 bool setVelLimitsRaw(int axis, double min, double max) override
90 { return impl->setVelLimitsRaw(axis, min, max); }
91
92 bool getVelLimitsRaw(int axis, double * min, double * max) override
93 { return impl->getVelLimitsRaw(axis, min, max); }
94
95 // --------- IControlModeRaw declarations. Implementation in IControlModeRawImpl.cpp ---------
96
97 bool getControlModeRaw(int j, int * mode) override
98 { return impl->getControlModeRaw(j, mode); }
99
100 bool getControlModesRaw(int * modes) override
101 { return impl->getControlModesRaw(modes); }
102
103 bool getControlModesRaw(int n_joint, const int * joints, int * modes) override
104 { return impl->getControlModesRaw(n_joint, joints, modes); }
105
106 bool setControlModeRaw(int j, int mode) override
107 { return impl->setControlModeRaw(j, mode); }
108
109 bool setControlModesRaw(int * modes) override
110 { return impl->setControlModesRaw(modes); }
111
112 bool setControlModesRaw(int n_joint, const int * joints, int * modes) override
113 { return impl->setControlModesRaw(n_joint, joints, modes); }
114
115 // --------- ICurrentControlRaw declarations. Implementation in ICurrentControlRawImpl.cpp ---------
116
117 //bool getNumberOfMotorsRaw(int * number) override;
118
119 bool getCurrentRaw(int m, double * curr) override
120 { return impl->getCurrentRaw(m, curr); }
121
122 bool getCurrentsRaw(double * currs) override
123 { return impl->getCurrentsRaw(currs); }
124
125 bool getCurrentRangeRaw(int m, double * min, double * max) override
126 { return impl->getCurrentRangeRaw(m, min, max); }
127
128 bool getCurrentRangesRaw(double * min, double * max) override
129 { return impl->getCurrentRangesRaw(min, max); }
130
131 bool setRefCurrentRaw(int m, double curr) override
132 { return impl->setRefCurrentRaw(m, curr); }
133
134 bool setRefCurrentsRaw(const double * currs) override
135 { return impl->setRefCurrentsRaw(currs); }
136
137 bool setRefCurrentsRaw(int n_motor, const int * motors, const double * currs) override
138 { return impl->setRefCurrentsRaw(n_motor, motors, currs); }
139
140 bool getRefCurrentRaw(int m, double * curr) override
141 { return impl->getRefCurrentRaw(m, curr); }
142
143 bool getRefCurrentsRaw(double * currs) override
144 { return impl->getRefCurrentsRaw(currs); }
145
146 // ---------- IEncodersRaw declarations. Implementation in IEncodersRawImpl.cpp ----------
147
148 bool getAxes(int * ax) override
149 { return impl->getAxes(ax); }
150
151 bool resetEncoderRaw(int j) override
152 { return impl->resetEncoderRaw(j); }
153
154 bool resetEncodersRaw() override
155 { return impl->resetEncodersRaw(); }
156
157 bool setEncoderRaw(int j, double val) override
158 { return impl->setEncoderRaw(j, val); }
159
160 bool setEncodersRaw(const double * vals) override
161 { return impl->setEncodersRaw(vals); }
162
163 bool getEncoderRaw(int j, double * v) override
164 { return impl->getEncoderRaw(j, v); }
165
166 bool getEncodersRaw(double * encs) override
167 { return impl->getEncodersRaw(encs); }
168
169 bool getEncoderSpeedRaw(int j, double * sp) override
170 { return impl->getEncoderSpeedRaw(j, sp); }
171
172 bool getEncoderSpeedsRaw(double * spds) override
173 { return impl->getEncoderSpeedsRaw(spds); }
174
175 bool getEncoderAccelerationRaw(int j, double * spds) override
176 { return impl->getEncoderAccelerationRaw(j, spds); }
177
178 bool getEncoderAccelerationsRaw(double * accs) override
179 { return impl->getEncoderAccelerationsRaw(accs); }
180
181 // ---------- IEncodersTimedRaw declarations. Implementation in IEncodersRawImpl.cpp ----------
182
183 bool getEncoderTimedRaw(int j, double * encs, double * time) override
184 { return impl->getEncoderTimedRaw(j, encs, time); }
185
186 bool getEncodersTimedRaw(double * encs, double * time) override
187 { return impl->getEncodersTimedRaw(encs, time); }
188
189 // ---------- IImpedanceControlRaw declarations. Implementation in IImpedanceControlRawImpl.cpp ----------
190
191 //bool getAxes(int * ax) override;
192
193 bool getImpedanceRaw(int j, double * stiffness, double * damping) override
194 { return impl->getImpedanceRaw(j, stiffness, damping); }
195
196 bool setImpedanceRaw(int j, double stiffness, double damping) override
197 { return impl->setImpedanceRaw(j, stiffness, damping); }
198
199 bool setImpedanceOffsetRaw(int j, double offset) override
200 { return impl->setImpedanceOffsetRaw(j, offset); }
201
202 bool getImpedanceOffsetRaw(int j, double * offset) override
203 { return impl->getImpedanceOffsetRaw(j, offset); }
204
205 bool getCurrentImpedanceLimitRaw(int j, double * min_stiff, double * max_stiff, double * min_damp, double * max_damp) override
206 { return impl->getCurrentImpedanceLimitRaw(j, min_stiff, max_stiff, min_damp, max_damp); }
207
208 // ---------- IInteractionModeRaw declarations. Implementation in IInteractionModeRawImpl.cpp ----------
209
210 bool getInteractionModeRaw(int axis, yarp::dev::InteractionModeEnum * mode) override
211 { return impl->getInteractionModeRaw(axis, mode); }
212
213 bool getInteractionModesRaw(int n_joints, int * joints, yarp::dev::InteractionModeEnum * modes) override
214 { return impl->getInteractionModesRaw(n_joints, joints, modes); }
215
216 bool getInteractionModesRaw(yarp::dev::InteractionModeEnum * modes) override
217 { return impl->getInteractionModesRaw(modes); }
218
219 bool setInteractionModeRaw(int axis, yarp::dev::InteractionModeEnum mode) override
220 { return impl->setInteractionModeRaw(axis, mode); }
221
222 bool setInteractionModesRaw(int n_joints, int * joints, yarp::dev::InteractionModeEnum * modes) override
223 { return impl->setInteractionModesRaw(n_joints, joints, modes); }
224
225 bool setInteractionModesRaw(yarp::dev::InteractionModeEnum * modes) override
226 { return impl->setInteractionModesRaw(modes); }
227
228 // ---------- IJointFaultRaw declarations. Implementation in IJointFaultRawImpl.cpp ----------
229
230 bool getLastJointFaultRaw(int j, int & fault, std::string & message) override
231 { return impl->getLastJointFaultRaw(j, fault, message); }
232
233 // --------- IMotorRaw declarations. Implementation in IMotorRawImpl.cpp ---------
234
235 bool getNumberOfMotorsRaw(int * num) override
236 { return impl->getNumberOfMotorsRaw(num); }
237
238 bool getTemperatureRaw(int m, double * val) override
239 { return impl->getTemperatureRaw(m, val); }
240
241 bool getTemperaturesRaw(double * vals) override
242 { return impl->getTemperaturesRaw(vals); }
243
244 bool getTemperatureLimitRaw(int m, double * temp) override
245 { return impl->getTemperatureLimitRaw(m, temp); }
246
247 bool setTemperatureLimitRaw(int m, double temp) override
248 { return impl->setTemperatureLimitRaw(m, temp); }
249
250 bool getGearboxRatioRaw(int m, double * val) override
251 { return impl->getGearboxRatioRaw(m, val); }
252
253 bool setGearboxRatioRaw(int m, double val) override
254 { return impl->setGearboxRatioRaw(m, val); }
255
256 // --------- IMotorEncodersRaw declarations. Implementation in IMotorEncodersRawImpl.cpp ---------
257
258 bool getNumberOfMotorEncodersRaw(int * num) override
259 { return impl->getNumberOfMotorEncodersRaw(num); }
260
261 bool resetMotorEncoderRaw(int m) override
262 { return impl->resetMotorEncoderRaw(m); }
263
264 bool resetMotorEncodersRaw() override
265 { return impl->resetMotorEncodersRaw(); }
266
267 bool setMotorEncoderCountsPerRevolutionRaw(int m, double cpr) override
268 { return impl->setMotorEncoderCountsPerRevolutionRaw(m, cpr); }
269
270 bool getMotorEncoderCountsPerRevolutionRaw(int m, double * cpr) override
271 { return impl->getMotorEncoderCountsPerRevolutionRaw(m, cpr); }
272
273 bool setMotorEncoderRaw(int m, double val) override
274 { return impl->setMotorEncoderRaw(m, val); }
275
276 bool setMotorEncodersRaw(const double * vals) override
277 { return impl->setMotorEncodersRaw(vals); }
278
279 bool getMotorEncoderRaw(int m, double * v) override
280 { return impl->getMotorEncoderRaw(m, v); }
281
282 bool getMotorEncodersRaw(double * encs) override
283 { return impl->getMotorEncodersRaw(encs); }
284
285 bool getMotorEncoderTimedRaw(int m, double * encs, double * stamp) override
286 { return impl->getMotorEncoderTimedRaw(m, encs, stamp); }
287
288 bool getMotorEncodersTimedRaw(double * encs, double * stamps) override
289 { return impl->getMotorEncodersTimedRaw(encs, stamps); }
290
291 bool getMotorEncoderSpeedRaw(int m, double * sp) override
292 { return impl->getMotorEncoderSpeedRaw(m, sp); }
293
294 bool getMotorEncoderSpeedsRaw(double * spds) override
295 { return impl->getMotorEncoderSpeedsRaw(spds); }
296
297 bool getMotorEncoderAccelerationRaw(int m, double * spds) override
298 { return impl->getMotorEncoderAccelerationRaw(m, spds); }
299
300 bool getMotorEncoderAccelerationsRaw(double * vaccs) override
301 { return impl->getMotorEncoderAccelerationsRaw(vaccs); }
302
303 // --------- IPidControlRaw declarations. Implementation in IPidControlRawImpl.cpp ---------
304
305 bool setPidRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j, const yarp::dev::Pid & pid) override
306 { return impl->setPidRaw(pidtype, j, pid); }
307
308 bool setPidsRaw(const yarp::dev::PidControlTypeEnum & pidtype, const yarp::dev::Pid * pids) override
309 { return impl->setPidsRaw(pidtype, pids); }
310
311 bool setPidReferenceRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j, double ref) override
312 { return impl->setPidReferenceRaw(pidtype, j, ref); }
313
314 bool setPidReferencesRaw(const yarp::dev::PidControlTypeEnum & pidtype, const double * refs) override
315 { return impl->setPidReferencesRaw(pidtype, refs); }
316
317 bool setPidErrorLimitRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j, double limit) override
318 { return impl->setPidErrorLimitRaw(pidtype, j, limit); }
319
320 bool setPidErrorLimitsRaw(const yarp::dev::PidControlTypeEnum & pidtype, const double * limits) override
321 { return impl->setPidErrorLimitsRaw(pidtype, limits); }
322
323 bool getPidErrorRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j, double * err) override
324 { return impl->getPidErrorRaw(pidtype, j, err); }
325
326 bool getPidErrorsRaw(const yarp::dev::PidControlTypeEnum & pidtype, double * errs) override
327 { return impl->getPidErrorsRaw(pidtype, errs); }
328
329 bool getPidOutputRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j, double * out) override
330 { return impl->getPidOutputRaw(pidtype, j, out); }
331
332 bool getPidOutputsRaw(const yarp::dev::PidControlTypeEnum & pidtype, double * outs) override
333 { return impl->getPidOutputsRaw(pidtype, outs); }
334
335 bool getPidRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j, yarp::dev::Pid * pid) override
336 { return impl->getPidRaw(pidtype, j, pid); }
337
338 bool getPidsRaw(const yarp::dev::PidControlTypeEnum & pidtype, yarp::dev::Pid * pids) override
339 { return impl->getPidsRaw(pidtype, pids); }
340
341 bool getPidReferenceRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j, double * ref) override
342 { return impl->getPidReferenceRaw(pidtype, j, ref); }
343
344 bool getPidReferencesRaw(const yarp::dev::PidControlTypeEnum & pidtype, double * refs) override
345 { return impl->getPidReferencesRaw(pidtype, refs); }
346
347 bool getPidErrorLimitRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j, double * limit) override
348 { return impl->getPidErrorLimitRaw(pidtype, j, limit); }
349
350 bool getPidErrorLimitsRaw(const yarp::dev::PidControlTypeEnum & pidtype, double * limits) override
351 { return impl->getPidErrorLimitsRaw(pidtype, limits); }
352
353 bool resetPidRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j) override
354 { return impl->resetPidRaw(pidtype, j); }
355
356 bool disablePidRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j) override
357 { return impl->disablePidRaw(pidtype, j); }
358
359 bool enablePidRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j) override
360 { return impl->enablePidRaw(pidtype, j); }
361
362 bool setPidOffsetRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j, double v) override
363 { return impl->setPidOffsetRaw(pidtype, j, v); }
364
365 bool isPidEnabledRaw(const yarp::dev::PidControlTypeEnum & pidtype, int j, bool * enabled) override
366 { return impl->isPidEnabledRaw(pidtype, j, enabled); }
367
368 // ------- IPositionControlRaw declarations. Implementation in IPositionControlRawImpl.cpp -------
369
370 //bool getAxes(int * ax) override;
371
372 bool positionMoveRaw(int j, double ref) override
373 { return impl->positionMoveRaw(j, ref); }
374
375 bool positionMoveRaw(const double * refs) override
376 { return impl->positionMoveRaw(refs); }
377
378 bool positionMoveRaw(int n_joint, const int * joints, const double * refs) override
379 { return impl->positionMoveRaw(n_joint, joints, refs); }
380
381 bool relativeMoveRaw(int j, double delta) override
382 { return impl->relativeMoveRaw(j, delta); }
383
384 bool relativeMoveRaw(const double * deltas) override
385 { return impl->relativeMoveRaw(deltas); }
386
387 bool relativeMoveRaw(int n_joint, const int * joints, const double * deltas) override
388 { return impl->relativeMoveRaw(n_joint, joints, deltas); }
389
390 bool checkMotionDoneRaw(int j, bool * flag) override
391 { return impl->checkMotionDoneRaw(j, flag); }
392
393 bool checkMotionDoneRaw(bool * flag) override
394 { return impl->checkMotionDoneRaw(flag); }
395
396 bool checkMotionDoneRaw(int n_joint, const int * joints, bool * flag) override
397 { return impl->checkMotionDoneRaw(n_joint, joints, flag); }
398
399 bool setRefSpeedRaw(int j, double sp) override
400 { return impl->setRefSpeedRaw(j, sp); }
401
402 bool setRefSpeedsRaw(const double * spds) override
403 { return impl->setRefSpeedsRaw(spds); }
404
405 bool setRefSpeedsRaw(int n_joint, const int * joints, const double * spds) override
406 { return impl->setRefSpeedsRaw(n_joint, joints, spds); }
407
408 bool setRefAccelerationRaw(int j, double acc) override
409 { return impl->setRefAccelerationRaw(j, acc); }
410
411 bool setRefAccelerationsRaw(const double * accs) override
412 { return impl->setRefAccelerationsRaw(accs); }
413
414 bool setRefAccelerationsRaw(int n_joint, const int * joints, const double * accs) override
415 { return impl->setRefAccelerationsRaw(n_joint, joints, accs); }
416
417 bool getRefSpeedRaw(int j, double * ref) override
418 { return impl->getRefSpeedRaw(j, ref); }
419
420 bool getRefSpeedsRaw(double * spds) override
421 { return impl->getRefSpeedsRaw(spds); }
422
423 bool getRefSpeedsRaw(int n_joint, const int * joints, double * spds) override
424 { return impl->getRefSpeedsRaw(n_joint, joints, spds); }
425
426 bool getRefAccelerationRaw(int j, double * acc) override
427 { return impl->getRefAccelerationRaw(j, acc); }
428
429 bool getRefAccelerationsRaw(double * accs) override
430 { return impl->getRefAccelerationsRaw(accs); }
431
432 bool getRefAccelerationsRaw(int n_joint, const int * joints, double * accs) override
433 { return impl->getRefAccelerationsRaw(n_joint, joints, accs); }
434
435 bool stopRaw(int j) override
436 { return impl->stopRaw(j); }
437
438 bool stopRaw() override
439 { return impl->stopRaw(); }
440
441 bool stopRaw(int n_joint, const int * joints) override
442 { return impl->stopRaw(n_joint, joints); }
443
444 bool getTargetPositionRaw(int joint, double * ref) override
445 { return impl->getTargetPositionRaw(joint, ref); }
446
447 bool getTargetPositionsRaw(double * refs) override
448 { return impl->getTargetPositionsRaw(refs); }
449
450 bool getTargetPositionsRaw(int n_joint, const int * joints, double * refs) override
451 { return impl->getTargetPositionsRaw(n_joint, joints, refs); }
452
453 // ------- IPositionDirectRaw declarations. Implementation in IPositionDirectRawImpl.cpp -------
454
455 //bool getAxes(int * ax) override;
456
457 bool setPositionRaw(int j, double ref) override
458 { return impl->setPositionRaw(j, ref); }
459
460 bool setPositionsRaw(const double * refs) override
461 { return impl->setPositionsRaw(refs); }
462
463 bool setPositionsRaw(int n_joint, const int * joints, const double * refs) override
464 { return impl->setPositionsRaw(n_joint, joints, refs); }
465
466 bool getRefPositionRaw(int joint, double * ref) override
467 { return impl->getRefPositionRaw(joint, ref); }
468
469 bool getRefPositionsRaw(double * refs) override
470 { return impl->getRefPositionsRaw(refs); }
471
472 bool getRefPositionsRaw(int n_joint, const int * joints, double * refs) override
473 { return impl->getRefPositionsRaw(n_joint, joints, refs); }
474
475 // ------- IRemoteVariablesRaw declarations. Implementation in IRemoteVariablesRawImpl.cpp -------
476
477 bool getRemoteVariableRaw(std::string key, yarp::os::Bottle & val) override
478 { return impl->getRemoteVariableRaw(key, val); }
479
480 bool setRemoteVariableRaw(std::string key, const yarp::os::Bottle & val) override
481 { return impl->setRemoteVariableRaw(key, val); }
482
483 bool getRemoteVariablesListRaw(yarp::os::Bottle * listOfKeys) override
484 { return impl->getRemoteVariablesListRaw(listOfKeys); }
485
486 // -------- ITorqueControlRaw declarations. Implementation in ITorqueControlRawImpl.cpp --------
487
488 //bool getAxes(int * ax) override;
489
490 bool getRefTorqueRaw(int j, double * t) override
491 { return impl->getRefTorqueRaw(j, t); }
492
493 bool getRefTorquesRaw(double * t) override
494 { return impl->getRefTorquesRaw(t); }
495
496 bool setRefTorqueRaw(int j, double t) override
497 { return impl->setRefTorqueRaw(j, t); }
498
499 bool setRefTorquesRaw(int n_joint, const int * joints, const double * t) override
500 { return impl->setRefTorquesRaw(n_joint, joints, t); }
501
502 bool setRefTorquesRaw(const double * t) override
503 { return impl->setRefTorquesRaw(t); }
504
505 bool getTorqueRaw(int j, double * t) override
506 { return impl->getTorqueRaw(j, t); }
507
508 bool getTorquesRaw(double * t) override
509 { return impl->getTorquesRaw(t); }
510
511 bool getTorqueRangeRaw(int j, double * min, double * max) override
512 { return impl->getTorqueRangeRaw(j, min, max); }
513
514 bool getTorqueRangesRaw(double * min, double * max) override
515 { return impl->getTorqueRangesRaw(min, max); }
516
517 bool getMotorTorqueParamsRaw(int j, yarp::dev::MotorTorqueParameters * params) override
518 { return impl->getMotorTorqueParamsRaw(j, params); }
519
520 bool setMotorTorqueParamsRaw(int j, const yarp::dev::MotorTorqueParameters params) override
521 { return impl->setMotorTorqueParamsRaw(j, params); }
522
523 // --------- IVelocityControlRaw declarations. Implementation in IVelocityControlRawImpl.cpp ---------
524
525 //bool getAxes(int * ax) override;
526
527 bool velocityMoveRaw(int j, double sp) override
528 { return impl->velocityMoveRaw(j, sp); }
529
530 bool velocityMoveRaw(const double * sp) override
531 { return impl->velocityMoveRaw(sp); }
532
533 bool velocityMoveRaw(int n_joint, const int * joints, const double * spds) override
534 { return impl->velocityMoveRaw(n_joint, joints, spds); }
535
536 bool getRefVelocityRaw(int joint, double * vel) override
537 { return impl->getRefVelocityRaw(joint, vel); }
538
539 bool getRefVelocitiesRaw(double * vels) override
540 { return impl->getRefVelocitiesRaw(vels); }
541
542 bool getRefVelocitiesRaw(int n_joint, const int * joints, double * vels) override
543 { return impl->getRefVelocitiesRaw(n_joint, joints, vels); }
544
545 //bool setRefAccelerationRaw(int j, double acc) override;
546 //bool setRefAccelerationsRaw(const double * accs) override;
547 //bool setRefAccelerationsRaw(int n_joint, const int * joints, const double * accs) override;
548 //bool getRefAccelerationRaw(int j, double * acc) override;
549 //bool getRefAccelerationsRaw(double * accs) override;
550 //bool getRefAccelerationsRaw(int n_joint, const int * joints, double * accs) override;
551 //bool stopRaw(int j) override;
552 //bool stopRaw() override;
553 //bool stopRaw(int n_joint, const int *joints) override;
554
555private:
556
557 roboticslab::TechnosoftIposBase * impl {nullptr};
558};
559
560#endif // __TECHNOSOFT_IPOS_HPP__
Definition TechnosoftIpos_ParamsParser.h:90
Implementation for the Technosoft iPOS as a single CAN bus joint (control board raw interfaces).
Definition TechnosoftIpos.hpp:39
bool initialize() override
Perform CAN node initialization.
Definition TechnosoftIpos.hpp:61
bool registerSender(roboticslab::ICanSenderDelegate *sender) override
Pass a handle to a CAN sender delegate instance.
Definition TechnosoftIpos.hpp:67
bool finalize() override
Finalize CAN node communications.
Definition TechnosoftIpos.hpp:64
bool synchronize(double timestamp) override
Perform synchronized action on CAN master's request.
Definition TechnosoftIpos.hpp:70
unsigned int getId() override
Retrieve CAN node ID.
Definition TechnosoftIpos.hpp:52
bool notifyMessage(const roboticslab::can_message &message) override
Notify observers that a new CAN message has arrived.
Definition TechnosoftIpos.hpp:58
std::vector< unsigned int > getAdditionalIds() override
Retrieve more associated CAN node IDs, if any.
Definition TechnosoftIpos.hpp:55
Abstract base for a CAN bus sharer.
Definition ICanBusSharer.hpp:25
virtual bool synchronize(double timestamp)=0
Perform synchronized action on CAN master's request.
Implementation-agnostic consumer for TX CAN transfers.
Definition ICanSenderDelegate.hpp:22
Base class for all proxied TechnosoftIpos implementations.
Definition TechnosoftIposBase.hpp:74
unsigned int getId() override
Retrieve CAN node ID.
Definition ICanBusSharerImpl.cpp:39
bool initialize() override
Perform CAN node initialization.
Definition ICanBusSharerImpl.cpp:67
std::vector< unsigned int > getAdditionalIds() override
Retrieve more associated CAN node IDs, if any.
Definition ICanBusSharerImpl.cpp:46
bool notifyMessage(const can_message &message) override
Notify observers that a new CAN message has arrived.
Definition ICanBusSharerImpl.cpp:176
bool registerSender(ICanSenderDelegate *sender) override
Pass a handle to a CAN sender delegate instance.
Definition ICanBusSharerImpl.cpp:58
bool finalize() override
Finalize CAN node communications.
Definition ICanBusSharerImpl.cpp:134
Proxy CAN message structure.
Definition CanMessage.hpp:20