-
Notifications
You must be signed in to change notification settings - Fork 55
Expand file tree
/
Copy pathtinymovr_1_5_x.yaml
More file actions
518 lines (517 loc) · 18.2 KB
/
tinymovr_1_5_x.yaml
File metadata and controls
518 lines (517 loc) · 18.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
name: tm
version: 1.0.1.b1
remote_attributes:
- name: protocol_hash
dtype: uint32
getter_name: _avlos_get_proto_hash
summary: The Avlos protocol hash.
- name: uid
dtype: uint32
getter_name: system_get_uid
summary: The unique device ID, unique to each PAC55xx chip produced.
- name: Vbus
dtype: float
unit: volt
meta: {dynamic: True}
getter_name: system_get_Vbus
summary: The measured bus voltage.
- name: Ibus
dtype: float
unit: ampere
meta: {dynamic: True}
getter_name: controller_get_Ibus_est
summary: The estimated bus current. Only estimates current drawn by motor.
- name: power
dtype: float
unit: watt
meta: {dynamic: True}
getter_name: controller_get_power_est
summary: The estimated power. Only estimates power drawn by motor.
- name: temp
dtype: float
unit: degC
meta: {dynamic: True}
getter_name: adc_get_mcu_temp
summary: The internal temperature of the PAC55xx MCU.
- name: calibrated
dtype: bool
meta: {dynamic: True}
getter_name: system_get_calibrated
summary: Whether the system has been calibrated.
- name: errors
flags: [UNDERVOLTAGE, DRIVER_FAULT]
meta: {dynamic: True}
getter_name: system_get_errors
summary: Any system errors, as a bitmask
- name: save_config
summary: Save configuration to non-volatile memory.
caller_name: nvm_save_config
dtype: void
arguments: []
- name: erase_config
summary: Erase the config stored in non-volatile memory and reset the device.
caller_name: nvm_erase
dtype: void
arguments: []
meta: {reload_data: True}
- name: reset
summary: Reset the device.
caller_name: system_reset
dtype: void
arguments: []
meta: {reload_data: True}
- name: scheduler
remote_attributes:
- name: total
dtype: uint32
meta: {dynamic: True}
getter_name: Scheduler_GetTotalCycles
summary: Total processor cycles in a single PWM cycle.
- name: busy
dtype: uint32
meta: {dynamic: True}
getter_name: Scheduler_GetBusyCycles
summary: Busy processor cycles in a single PWM cycle.
- name: errors
flags: [CONTROL_BLOCK_REENTERED]
meta: {dynamic: True}
getter_name: controller_get_errors
summary: Any scheduler errors, as a bitmask
- name: controller
remote_attributes:
- name: state
dtype: uint8
meta: {dynamic: True}
getter_name: controller_get_state
setter_name: controller_set_state
summary: The state of the controller.
- name: mode
dtype: uint8
meta: {dynamic: True}
getter_name: controller_get_mode
setter_name: controller_set_mode
summary: The control mode of the controller.
- name: warnings
meta: {dynamic: True}
flags: [VELOCITY_LIMITED, CURRENT_LIMITED, MODULATION_LIMITED]
getter_name: controller_get_warnings
summary: Any controller warnings, as a bitmask
- name: errors
meta: {dynamic: True}
flags: [CURRENT_LIMIT_EXCEEDED]
getter_name: controller_get_errors
summary: Any controller errors, as a bitmask
- name: position
remote_attributes:
- name: setpoint
dtype: float
unit: tick
getter_name: controller_get_pos_setpoint_user_frame
setter_name: controller_set_pos_setpoint_user_frame
summary: The position setpoint.
- name: p_gain
dtype: float
meta: {export: True}
getter_name: controller_get_pos_gain
setter_name: controller_set_pos_gain
summary: The proportional gain of the position controller.
- name: velocity
remote_attributes:
- name: setpoint
dtype: float
unit: tick/sec
getter_name: controller_get_vel_setpoint_user_frame
setter_name: controller_set_vel_setpoint_user_frame
summary: The velocity setpoint.
- name: limit
dtype: float
unit: tick/sec
meta: {export: True}
getter_name: controller_get_vel_limit
setter_name: controller_set_vel_limit
summary: The velocity limit.
- name: p_gain
dtype: float
meta: {export: True}
getter_name: controller_get_vel_gain
setter_name: controller_set_vel_gain
summary: The proportional gain of the velocity controller.
- name: i_gain
dtype: float
meta: {export: True}
getter_name: controller_get_vel_integrator_gain
setter_name: controller_set_vel_integrator_gain
summary: The integral gain of the velocity controller.
- name: deadband
dtype: float
unit: tick
meta: {export: True}
getter_name: controller_get_vel_integrator_deadband
setter_name: controller_set_vel_integrator_deadband
rst_target: integrator-deadband
summary: The deadband of the velocity integrator. A region around the position setpoint where the velocity integrator is not updated.
- name: increment
dtype: float
meta: {export: True}
getter_name: controller_get_vel_increment
setter_name: controller_set_vel_increment
summary: Max velocity setpoint increment (ramping) rate. Set to 0 to disable.
- name: current
remote_attributes:
- name: Iq_setpoint
dtype: float
unit: ampere
getter_name: controller_get_Iq_setpoint_user_frame
setter_name: controller_set_Iq_setpoint_user_frame
summary: The Iq setpoint.
- name: Id_setpoint
dtype: float
unit: ampere
meta: {dynamic: True}
getter_name: controller_get_Id_setpoint_user_frame
summary: The Id setpoint.
- name: Iq_limit
dtype: float
unit: ampere
getter_name: controller_get_Iq_limit
setter_name: controller_set_Iq_limit
summary: The Iq limit.
- name: Iq_estimate
dtype: float
unit: ampere
meta: {dynamic: True}
getter_name: controller_get_Iq_estimate_user_frame
summary: The Iq estimate.
- name: bandwidth
dtype: float
unit: Hz
meta: {export: True}
getter_name: controller_get_I_bw
setter_name: controller_set_I_bw
summary: The current controller bandwidth.
- name: Iq_p_gain
dtype: float
getter_name: controller_get_Iq_gain
summary: The current controller proportional gain.
- name: max_Ibus_regen
dtype: float
unit: ampere
getter_name: controller_get_max_Ibus_regen
setter_name: controller_set_max_Ibus_regen
summary: The max current allowed to be fed back to the power source before flux braking activates.
- name: max_Ibrake
dtype: float
unit: ampere
meta: {export: True}
getter_name: controller_get_max_Ibrake
setter_name: controller_set_max_Ibrake
summary: The max current allowed to be dumped to the motor windings during flux braking. Set to zero to deactivate flux braking.
- name: voltage
remote_attributes:
- name: Vq_setpoint
dtype: float
unit: volt
meta: {dynamic: True}
getter_name: controller_get_Vq_setpoint_user_frame
summary: The Vq setpoint.
- name: calibrate
summary: Calibrate the device.
caller_name: controller_calibrate
dtype: void
arguments: []
- name: idle
summary: Set idle mode, disabling the driver.
caller_name: controller_idle
dtype: void
arguments: []
- name: position_mode
summary: Set position control mode.
caller_name: controller_position_mode
dtype: void
arguments: []
- name: velocity_mode
summary: Set velocity control mode.
caller_name: controller_velocity_mode
dtype: void
arguments: []
- name: current_mode
summary: Set current control mode.
caller_name: controller_current_mode
dtype: void
arguments: []
- name: set_pos_vel_setpoints
summary: Set the position and velocity setpoints in one go, and retrieve the position estimate
caller_name: controller_set_pos_vel_setpoints
dtype: float
arguments:
- name: pos_setpoint
dtype: float
- name: vel_setpoint
dtype: float
- name: comms
remote_attributes:
- name: can
remote_attributes:
- name: rate
dtype: uint32
meta: {export: True}
getter_name: CAN_get_kbit_rate
setter_name: CAN_set_kbit_rate
rst_target: api-can-rate
summary: The baud rate of the CAN interface.
- name: id
dtype: uint32
meta: {export: True, reload_data: True}
getter_name: CAN_get_ID
setter_name: CAN_set_ID
summary: The ID of the CAN interface.
- name: motor
remote_attributes:
- name: R
dtype: float
unit: ohm
meta: {dynamic: True, export: True}
getter_name: motor_get_phase_resistance
setter_name: motor_set_phase_resistance
summary: The motor Resistance value.
- name: L
dtype: float
unit: henry
meta: {dynamic: True, export: True}
getter_name: motor_get_phase_inductance
setter_name: motor_set_phase_inductance
summary: The motor Inductance value.
- name: pole_pairs
dtype: uint8
meta: {dynamic: True, export: True}
getter_name: motor_get_pole_pairs
setter_name: motor_set_pole_pairs
summary: The motor pole pair count.
- name: type
#values: [HIGH_CURRENT, GIMBAL]
dtype: uint8
meta: {export: True}
getter_name: motor_get_is_gimbal
setter_name: motor_set_is_gimbal
summary: The type of the motor. Either high current or gimbal.
- name: offset
dtype: float
meta: {export: True}
getter_name: motor_get_user_offset
setter_name: motor_set_user_offset
summary: User-defined offset of the motor.
- name: direction
dtype: int8
meta: {export: True}
getter_name: motor_get_user_direction
setter_name: motor_set_user_direction
summary: User-defined direction of the motor.
- name: calibrated
dtype: bool
meta: {dynamic: True}
getter_name: motor_get_calibrated
summary: Whether the motor has been calibrated.
- name: I_cal
dtype: float
unit: ampere
meta: {export: True}
getter_name: motor_get_I_cal
setter_name: motor_set_I_cal
summary: The calibration current.
- name: errors
flags: [PHASE_RESISTANCE_OUT_OF_RANGE, PHASE_INDUCTANCE_OUT_OF_RANGE,INVALID_POLE_PAIRS]
meta: {dynamic: True}
getter_name: motor_get_errors
summary: Any motor/calibration errors, as a bitmask
# - name: phase_currents
# remote_attributes:
# - name: U
# dtype: float
# unit: ampere
# getter_name: motor_get_IU
# summary: Measured current in phase U.
# - name: V
# dtype: float
# unit: ampere
# getter_name: motor_get_IV
# summary: Measured current in phase V.
# - name: W
# dtype: float
# unit: ampere
# getter_name: motor_get_IW
# summary: Measured current in phase W.
- name: encoder
remote_attributes:
- name: position_estimate
dtype: float
unit: ticks
meta: {dynamic: True}
getter_name: observer_get_pos_estimate
summary: The filtered encoder position estimate.
- name: velocity_estimate
dtype: float
unit: ticks/second
meta: {dynamic: True}
getter_name: observer_get_vel_estimate
summary: The filtered encoder velocity estimate.
- name: type
#values: [INTERNAL, HALL]
dtype: uint8
meta: {export: True}
getter_name: encoder_get_type
setter_name: encoder_set_type
summary: The encoder type. Either INTERNAL or HALL.
- name: bandwidth
dtype: float
unit: Hz
meta: {export: True}
getter_name: observer_get_bw
setter_name: observer_set_bw
summary: The encoder observer bandwidth.
- name: calibrated
dtype: bool
meta: {dynamic: True}
getter_name: encoder_get_calibrated
summary: Whether the encoder has been calibrated.
- name: errors
flags: [CALIBRATION_FAILED, READING_UNSTABLE]
meta: {dynamic: True}
getter_name: encoder_get_errors
summary: Any encoder errors, as a bitmask
- name: traj_planner
remote_attributes:
- name: max_accel
dtype: float
unit: ticks/s
meta: {export: True}
getter_name: planner_get_max_accel
setter_name: planner_set_max_accel
summary: The max allowed acceleration of the generated trajectory.
- name: max_decel
dtype: float
unit: ticks/second/second
meta: {export: True}
getter_name: planner_get_max_decel
setter_name: planner_set_max_decel
summary: The max allowed deceleration of the generated trajectory.
- name: max_vel
dtype: float
unit: ticks/second
meta: {export: True}
getter_name: planner_get_max_vel
setter_name: planner_set_max_vel
summary: The max allowed cruise velocity of the generated trajectory.
- name: t_accel
dtype: float
unit: second
meta: {export: True}
getter_name: planner_get_deltat_accel
setter_name: planner_set_deltat_accel
summary: In time mode, the acceleration time of the generated trajectory.
- name: t_decel
dtype: float
unit: second
meta: {export: True}
getter_name: planner_get_deltat_decel
setter_name: planner_set_deltat_decel
summary: In time mode, the deceleration time of the generated trajectory.
- name: t_total
dtype: float
unit: second
meta: {export: True}
getter_name: planner_get_deltat_total
setter_name: planner_set_deltat_total
summary: In time mode, the total time of the generated trajectory.
- name: move_to
summary: Move to target position respecting velocity and acceleration limits.
caller_name: planner_move_to_vlimit
dtype: void
arguments:
- name: pos_setpoint
dtype: float
- name: move_to_tlimit
summary: Move to target position respecting time limits for each sector.
caller_name: planner_move_to_tlimit
dtype: void
arguments:
- name: pos_setpoint
dtype: float
- name: errors
flags: [INVALID_INPUT, VCRUISE_OVER_LIMIT]
getter_name: planner_get_errors
summary: Any errors in the trajectory planner, as a bitmask
- name: homing
remote_attributes:
- name: velocity
dtype: float
unit: ticks/s
meta: {export: True}
getter_name: homing_planner_get_homing_velocity
setter_name: homing_planner_set_homing_velocity
summary: The velocity at which the motor performs homing.
- name: max_homing_t
dtype: float
unit: s
meta: {export: True}
getter_name: homing_planner_get_max_homing_t
setter_name: homing_planner_set_max_homing_t
summary: The maximum time the motor is allowed to travel before homing times out and aborts.
- name: retract_dist
dtype: float
unit: ticks
meta: {export: True}
getter_name: homing_planner_get_retract_distance
setter_name: homing_planner_set_retract_distance
summary: The retraction distance the motor travels after the endstop has been found.
- name: warnings
meta: {dynamic: True}
flags: [HOMING_TIMEOUT]
getter_name: homing_planner_get_warnings
summary: Any homing warnings, as a bitmask
- name: stall_detect
remote_attributes:
- name: velocity
dtype: float
unit: ticks/s
meta: {export: True}
getter_name: homing_planner_get_max_stall_vel
setter_name: homing_planner_set_max_stall_vel
summary: The velocity below which (and together with `stall_detect.delta_pos`) stall detection mode is triggered.
- name: delta_pos
dtype: float
unit: ticks
meta: {export: True}
getter_name: homing_planner_get_max_stall_delta_pos
setter_name: homing_planner_set_max_stall_delta_pos
summary: The velocity below which (and together with `stall_detect.delta_pos`) stall detection mode is triggered.
- name: t
dtype: float
unit: s
meta: {export: True}
getter_name: homing_planner_get_max_stall_t
setter_name: homing_planner_set_max_stall_t
summary: The time to remain in stall detection mode before the motor is considered stalled.
- name: home
summary: Perform the homing operation.
caller_name: homing_planner_home
dtype: void
arguments: []
- name: watchdog
remote_attributes:
- name: enabled
dtype: bool
getter_name: Watchdog_get_enabled
setter_name: Watchdog_set_enabled
summary: Whether the watchdog is enabled or not.
- name: triggered
dtype: bool
meta: {dynamic: True}
getter_name: Watchdog_triggered
summary: Whether the watchdog has been triggered or not.
- name: timeout
dtype: float
unit: s
meta: {export: True}
getter_name: Watchdog_get_timeout_seconds
setter_name: Watchdog_set_timeout_seconds
summary: The watchdog timeout period.