-
Notifications
You must be signed in to change notification settings - Fork 55
Expand file tree
/
Copy pathtinymovr_2_3_x.yaml
More file actions
622 lines (621 loc) · 23.6 KB
/
tinymovr_2_3_x.yaml
File metadata and controls
622 lines (621 loc) · 23.6 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
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
name: tm
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: fw_version
dtype: string
getter_name: system_get_fw_version_string
summary: The firmware version.
- name: hw_revision
dtype: uint32
getter_name: system_get_hw_revision
summary: The hardware revision.
- 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]
meta: {dynamic: True}
getter_name: system_get_errors
summary: Any system errors, as a bitmask
- name: warnings
flags: [DRIVER_FAULT, CHARGE_PUMP_FAULT_STAT, CHARGE_PUMP_FAULT, DRV10_DISABLE, DRV32_DISABLE, DRV54_DISABLE]
meta: {dynamic: True}
getter_name: system_get_warnings
summary: Any system warnings, 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_and_reset
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: enter_dfu
summary: Enter DFU mode.
caller_name: system_enter_dfu
dtype: void
arguments: []
meta: {reload_data: True}
- name: config_size
summary: Size (in bytes) of the configuration object.
getter_name: system_get_config_size
dtype: uint32
- name: scheduler
remote_attributes:
- name: load
summary: Processor load in ticks per PWM cycle.
getter_name: scheduler_get_load
meta: {dynamic: True}
dtype: uint32
- name: warnings
flags: [CONTROL_BLOCK_REENTERED]
meta: {dynamic: True}
getter_name: scheduler_get_warnings
summary: Any scheduler warnings, as a bitmask
- name: controller
remote_attributes:
- name: state
options: [IDLE, CALIBRATE, CL_CONTROL]
meta: {dynamic: True}
getter_name: controller_get_state
setter_name: controller_set_state
summary: The state of the controller.
- name: mode
options: [CURRENT, VELOCITY, POSITION, TRAJECTORY, HOMING]
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, PRE_CL_I_SD_EXCEEDED]
getter_name: controller_get_errors
summary: Any controller errors, as a bitmask
- name: position
remote_attributes:
- name: setpoint
dtype: float
unit: tick
meta: {jog_step: 100}
getter_name: controller_get_pos_setpoint_user_frame
setter_name: controller_set_pos_setpoint_user_frame
summary: The position setpoint in the user reference frame.
- 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
meta: {jog_step: 200}
getter_name: controller_get_vel_setpoint_user_frame
setter_name: controller_set_vel_setpoint_user_frame
summary: The velocity setpoint in the user reference frame.
- 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_integral_gain
setter_name: controller_set_vel_integral_gain
summary: The integral gain of the velocity controller.
- name: deadband
dtype: float
unit: tick
meta: {export: True}
getter_name: controller_get_vel_integral_deadband
setter_name: controller_set_vel_integral_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
meta: {jog_step: 0.005}
getter_name: controller_get_Iq_setpoint_user_frame
setter_name: controller_set_Iq_setpoint_user_frame
summary: The Iq setpoint in the user reference frame.
- name: Id_setpoint
dtype: float
unit: ampere
meta: {dynamic: True}
getter_name: controller_get_Id_setpoint_user_frame
summary: The Id setpoint in the user reference frame.
- 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 in the user reference frame.
- 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 the user reference frame in one go, and retrieve the position estimate
caller_name: controller_set_pos_vel_setpoints_user_frame
dtype: float
arguments:
- name: pos_setpoint
dtype: float
unit: tick
- name: vel_setpoint
dtype: float
unit: tick
- 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: heartbeat
dtype: bool
getter_name: CAN_get_send_heartbeat
setter_name: CAN_set_send_heartbeat
summary: Toggle sending of heartbeat messages.
- 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
options: [HIGH_CURRENT, GIMBAL]
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: 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, POLE_PAIRS_CALCULATION_DID_NOT_CONVERGE, POLE_PAIRS_OUT_OF_RANGE, ABNORMAL_CALIBRATION_VOLTAGE]
meta: {dynamic: True}
getter_name: motor_get_errors
summary: Any motor/calibration errors, as a bitmask
- name: sensors
remote_attributes:
- name: user_frame
remote_attributes:
- name: position_estimate
dtype: float
unit: ticks
meta: {dynamic: True}
getter_name: user_frame_get_pos_estimate
summary: The filtered position estimate in the user reference frame.
- name: velocity_estimate
dtype: float
unit: ticks/second
meta: {dynamic: True}
getter_name: user_frame_get_vel_estimate
summary: The filtered velocity estimate in the user reference frame.
- name: offset
dtype: float
unit: ticks
getter_name: frame_user_to_position_sensor_get_offset
setter_name: frame_user_to_position_sensor_set_offset
summary: The user defined offset.
- name: multiplier
dtype: float
getter_name: frame_user_to_position_sensor_get_multiplier
setter_name: frame_user_to_position_sensor_set_multiplier
summary: The user defined multipler.
- name: setup
remote_attributes:
- name: onboard
remote_attributes:
- name: calibrated
dtype: bool
meta: {dynamic: True}
getter_name: sensor_onboard_get_is_calibrated
summary: Whether the sensor has been calibrated.
- name: errors
flags: [CALIBRATION_FAILED, READING_UNSTABLE]
meta: {dynamic: True}
getter_name: sensor_onboard_get_errors
summary: Any sensor errors, as a bitmask
- name: external_spi
remote_attributes:
- name: type
options: [MA7XX, AS5047, AMT22]
meta: {export: True}
getter_name: sensor_external_spi_get_type_avlos
setter_name: sensor_external_spi_set_type_avlos
summary: The type of the external sensor.
- name: rate
options: [1_5Mbps, 3Mbps, 6Mbps, 8Mbps, 12Mbps]
meta: {export: True, dynamic: True}
getter_name: sensor_external_spi_get_rate_avlos
setter_name: sensor_external_spi_set_rate_avlos
summary: The rate of the external sensor.
- name: calibrated
dtype: bool
meta: {dynamic: True}
getter_name: sensor_external_spi_get_is_calibrated
summary: Whether the sensor has been calibrated.
- name: errors
flags: [CALIBRATION_FAILED, READING_UNSTABLE]
meta: {dynamic: True}
getter_name: sensor_external_spi_get_errors
summary: Any sensor errors, as a bitmask
- name: hall
remote_attributes:
- name: calibrated
dtype: bool
meta: {dynamic: True}
getter_name: sensor_hall_get_is_calibrated
summary: Whether the sensor has been calibrated.
- name: errors
flags: [CALIBRATION_FAILED, READING_UNSTABLE]
meta: {dynamic: True}
getter_name: sensor_hall_get_errors
summary: Any sensor errors, as a bitmask
- name: select
remote_attributes:
- name: position_sensor
remote_attributes:
- name: connection
options: [ONBOARD, EXTERNAL_SPI, HALL]
meta: {export: True}
getter_name: position_sensor_get_connection
setter_name: position_sensor_set_connection
summary: The position sensor connection. Either ONBOARD, EXTERNAL_SPI or HALL.
- name: bandwidth
dtype: float
unit: Hz
meta: {export: True}
getter_name: position_observer_get_bandwidth
setter_name: position_observer_set_bandwidth
summary: The position sensor observer bandwidth.
- name: raw_angle
dtype: int32
meta: {dynamic: True}
getter_name: sensor_position_get_raw_angle
summary: The raw position sensor angle.
- name: position_estimate
dtype: float
unit: ticks
meta: {dynamic: True}
getter_name: position_observer_get_pos_estimate
summary: The filtered position estimate in the position sensor reference frame.
- name: velocity_estimate
dtype: float
unit: ticks/second
meta: {dynamic: True}
getter_name: position_observer_get_vel_estimate
summary: The filtered velocity estimate in the position sensor reference frame.
- name: commutation_sensor
remote_attributes:
- name: connection
options: [ONBOARD, EXTERNAL_SPI, HALL]
meta: {export: True}
getter_name: commutation_sensor_get_connection
setter_name: commutation_sensor_set_connection
summary: The commutation sensor connection. Either ONBOARD, EXTERNAL_SPI or HALL.
- name: bandwidth
dtype: float
unit: Hz
meta: {export: True}
getter_name: commutation_observer_get_bandwidth
setter_name: commutation_observer_set_bandwidth
summary: The commutation sensor observer bandwidth.
- name: raw_angle
dtype: int32
meta: {dynamic: True}
getter_name: sensor_commutation_get_raw_angle
summary: The raw commutation sensor angle.
- name: position_estimate
dtype: float
unit: ticks
meta: {dynamic: True}
getter_name: commutation_observer_get_pos_estimate
summary: The filtered position estimate in the commutation sensor reference frame.
- name: velocity_estimate
dtype: float
unit: ticks/second
meta: {dynamic: True}
getter_name: commutation_observer_get_vel_estimate
summary: The filtered velocity estimate in the commutation sensor reference frame.
- 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 in the user reference frame respecting velocity and acceleration limits.
caller_name: planner_move_to_vlimit
dtype: void
arguments:
- name: pos_setpoint
dtype: float
unit: tick
- name: move_to_tlimit
summary: Move to target position in the user reference frame respecting time limits for each sector.
caller_name: planner_move_to_tlimit
dtype: void
arguments:
- name: pos_setpoint
dtype: float
unit: tick
- 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.