@@ -36,7 +36,7 @@ enum speed_grade_t {
36
36
#include < chrono>
37
37
using namespace std ::chrono;
38
38
39
- class MotorsWrapper ;
39
+ class Servo ;
40
40
41
41
class BraccioClass
42
42
{
@@ -53,25 +53,16 @@ class BraccioClass
53
53
bool connected (int const id);
54
54
55
55
56
- MotorsWrapper move (int const id);
57
- MotorsWrapper get (int const id);
56
+ Servo move (int const id);
57
+ Servo get (int const id);
58
58
59
59
void moveTo (float const a1, float const a2, float const a3, float const a4, float const a5, float const a6);
60
60
void positions (float * buffer);
61
61
void positions (float & a1, float & a2, float & a3, float & a4, float & a5, float & a6);
62
62
63
-
64
- void speed (speed_grade_t speed_grade) {
65
- runTime = speed_grade;
66
- }
67
-
68
- void disengage (int id = SmartServoClass::BROADCAST) {
69
- servos.disengage (id);
70
- }
71
-
72
- void engage (int id = SmartServoClass::BROADCAST) {
73
- servos.engage (id);
74
- }
63
+ inline void speed (speed_grade_t const speed_grade) { runTime = speed_grade; }
64
+ inline void disengage (int const id = SmartServoClass::BROADCAST) { servos.disengage (id); }
65
+ inline void engage (int const id = SmartServoClass::BROADCAST) { servos.engage (id); }
75
66
76
67
int getKey ();
77
68
void connectJoystickTo (lv_obj_t * obj);
@@ -173,46 +164,33 @@ class BraccioClass
173
164
174
165
#define Braccio BraccioClass::get_default_instance ()
175
166
176
- class MotorsWrapper {
167
+ class Servo
168
+ {
177
169
public:
178
- MotorsWrapper (SmartServoClass & servos, int idx) : _servos (servos), _idx (idx) {}
179
- MotorsWrapper& to (float angle) {
180
- _servos.setPosition (_idx, angle, _speed);
181
- return *this ;
182
- }
183
- MotorsWrapper& in (std::chrono::milliseconds len) {
184
- _servos.setTime (_idx, len.count ());
185
- return *this ;
186
- }
187
- MotorsWrapper& move () {
188
- return *this ;
189
- }
190
- float position () {
191
- return _servos.getPosition (_idx);
192
- }
193
170
194
- inline bool connected () { return Braccio.connected (_idx); }
171
+ Servo (SmartServoClass & servos, int const id) : _servos (servos), _id (id) { }
172
+
173
+ inline void disengage () { _servos.disengage (_id); }
174
+ inline void engage () { _servos.engage (_id); }
175
+ inline bool engaged () { return _servos.isEngaged (_id); }
176
+
177
+ inline Servo & move () { return *this ; }
178
+ inline Servo & to (float const angle) { _servos.setPosition (_id, angle, _speed); return *this ; }
179
+ inline Servo & in (std::chrono::milliseconds const len) { _servos.setTime (_id, len.count ()); return *this ; }
180
+
181
+ inline float position () { return _servos.getPosition (_id); }
182
+ inline bool connected () { return Braccio.connected (_id); }
183
+ inline void info (Stream & stream) { _servos.getInfo (stream, _id); }
184
+
185
+ operator bool () { return connected (); }
195
186
196
- operator bool () {
197
- return connected ();
198
- }
199
- void info (Stream& stream) {
200
- _servos.getInfo (stream, _idx);
201
- }
202
- void disengage () {
203
- _servos.disengage (_idx);
204
- }
205
- void engage () {
206
- _servos.engage (_idx);
207
- }
208
- bool engaged () {
209
- return _servos.isEngaged (_idx);
210
- }
211
187
212
188
private:
189
+
213
190
SmartServoClass & _servos;
214
- int _idx;
215
- int _speed = 100 ;
191
+ int const _id;
192
+ int const _speed = 100 ;
193
+
216
194
};
217
195
218
196
struct __callback__container__ {
0 commit comments