Changes for page LSS Communication Protocol
Last modified by Eric Nantel on 2025/06/06 07:47
Change comment: There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. CBenson1 +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 *5QM1 1<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 -=== ===