Last modified by Eric Nantel on 2025/06/06 07:47

From version < 62.1 >
edited by Coleman Benson
on 2018/10/19 08:35
To version < 64.3 >
edited by RB1
on 2018/11/19 09:27
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.CBenson
1 +xwiki:XWiki.RB1
Content
... ... @@ -1,6 +1,8 @@
1 += Protocol concepts =
2 +
1 1  The Lynxmotion Smart Servo (LSS) protocol was created in order to be as simple and straightforward as possible from a user perspective, while at the same time trying to stay compact and robust yet highly versatile. Almost everything one might expect to be able to configure for a smart servo motor is available.
2 2  
3 -=== Session ===
5 +== Session ==
4 4  
5 5  A "session" is defined as the time between when the servo is powered ON to when it is powered OFF or reset.
6 6  
... ... @@ -42,10 +42,6 @@
42 42  Action modifiers can only be used with certain commands.
43 43  )))
44 44  
45 -(((
46 -
47 -)))
48 -
49 49  == Configuration Commands ==
50 50  
51 51  Configuration commands affect the servo's current session* but unlike action commands, configuration commands are written to EEPROM and are retained even if the servo loses power (therefore NOT session specific). Not all action commands have a corresponding configuration and vice versa. Certain configurations are retained for when the servo is used in RC model. More information can be found on the [[LSS - RC PWM page>>doc:LSS - Overview (DEV).LSS - RC PWM.WebHome]].
... ... @@ -150,7 +150,10 @@
150 150  | 12|Max **S**peed in **D**egrees| SD| QSD| CSD| ✓| ✓| tenths of degrees per second (ex 248 = 24.8 degrees per second)|QSD: Add modifier "2" for instantaneous speed
151 151  | 13|Max **S**peed in **R**PM| SR| QSR| CSR| ✓| ✓| rpm|QSR: Add modifier "2" for instantaneous speed
152 152  | 14|**A**ngular **S**tiffness| AS| QAS| CAS| ✓| ✓|none|-4 to +4, but suggested values are between 0 to +4
153 -| 15|**A**ngular **H**olding Stiffness|AH|QAH|CAH| |✓|none|-10 to +10, with default as 0.
151 +| 15|**A**ngular **H**olding Stiffness|AH|QAH|CAH| | ✓|none|-10 to +10, with default as 0.
152 +|15b|**A**ngular **A**cceleration|AA|QAA|CAA| | ✓|degrees per second squared|Increments of 10 degrees per second squared
153 +|15c|**A**ngular **D**eceleration|AD|QAD|CAD| | ✓|degrees per second squared|Increments of 10 degrees per second squared
154 +|15d|**M**otion **C**ontrol|MC|QMC| | | ✓|none|MC0 to disable motion control, MC1 to enable. Session specific
154 154  | 16|**LED** Color| LED| QLED| CLED| ✓| ✓| none (integer from 1 to 8)|0=OFF 1=RED 2=GREEN 3= BLUE 4=YELLOW 5=CYAN 6=MAGENTA, 7=WHITE
155 155  | 17|**ID** #| | QID| CID| | ✓| none (integer from 0 to 250)|Note: ID 254 is a "broadcast" which all servos respond to
156 156  | 18|**B**aud rate| B| QB| CB| | ✓| none (integer)|
... ... @@ -158,7 +158,8 @@
158 158  | 20|**F**irst Position (**P**ulse)| | QFP|CFP | ✓| ✓| none |
159 159  | 21|**F**irst Position (**D**egrees)| | QFD|CFD| ✓| ✓| none |
160 160  | 22|**T**arget (**D**egree) **P**osition| | QDT| | | ✓| tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)|
161 -| 23|**M**odel| | QM| | | | none (integer)|
162 +| 23|**M**odel **String**| | QMS| | | | none (string)| Recommended to determine the model|
163 +| 23b|**M**odel| | QM| | | | none (integer)| Returns a raw value representing the three model inputs (36 bit)|
162 162  | 24|Serial **N**umber| | QN| | | | none (integer)|
163 163  | 25|**F**irmware version| | QF| | | | none (integer)|
164 164  | 26|**Q**uery (general status)| | Q| | | ✓| none (integer from 1 to 8)| See command description for details
... ... @@ -175,7 +175,7 @@
175 175  |32|**DEFAULT**| | | | |✓|none|Revert to firmware default values. See command for details
176 176  |33|**UPDATE**| | | | |✓|none|Update firmware. See command for details.
177 177  
178 -= Details =
180 +== Details ==
179 179  
180 180  __1. Limp (**L**)__
181 181  
... ... @@ -398,12 +398,24 @@
398 398  
399 399  This returns the servo's angular holding stiffness value.
400 400  
401 -Configure Angular Hold Stiffness (CAH)
403 +Configure Angular Hold Stiffness (**CAH**)
402 402  
403 403  Ex: #5CAH2<cr>
404 404  
405 405  This writes the angular holding stiffness of servo #5 to 2 to EEPROM
406 406  
409 +__15b: Angular Acceleration (**AA**)__
410 +
411 +{More details to come}
412 +
413 +__15c: Angular Deceleration (**AD**)__
414 +
415 +{More details to come}
416 +
417 +__15d: Motion Control (**MC**)__
418 +
419 +{More details to come}
420 +
407 407  __16. RGB LED (**LED**)__
408 408  
409 409  Ex: #5LED3<cr>
... ... @@ -511,12 +511,18 @@
511 511  
512 512  The query target position command returns the target angle during and after an action which results in a rotation of the servo horn. In the example above, the servo is rotating to a virtual position of 678.3 degrees. Should the servo not have a target position or be in wheel mode, it will respond without a number (Ex: *5QDT<cr>).
513 513  
514 -__23. Query Model (**QM**)__
528 +__23. Query Model String (**QMS**)__
515 515  
516 -Ex: #5QM<cr> might return *5QM11<cr>
530 +Ex: #5QMS<cr> might return *5QMSLSS-HS1cr>
517 517  
518 -This reply means the servo model is 1.1, meaning high speed servo, first revision. 1=HS (high speed) 2=ST (standard) 3=HT (high torque)
532 +This reply means the servo model is LSS-HS1, meaning a high speed servo, first revision.
519 519  
534 +__23b. Query Model (**QM**)__
535 +
536 +Ex: #5QM<cr> might return *5QM68702699520cr>
537 +
538 +This reply means the servo model is 0xFFF000000 or 100, meaning a high speed servo, first revision.
539 +
520 520  __24. Query Serial Number (**QN**)__
521 521  
522 522  Ex: #5QN<cr> might return *5QN~_~_<cr>
... ... @@ -605,5 +605,3 @@
605 605  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.
606 606  
607 607  Note that after the CONFIRM command is sent, the servo will automatically perform a RESET.
608 -
609 -=== ===
Copyright RobotShop 2018