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 (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,5 +1,5 @@ 1 1 (% class="wikigeneratedid" id="HTableofContents" %) 2 -** TableofContents**2 +**Page Contents** 3 3 4 4 {{toc depth="3"/}} 5 5 ... ... @@ -128,6 +128,8 @@ 128 128 129 129 = Command List = 130 130 131 +== Regular == 132 + 131 131 |= #|=Description|= Action|= Query|= Config|=Session|= RC|= Serial|= Units|=(% style="width: 510px;" %) Notes|=(% style="width: 113px;" %)Default Value 132 132 | 1|[[**L**imp>>||anchor="H1.Limp28L29"]]| L| | | | | ✓|none|(% style="width:510px" %) |(% style="text-align:center; width:113px" %) 133 133 | 2|[[**H**alt & **H**old>>||anchor="H2.Halt26Hold28H29"]]| H| | | | | ✓|none|(% style="width:510px" %) |(% style="text-align:center; width:113px" %) ... ... @@ -146,7 +146,7 @@ 146 146 | 9|[[Position in **D**egrees>>||anchor="H9.PositioninDegrees28D29"]]| D| QD / QDT| | | | ✓|tenths of degrees |(% style="width:510px" %) |(% style="text-align:center; width:113px" %) 147 147 | 10|[[**W**heel mode in **D**egrees>>||anchor="H10.WheelModeinDegrees28WD29"]]| WD| QWD| | | | ✓|tenths of degrees per second (ex 248 = 24.8 degrees per second)|(% style="width:510px" %)A.K.A. "Speed mode" or "Continuous rotation"|(% style="text-align:center; width:113px" %) 148 148 | 11|[[**W**heel mode in **R**PM>>||anchor="H11.WheelModeinRPM28WR29"]]| WR| QWR| | | | ✓|revolutions per minute (rpm)|(% style="width:510px" %)A.K.A. "Speed mode" or "Continuous rotation"|(% style="text-align:center; width:113px" %) 149 -| 12|[[Max **S**peed in **D**egrees>>||anchor="H12.MaxSpeedinDegrees28SD29"]]| SD| QSD|CSD|✓| ✓| ✓| tenths ofdegrees per second |(% style="width:510px" %)(((151 +| 12|[[Max **S**peed in **D**egrees>>||anchor="H12.MaxSpeedinDegrees28SD29"]]| SD| QSD|CSD|✓| ✓| ✓|degrees per second (°/s)|(% style="width:510px" %)((( 150 150 QSD: Add modifier "2" for instantaneous speed. 151 151 152 152 SD overwrites SR / CSD overwrites CSR and vice-versa. ... ... @@ -181,7 +181,7 @@ 181 181 == Advanced == 182 182 183 183 |= #|=Description|= Action|= Query|= Config|=Session|= RC|= Serial|= Units|=(% style="width: 510px;" %) Notes|=(% style="width: 113px;" %)Default Value 184 -| A1|[[**A**ngular **S**tiffness>>||anchor="HA1.AngularStiffness28AS29"]]| 186 +| A1|[[**A**ngular **S**tiffness>>||anchor="HA1.AngularStiffness28AS29"]]|AS|QAS|CAS|✓| ✓| ✓|none (integer -4 to +4)|(% style="width:510px" %)Suggested values are between 0 to +4|(% style="text-align:center; width:113px" %)0 185 185 | A2|[[**A**ngular **H**olding Stiffness>>||anchor="HA2.AngularHoldingStiffness28AH29"]]|AH|QAH|CAH|✓| | ✓|none (integer -10 to +10)|(% style="width:510px" %) |(% style="text-align:center; width:113px" %)1 186 186 | A3|[[**A**ngular **A**cceleration>>||anchor="HA3:AngularAcceleration28AA29"]]|AA|QAA|CAA|✓| | ✓|degrees per second squared|(% style="width:510px" %)Increments of 10 degrees per second squared|(% style="text-align:center; width:113px" %) 187 187 | A4|[[**A**ngular **D**eceleration>>||anchor="HA4:AngularDeceleration28AD29"]]|AD|QAD|CAD|✓| | ✓|degrees per second squared|(% style="width:510px" %)Increments of 10 degrees per second squared|(% style="text-align:center; width:113px" %) ... ... @@ -278,7 +278,7 @@ 278 278 279 279 Example: #5P2334<cr> 280 280 281 -The position in PWM pulses was retained in order to be backward compatible with the SSC-32 / 32U protocol. This relates the desired angle with an RC standard PWM pulse and is further explained in the SSC-32 and SSC-32U manuals found on Lynxmotion.com. Without any modifications to configuration considered, and a ±90.0 degrees standard range where 1500 microseconds is centered, a pulse of 2334 would set the servo to 165.1 degrees. Valid values for P are [500, 2500]. Values outside this range are corrected to end points. 283 +The position in PWM pulses was retained in order to be backward compatible with the SSC-32 / 32U protocol. This relates the desired angle with an RC standard PWM pulse and is further explained in the SSC-32 and SSC-32U manuals found on Lynxmotion.com. Without any modifications to configuration considered, and a ±90.0 degrees standard range where 1500 microseconds is centered, a pulse of 2334 would set the servo to 165.1 degrees. Valid values for P are [500, 2500]. Values outside this range are corrected / restricted to end points. 282 282 283 283 Query Position in Pulse (**QP**) 284 284 ... ... @@ -456,7 +456,7 @@ 456 456 457 457 ====== __18. First Position (Pulse) (**FP**)__ ====== 458 458 459 -In certain cases, a user might want to have the servo move to a specific angle upon power up; we refer to this as "first position" (a.k.a. "initial position"). The factory default has no first position value stored in EEPROM and therefore upon power up, the servo remains limp until a position (or hold command) is assigned. FP and FD are different in that FP is used for RC mode only, whereas FD is used for smart mode only. 461 +In certain cases, a user might want to have the servo move to a specific angle upon power up; we refer to this as "first position" (a.k.a. "initial position"). The factory default has no first position value stored in EEPROM and therefore upon power up, the servo remains limp until a position (or hold command) is assigned. FP and FD are different in that FP is used for RC mode only, whereas FD is used for smart mode only. If a first position pulse is assigned, the servo will move to that angle and hold there for up to 2 seconds before going limp should a new pulse not be received. 460 460 461 461 Query First Position in Pulses (**QFP**) 462 462 ... ... @@ -510,18 +510,18 @@ 510 510 511 511 Ex: #5Q<cr> might return *5Q6<cr>, which indicates the motor is holding a position. 512 512 513 -|*Value returned|**Status**|**Detailed description** 514 -|ex: *5Q0<cr>|Unknown|LSS is unsure / unknown state 515 -|ex: *5Q1<cr>|Limp|Motor driving circuit is not powered and horn can be moved freely 516 -|ex: *5Q2<cr>|Free moving|Motor driving circuit is not powered and horn can be moved freely 517 -|ex: *5Q3<cr>|Accelerating|Increasing speed from rest (or previous speeD) towards travel speed 518 -|ex: *5Q4<cr>|Traveling|Moving at a stable speed 519 -|ex: *5Q5<cr>|Decelerating|Decreasing from travel speed towards final position. 520 -|ex: *5Q6<cr>|Holding|Keeping current position 521 -|ex: *5Q7<cr>| Stepping|Speciallowspeedmodeomaintaintorque522 -|ex: *5Q8<cr>| Outsidelimits|{Moredetailscomingsoon}523 -|ex: *5Q9<cr>| Stuck|Motorcannotperformrequest movement at currentspeedsetting524 -|ex: *5Q 10<cr>|Blocked|Similartostuck,butthemotorisatmaximumdutyandstillcannotmove (i.e.: stalled)515 +|***Value returned**|**Status**|**Detailed description** 516 +|ex: *5Q0<cr>|0: Unknown|LSS is unsure / unknown state 517 +|ex: *5Q1<cr>|1: Limp|Motor driving circuit is not powered and horn can be moved freely 518 +|ex: *5Q2<cr>|2: Free moving|Motor driving circuit is not powered and horn can be moved freely 519 +|ex: *5Q3<cr>|3: Accelerating|Increasing speed from rest (or previous speeD) towards travel speed 520 +|ex: *5Q4<cr>|4: Traveling|Moving at a stable speed 521 +|ex: *5Q5<cr>|5: Decelerating|Decreasing from travel speed towards final position. 522 +|ex: *5Q6<cr>|6: Holding|Keeping current position 523 +|ex: *5Q7<cr>|7: Outside limits|{More details coming soon} 524 +|ex: *5Q8<cr>|8: Stuck|Motor cannot perform request movement at current speed setting 525 +|ex: *5Q9<cr>|9: Blocked|Similar to stuck, but the motor is at maximum duty and still cannot move (i.e.: stalled) 526 +|ex: *5Q9<cr>|10: Safe Mode|A safety limit has been exceeded (temperature, peak current or extended high current draw). 525 525 526 526 ====== __24. Query Voltage (**QV**)__ ====== 527 527 ... ... @@ -552,8 +552,10 @@ 552 552 553 553 EX: #5CRC2<cr> 554 554 555 -This command would place the servo in RC wheel mode after a RESET or power cycle. Note that after a RESET or power cycle, the servo will be in RC mode and will not reply to serial commands. 557 +This command would place the servo in RC wheel mode after a RESET or power cycle. Note that after a RESET or power cycle, the servo will be in RC mode and will not reply to serial commands. Using the command #5CRC<cr> or #5CRC3<cr> which requests that the servo remain in serial mode still requires a RESET command. 556 556 559 +Important note:** **To revert from RC mode back to serial mode, the [[LSS - Button Menu>>doc:Lynxmotion Smart Servo (LSS).LSS - Button Menu.WebHome]] is required. Should the button be inaccessible (or broken) when the servo is in RC mode and the user needs to change to serial mode, a 5V constant HIGH needs to be sent to the servo's Rx pin (RC PWM pin), ensuring a common GND and wait for 30 seconds. Normal RC PWM pulses should not exceed 2500 milliseconds. After 30 seconds, the servo will interpret this as a desired mode change and change to serial mode. This has been implemented as a fail safe. 560 + 557 557 ====== __28. **RESET**__ ====== 558 558 559 559 Ex: #5RESET<cr> or #5RS<cr>