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
-
... ... @@ -189,13 +189,13 @@ 189 189 | |[[**G**yre Direction>>||anchor="HGyreDirection28G29"]]|(% style="text-align:center" %)G|(% style="text-align:center" %)QG|(% style="text-align:center" %)CG|(% style="text-align:center" %)✓|(% style="text-align:center" %)✓|1| |Gyre / rotation direction: 1= CW (clockwise) -1 = CCW (counter-clockwise) 190 190 | |[[**F**irst Position (**D**eg)>>||anchor="HFirstPosition"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QFD|(% style="text-align:center" %)CFD|(% style="text-align:center" %)✓|(% style="text-align:center" %)✓|No value|1/10°|Reset required after change. 191 191 | |[[**M**aximum **M**otor **D**uty>>||anchor="HMaximumMotorDuty28MMD29"]]|(% style="text-align:center" %)MMD|(% style="text-align:center" %)QMMD|(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %)✓|1023|255 to 1023 integer| 192 -| |[[Maximum **S**peed in **D**egrees>>||anchor="HMaximumSpeedinDegrees28SD29"]]|(% style="text-align:center" %)SD|(% style="text-align:center" %)QSD|(% style="text-align:center" %)CSD|(% style="text-align:center" %)✓|(% style="text-align:center" %)✓|Max| 0.1°/s|SD overwrites SR / CSD overwrites CSR and vice-versa192 +| |[[Maximum **S**peed in **D**egrees>>||anchor="HMaximumSpeedinDegrees28SD29"]]|(% style="text-align:center" %)SD|(% style="text-align:center" %)QSD|(% style="text-align:center" %)CSD|(% style="text-align:center" %)✓|(% style="text-align:center" %)✓|Max|°/s|SD overwrites SR / CSD overwrites CSR and vice-versa 193 193 | |[[Maximum **S**peed in **R**PM>>||anchor="HMaximumSpeedinRPM28SR29"]]|(% style="text-align:center" %)SR|(% style="text-align:center" %)QSR|(% style="text-align:center" %)CSR|(% style="text-align:center" %)✓|(% style="text-align:center" %)✓|Max|RPM|SD overwrites SR / CSD overwrites CSR and vice-versa 194 194 195 195 |(% colspan="10" style="color:orange; font-size:18px" %)[[**Modifiers**>>||anchor="HModifiers"]] 196 196 |(% 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="text-align:center; width:75px" %)**RC**|(% style="text-align:center; width:75px" %)**Serial**|(% style="width:100px" %)**Default**|(% style="width:170px" %)**Unit**|**Notes** 197 197 | |[[**S**peed>>||anchor="HSpeed28S2CSD29modifier"]]|(% style="text-align:center" %)S|(% style="text-align:center" %)QS|(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %)✓| |uS/s |For P action command 198 -| |[[**S**peed in **D**egrees>>||anchor="HSpeed28S2CSD29modifier"]]|(% style="text-align:center" %)SD|(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %)✓| | 0.1°/s|For D and MD action commands198 +| |[[**S**peed in **D**egrees>>||anchor="HSpeed28S2CSD29modifier"]]|(% style="text-align:center" %)SD|(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %)✓| |°/s|For D and MD action commands 199 199 | |[[**T**imed move>>||anchor="HTimedmove28T29modifier"]]|(% style="text-align:center" %)T|(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %)✓| |ms|Modifier only for P, D and MD. Time can change based on load 200 200 | |[[**C**urrent **H**old>>||anchor="HCurrentHalt26Hold28CH29modifier"]]|(% style="text-align:center" %)CH|(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %)✓| |mA|Modifier for D, MD, WD and WR 201 201 | |[[**C**urrent **L**imp>>||anchor="HCurrentLimp28CL29modifier"]]|(% style="text-align:center" %)CL|(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %)✓| |mA|Modifier for D, MD, WD and WR ... ... @@ -207,6 +207,7 @@ 207 207 | |[[**Q**uery **C**urrent>>||anchor="HQueryCurrent28QC29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QC|(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %)✓| |mA| 208 208 | |[[**Q**uery **M**odel **S**tring>>||anchor="HQueryModelString28QMS29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QMS|(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %)✓| | |Returns the model of servo (ex: LSS-ST1, LSS-HS1, LSS-HT1) 209 209 | |[[**Q**uery **F**irmware Version>>||anchor="HQueryFirmware28QF29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QF|(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %)✓| | | 210 +| |[[**Q**uery Serial **N**umber>>||anchor="HQuerySerialNumber28QN29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QN|(% style="text-align:center" %) |(% style="text-align:center" %) |(% style="text-align:center" %)✓| | |Returns the unique serial number for the servo 210 210 211 211 |(% colspan="10" style="color:orange; font-size:18px" %)[[**RGB LED**>>||anchor="HRGBLED"]] 212 212 |(% 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="text-align:center; width:75px" %)**RC**|(% style="text-align:center; width:75px" %)**Serial**|(% style="width:100px" %)**Default**|(% style="width:170px" %)**Unit**|**Notes** ... ... @@ -312,9 +312,9 @@ 312 312 313 313 ====== __Baud Rate__ ====== 314 314 315 -{{html clean="false" wiki="true"}}316 +{{html wiki="true" clean="false"}} 316 316 <div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 317 -A servo's baud rate cannot be set "on the fly" and must be configured via the CB command described below. The factory default baud rate for all servos is 115200. Since smart servos are intended to be daisy chained, in order to respond to the same serial command, all servos in a project should be set to the same baud rate. Setting different baud rates will have the servos respond differently and may create issues. Available baud rates are: 9600 bps, 19200 bps, 38400 bps, 57600 bps, 115.2 kbps, 230.4 kbps, 250.0 kbps, 460.8 kbps, 500.0 kbps , 750.0kbps, 921.6 kbps.Servos are shipped with a baud rate set to 115200.<div class="wikimodel-emptyline"></div>318 +A servo's baud rate cannot be set "on the fly" and must be configured via the CB command described below. The factory default baud rate for all servos is 115200. Since smart servos are intended to be daisy chained, in order to respond to the same serial command, all servos in a project should be set to the same baud rate. Setting different baud rates will have the servos respond differently and may create issues. Available baud rates are: 9600 bps, 19200 bps, 38400 bps, 57600 bps, 115.2 kbps, 230.4 kbps, 250.0 kbps, 460.8 kbps, 500.0 kbps. Servos are shipped with a baud rate set to 115200.<div class="wikimodel-emptyline"></div> 318 318 319 319 Query Baud Rate (**QB**)<div class="wikimodel-emptyline"></div> 320 320 ... ... @@ -332,28 +332,6 @@ 332 332 </div></div> 333 333 {{/html}} 334 334 335 -====== __Automatic Baud Rate__ ====== 336 - 337 -{{html clean="false" wiki="true"}} 338 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 339 -This option allows the LSS to listen to it's serial input and select the right baudrate automatically.<div class="wikimodel-emptyline"></div> 340 - 341 -Query Automatic Baud Rate (**QABR**)<div class="wikimodel-emptyline"></div> 342 - 343 -Ex: #5QABR<cr> might return *5ABR0<cr><div class="wikimodel-emptyline"></div> 344 - 345 -Enable Baud Rate (**ABR**)<div class="wikimodel-emptyline"></div> 346 - 347 -Ex: #5QABR1<cr><div class="wikimodel-emptyline"></div> 348 -Enable baudrate detection on first byte received after power-up.<div class="wikimodel-emptyline"></div> 349 - 350 -Ex: #5QABR2,30<cr><div class="wikimodel-emptyline"></div> 351 -Enable baudrate detection on first byte received after power-up. If no data for 30 seconds enable detection again on next byte.<div class="wikimodel-emptyline"></div> 352 - 353 -Warning: ABR doesnt work well with LSS Config at the moment.<div class="wikimodel-emptyline"></div> 354 -</div></div> 355 -{{/html}} 356 - 357 357 == Motion == 358 358 359 359 ====== __Position in Degrees (**D**)__ ====== ... ... @@ -485,7 +485,7 @@ 485 485 | |ex: *5Q3<cr>|3: Accelerating|Increasing speed from rest (or previous speed) towards travel speed 486 486 | |ex: *5Q4<cr>|4: Traveling|Moving at a stable speed 487 487 | |ex: *5Q5<cr>|5: Decelerating|Decreasing from travel speed towards final position. 488 -| |ex: *5Q6<cr>|6: Holding|Keeping current position (in EM0 mode, return will nornally be holding)467 +| |ex: *5Q6<cr>|6: Holding|Keeping current position 489 489 | |ex: *5Q7<cr>|7: Outside limits|{More details coming soon} 490 490 | |ex: *5Q8<cr>|8: Stuck|Motor cannot perform request movement at current speed setting 491 491 | |ex: *5Q9<cr>|9: Blocked|Similar to stuck, but the motor is at maximum duty and still cannot move (i.e.: stalled) ... ... @@ -541,7 +541,7 @@ 541 541 542 542 Ex: #5EM0<cr><div class="wikimodel-emptyline"></div> 543 543 544 -This command will disable the built-in trapezoidal motion profile. As such, the servo will move at full speed to the target position using the D/MD action commands. Modifiers like SD/S or T cannot be used in EM0 mode. By default the Filter Position Counter, or "FPC" is active in EM0 mode to smooth out its operation. EM0 is suggested for applications where an external controller will be determining all incremental intermediate positions of the servo's motion, effectively replacing a trajectory manager. To prevent having to send position commands continuously to reach the desired position in EM0/FPC active (FPC >= 2), an internal position engine (IPE) repeats the last position command. Note that in EM0 mode, the servo will effectively always be in status: Holding (if using the query status command).523 +This command will disable the built-in trapezoidal motion profile. As such, the servo will move at full speed to the target position using the D/MD action commands. Modifiers like SD/S or T cannot be used in EM0 mode. By default the Filter Position Counter, or "FPC" is active in EM0 mode to smooth out its operation. EM0 is suggested for applications where an external controller will be determining all incremental intermediate positions of the servo's motion, effectively replacing a trajectory manager. To prevent having to send position commands continuously to reach the desired position in EM0/FPC active (FPC >= 2), an internal position engine (IPE) repeats the last position command. 545 545 546 546 <div class="wikimodel-emptyline"></div> 547 547 ... ... @@ -860,12 +860,12 @@ 860 860 861 861 ====== __Speed (**S**, **SD**) modifier__ ====== 862 862 863 -{{html clean="false" wiki="true"}} 842 +{{html clean="false" wiki="true" __cke_selected_macro="true"}} 864 864 <div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 865 865 Example: #5P1500S750<cr><div class="wikimodel-emptyline"></div> 866 866 Modifier (S) is only for a position (P) action and determines the speed of the move in microseconds per second. A speed of 750 microseconds would cause the servo to rotate from its current position to the desired position at a speed of 750 microseconds per second. This command is in place to ensure backwards compatibility with the SSC-32 / 32U protocol.<div class="wikimodel-emptyline"></div> 867 867 Example: #5D0SD180<cr><div class="wikimodel-emptyline"></div> 868 -Modifier (SD) is only for a position (D) or relative position (MD) action and determines the speed of the move in tenth sof degrees per second. A speed modifier (SD) of 180 would cause the servo to rotate from its current position to the desired absolute or relative position at a speed of 18 degrees per second.<div class="wikimodel-emptyline"></div>847 +Modifier (SD) is only for a position (D) or relative position (MD) action and determines the speed of the move in tenth of degrees per second. A speed modifier (SD) of 180 would cause the servo to rotate from its current position to the desired absolute or relative position at a speed of 18 degrees per second.<div class="wikimodel-emptyline"></div> 869 869 Query Speed (**QS**)<div class="wikimodel-emptyline"></div> 870 870 Example: #5QS<cr> might return *5QS300<cr><div class="wikimodel-emptyline"></div> 871 871 This command queries the current speed in microseconds per second.<div class="wikimodel-emptyline"></div> ... ... @@ -953,8 +953,15 @@ 953 953 </div></div> 954 954 {{/html}} 955 955 956 -====== ====== 935 +====== __Query Serial Number (**QN**)__ ====== 957 957 937 +{{html wiki="true" clean="false"}} 938 +<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 939 +Ex: #5QN<cr> might return *5QN12345678<cr><div class="wikimodel-emptyline"></div> 940 +The number in the response (12345678) would be the servo's serial number which is set and should not be changed by the user.<div class="wikimodel-emptyline"></div> 941 +</div></div> 942 +{{/html}} 943 + 958 958 == RGB LED == 959 959 960 960 ====== __LED Color (**LED**)__ ======