Last modified by Eric Nantel on 2024/07/03 09:42

From version < 35.1 >
edited by Coleman Benson
on 2023/07/25 15:36
To version < 47.1 >
edited by Coleman Benson
on 2023/07/27 09:31
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -124,10 +124,10 @@
124 124  | |[[**Default** Configuration>>||anchor="HDefault26confirm"]]|(% style="text-align:center" %)DEFAULT|(% style="text-align:center" %) |(% style="text-align:center" %) | | |Revert to firmware default values. See command for details
125 125  | |[[Firmware **Update** Mode>>||anchor="HUpdate26confirm"]]|(% style="text-align:center" %)UPDATE|(% style="text-align:center" %) |(% style="text-align:center" %) | | |Update firmware. See command for details.
126 126  | |[[**Confirm** Changes>>||anchor="HConfirm"]]|(% style="text-align:center" %)CONFIRM|(% style="text-align:center" %) |(% style="text-align:center" %) | | |
127 -| |[[**E**nable CAN **T**erminal>>||anchor="HConfigureRCMode28CRC29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QET|(% style="text-align:center" %)CET| |0 or 1|0: Disable  1: Enable
128 -| |[[**ID** Number >>||anchor="HIdentificationNumber28ID29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QID|(% style="text-align:center" %)CID|0| |Reset required after change. ID 254 is a "broadcast" which all servos respond to.
129 -| |[[**U**SB **C**onnection State>>||anchor="HBaudRate"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QUC|(% style="text-align:center" %) | |0 or 1|0: Not connected 1: Connected
130 -| |**Q**uery **F**irmware **R**elease|(% style="text-align:center" %) |(% style="text-align:center" %)QFR|(% style="text-align:center" %) | | |
127 +| |[[**ID** Number >>||anchor="HIDNumber28ID29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QID|(% style="text-align:center" %)CID|0| |Reset required after change. ID 254 is a "broadcast" which all servos respond to.
128 +| |[[**E**nable CAN **T**erminal>>doc:||anchor="HEnableCANTerminalResistor28ET29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QET|(% style="text-align:center" %)CET| |0 or 1|0: Disable  1: Enable
129 +| |[[**U**SB **C**onnection Status>>||anchor="HUSBConnectionStatus28UC29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QUC|(% style="text-align:center" %) | |0 or 1|0: Not connected 1: Connected
130 +| |[[**Q**uery **F**irmware **R**elease>>doc:||anchor="HFirmwareRelease28FR29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QFR|(% style="text-align:center" %) | | |
131 131  
132 132  |(% colspan="8" style="color:orange; font-size:18px" %)[[**Motion**>>||anchor="HMotion"]]
133 133  |(% style="width:25px" %) |(% style="width:200px" %)**Description**|(% style="text-align:center; width:100px" %)**Action**|(% style="text-align:center; width:75px" %)**Query**|(% style="text-align:center; width:75px" %)**Config**|(% style="width:100px" %)**Default**|(% style="width:170px" %)**Unit**|**Notes**
... ... @@ -141,19 +141,15 @@
141 141  
142 142  |(% colspan="8" style="color:orange; font-size:18px" %)[[**Motion Setup**>>||anchor="HMotionSetup"]]
143 143  |(% style="width:25px" %) |(% style="width:200px" %)**Description**|(% style="text-align:center; width:100px" %)**Action**|(% style="text-align:center; width:75px" %)**Query**|(% style="text-align:center; width:75px" %)**Config**|(% style="width:100px" %)**Default**|(% style="width:170px" %)**Unit**|**Notes**
144 -| |[[**E**nable **M**otion Profile>>||anchor="HEnableMotionProfile28EM29"]]|(% style="text-align:center" %)EM|(% style="text-align:center" %)QEM|(% style="text-align:center" %)CEM|1| |EM1: trapezoidal motion profile / EM0: no motion profile
145 -| |[[**F**ilter **P**osition **C**ount>>||anchor="HFilterPositionCount28FPC29"]]|(% style="text-align:center" %)FPC|(% style="text-align:center" %)QFPC|(% style="text-align:center" %)CFPC|5| |Affects motion only when motion profile is disabled (EM0)
146 146  | |[[**O**rigin Offset>>||anchor="HOriginOffset28O29"]]|(% style="text-align:center" %)O|(% style="text-align:center" %)QO|(% style="text-align:center" %)CO|0|1/10°|
147 147  | |[[**A**ngular **R**ange>>||anchor="HAngularRange28AR29"]]|(% style="text-align:center" %)AR|(% style="text-align:center" %)QAR|(% style="text-align:center" %)CAR|1800|1/10°|
148 -| |[[**A**ngular **S**tiffness>>||anchor="HAngularStiffness28AS29"]]|(% style="text-align:center" %)AS|(% style="text-align:center" %)QAS|(% style="text-align:center" %)CAS|0|-4 to +4 integer|Suggested values are between 0 to +4
149 -| |[[**A**ngular **H**olding Stiffness>>||anchor="HAngularHoldingStiffness28AH29"]]|(% style="text-align:center" %)AH|(% style="text-align:center" %)QAH|(% style="text-align:center" %)CAH|4|-10 to +10 integer|
150 150  | |[[**A**ngular **A**cceleration>>||anchor="HAngularAcceleration28AA29"]]|(% style="text-align:center" %)AA|(% style="text-align:center" %)QAA|(% style="text-align:center" %)CAA|100|°/s^^2^^|Increments of 10°/s^^2^^. Only when motion profile is enabled (EM1).
151 151  | |[[**A**ngular **D**eceleration>>||anchor="HAngularDeceleration28AD29"]]|(% style="text-align:center" %)AD|(% style="text-align:center" %)QAD|(% style="text-align:center" %)CAD|100|°/s^^2^^|Increments of 10°/s^^2^^. Only when motion profile is enabled (EM1).
152 152  | |[[**G**yre Direction>>||anchor="HGyreDirection28G29"]]|(% style="text-align:center" %)G|(% style="text-align:center" %)QG|(% style="text-align:center" %)CG|1| |Gyre / rotation direction: 1= CW (clockwise) -1 = CCW (counter-clockwise)
153 153  | |[[**F**irst Position (**D**eg)>>||anchor="HFirstPosition"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QFD|(% style="text-align:center" %)CFD|No value|1/10°|Reset required after change.
154 -| |[[**M**aximum **M**otor **D**uty>>||anchor="HMaximumMotorDuty28MMD29"]]|(% style="text-align:center" %)MMD|(% style="text-align:center" %)QMMD|(% style="text-align:center" %) |1023|255 to 1023 integer|
155 155  | |[[Maximum **S**peed in **D**egrees>>||anchor="HMaximumSpeedinDegrees28SD29"]]|(% style="text-align:center" %)SD|(% style="text-align:center" %)QSD|(% style="text-align:center" %)CSD|Max|0.1°/s|SD overwrites SR / CSD overwrites CSR and vice-versa
156 156  | |[[Maximum **S**peed in **R**PM>>||anchor="HMaximumSpeedinRPM28SR29"]]|(% style="text-align:center" %)SR|(% style="text-align:center" %)QSR|(% style="text-align:center" %)CSR|Max|RPM|SD overwrites SR / CSD overwrites CSR and vice-versa
152 +| |[[Step Mode>>doc:||anchor="HStepMode"]]|(% style="text-align:center" %)SM|(% style="text-align:center" %)QM|(% style="text-align:center" %)CSM|2|1, 2, 4|Numbers represent fractions: full step, &frac12; step, &frac14; step
157 157  
158 158  |(% colspan="8" style="color:orange; font-size:18px" %)[[**Modifiers**>>||anchor="HModifiers"]]
159 159  |(% style="width:25px" %) |(% style="width:200px" %)**Description**|(% style="text-align:center; width:100px" %)**Modifier**|(% style="text-align:center; width:75px" %)**Query**|(% style="text-align:center; width:75px" %)**Config**|(% style="width:100px" %)**Default**|(% style="width:170px" %)**Unit**|**Notes**
... ... @@ -184,12 +184,89 @@
184 184  |(% colspan="8" style="color:orange; font-size:18px" %)[[**RGB LED**>>||anchor="HRGBLED"]]
185 185  |(% style="width:25px" %) |(% style="width:200px" %)**Description**|(% style="text-align:center; width:100px" %)**Action**|(% style="text-align:center; width:75px" %)**Query**|(% style="text-align:center; width:75px" %)**Config**|(% style="width:100px" %)**Default**|(% style="width:170px" %)**Unit**|**Notes**
186 186  | |[[**LED** Color>>||anchor="HLEDColor28LED29"]]|(% style="text-align:center" %)LED|(% style="text-align:center" %)QLED|(% style="text-align:center" %)CLED| |0 to 7 integer|0=Off; 1=Red; 2=Green; 3=Blue; 4=Yellow; 5=Cyan; 6=Magenta; 7=White
187 -| |[[**C**onfigure **L**ED **B**linking>>||anchor="HConfigureLEDBlinking28CLB29"]]|(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %)CLB| |0 to 63 integer|Reset required after change. See command for details.
188 188  
189 189  = (% style="color:inherit; font-family:inherit" %)Details(%%) =
190 190  
191 191  == (% style="color:inherit; font-family:inherit" %)Communication Setup(%%) ==
192 192  
188 +====== (% style="color:inherit; font-family:inherit" %)__Reset__(%%) ======
189 +
190 +(% style="color:inherit; font-family:inherit" %)Ex: #5RESET<cr>
191 +This command does a "soft reset" and reverts all commands to those stored in EEPROM (i.e. configuration commands). Note: after a RESET command is received, the LSS will restart and perform initilization again, making it unavailable on the bus for a bit. See Session, note #2 for more details.
192 +
193 +====== (% style="color:inherit; font-family:inherit" %)__Default & confirm__(%%) ======
194 +
195 +(% style="color:inherit; font-family:inherit" %)Ex: #5DEFAULT<cr>
196 +
197 +(% style="color:inherit; font-family:inherit" %)This command sets in motion the reset of all values to the default values included with the version of the firmware installed on that servo. The servo then waits for the CONFIRM command. Any other command received will cause the servo to exit the DEFAULT function.
198 +
199 +(% style="color:inherit; font-family:inherit" %)EX: #5DEFAULT<cr> followed by #5CONFIRM<cr>
200 +
201 +(% style="color:inherit; font-family:inherit" %)Since it it not common to have to restore all configurations, a confirmation command is needed after a firmware command is sent. Should any command other than CONFIRM be received by the servo after the firmware command has been received, it will exit the command.
202 +
203 +(% style="color:inherit; font-family:inherit" %)Note: After the CONFIRM command is sent, the servo will automatically perform a RESET.
204 +
205 +====== (% style="color:inherit; font-family:inherit" %)__Update & confirm__(%%) ======
206 +
207 +(% style="color:inherit; font-family:inherit" %)Ex: #5UPDATE<cr>
208 +
209 +(% style="color:inherit; font-family:inherit" %)This command sets in motion the equivalent of a long button press when the servo is not powered in order to enter firmware update mode. This is useful should the button be broken or inaccessible. The servo then waits for the CONFIRM command. Any other command received will cause the servo to exit the UPDATE function.
210 +
211 +(% style="color:inherit; font-family:inherit" %)EX: #5UPDATE<cr> followed by #5CONFIRM<cr>
212 +
213 +(% style="color:inherit; font-family:inherit" %)Since it it not common to have to update firmware, a confirmation command is needed after an UPDATE command is sent. Should any command other than CONFIRM be received by the servo after the firmware command has been received, it will leave the firmware action.
214 +
215 +(% style="color:inherit; font-family:inherit" %)Note: After the CONFIRM command is sent, the servo will automatically perform a RESET.
216 +
217 +====== (% style="color:inherit; font-family:inherit" %)__Confirm__(%%) ======
218 +
219 +(% style="color:inherit; font-family:inherit" %)Ex: #5CONFIRM<cr>
220 +
221 +(% style="color:inherit; font-family:inherit" %)This command is used to confirm changes after a Default or Update command.
222 +Note: After the CONFIRM command is sent, the servo will automatically perform a RESET.
223 +
224 +====== (% style="color:inherit; font-family:inherit" %)__ID Number (**ID**)__(%%) ======
225 +
226 +(% style="color:inherit; font-family:inherit" %)Configure ID Number (**CID**)
227 +
228 +(% style="color:inherit; font-family:inherit" %)Ex: #0CID5<cr>
229 +
230 +The default ID is 0, so this sets the servo to ID 5.
231 +
232 +Query ID Number (**QID**)
233 +
234 +Ex: #254QID<cr> might return *254QID5<cr>
235 +
236 +In this case, the broadcast ID is used to ensure the servo connected will reply with the ID. This can be used in case the ID assigned to a servo is forgotten.
237 +
238 +====== (% style="color:inherit; font-family:inherit" %)__Enable CAN Terminal Resistor (**ET**)__(%%) ======
239 +
240 +Query Enable CAN Terminal Resistor (**QET**)
241 +
242 +Ex: #5QET<cr> might return *QET0<cr>
243 +
244 +This means that servo with ID 5 is NOT configured as the last servo in the CAN bus.
245 +
246 +Configure Enable CAN Terminal Resistor (**CET**)
247 +
248 +(% style="color:inherit; font-family:inherit" %)Ex: #5CET1<cr>
249 +
250 +(% style="color:inherit; font-family:inherit" %)This commands sets servo with ID 5 as being the last in the CAN Bus. The last servo in a CAN bus must be configured this way.
251 +
252 +====== __USB Connection Status (**UC**)__ ======
253 +
254 +Query USB Connection Status (**QUC**)
255 +
256 +Ex: #5QUC<cr> might return *5QUC1<cr> meaning the servo is connected via USB
257 +
258 +====== __Firmware Release (**FR**)__ ======
259 +
260 +Query Firmware Release (**QFR**)
261 +
262 +Ex: #5QFR<cr> might return *QFR11<cr> meaning it has a (random) firmware release version number 11.
263 +
264 +This is used to verify if the firmware on the servos is up to date, or which version is running on the microcontroller.
265 +
193 193  == Motion ==
194 194  
195 195  ====== __Position in Degrees (**D**)__ ======
... ... @@ -394,8 +394,10 @@
394 394  
395 395  This command will cause servo #5's positions to be inverted, effectively causing the servo to rotate in the opposite direction given the same command. For example in a 2WD robot, servos are often physically installed back to back, therefore setting one of the servos to a negative gyration, the same wheel command (ex WR30) to both servos will cause the robot to move forward or backward rather than rotate.
396 396  
397 -Query Gyre Direction (**QG**)Ex: #5QG<cr> might return *5QG-1<cr>
470 +Query Gyre Direction (**QG**)
398 398  
472 +Ex: #5QG<cr> might return *5QG-1<cr>
473 +
399 399  The value returned above means the servo is in a counter-clockwise gyration. Sending a #5WR30 command will rotate the servo in a counter-clockwise gyration at 30 RPM.
400 400  
401 401  Configure Gyre (**CG**)
... ... @@ -432,6 +432,24 @@
432 432  
433 433  Configure Speed in RPM (**CSR**)Ex: #5CSR45<cr>Using the CSR command sets the servo's maximum speed which is saved in EEPROM. In the example above, the servo's maximum speed will be set to 45rpm. When the servo is powered on (or after a reset), the CSR value is used. Note that CSD and CSR are effectively the same, but allow the user to specify the speed in either unit. The last command (either CSR or CSD) received is what the servo uses for that session.
434 434  
510 +====== __Step Mode (**SM**)__ ======
511 +
512 +Ex: #8SM2<cr>
513 +
514 +This sets servo with ID 8 to 1/2 step mode. Since this is an action as opposed to a configuration, it only affects that session.
515 +
516 +Note that the torque and max RPM of the actuator will be affected.
517 +
518 +Query Step Mode (**QSM**)
519 +
520 +Ex: #8QSM<cr> might return *8QSM2<cr> meaning servo with ID 8 is set to half step mode.
521 +
522 +Configure Step Mode (**CSM**)
523 +
524 +Ex: #8SM2<cr>
525 +
526 +This sets servo with ID 8 to 1/2 step mode. Since this is a configuration as opposed to a configuration and the servo will be in 1/2 step mode when powered.
527 +
435 435  == Modifiers ==
436 436  
437 437  ====== __Speed (**SD**) modifier__ ======
... ... @@ -459,7 +459,7 @@
459 459  
460 460  **Note:** If the calculated speed at which a servo must rotate for a timed move is greater than its maximum speed (which depends on voltage and load), then it will move at its maximum speed, and the time of the move may be longer than requested
461 461  
462 -====== ======
555 +====== ======
463 463  
464 464  == Telemetry ==
465 465  
Copyright RobotShop 2018