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

From version < 81.1 >
edited by RB1
on 2019/01/23 10:29
To version < 68.2 >
edited by Coleman Benson
on 2018/11/22 10:34
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -Lynxmotion Smart Servo (LSS).WebHome
1 +lynxmotion:LSS - Overview (DEV).WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.RB1
1 +xwiki:XWiki.CBenson
Hidden
... ... @@ -1,1 +1,1 @@
1 -true
1 +false
Tags
... ... @@ -1,1 +1,1 @@
1 -LSS|communication|protocol|programming|firmware|control|LSS-Ref
1 +LSS|communication|protocol|programming|firmware|control
Content
... ... @@ -1,5 +1,4 @@
1 -(% class="wikigeneratedid" id="HTableofContents" %)
2 -**Table of Contents**
1 += Table of Contents =
3 3  
4 4  {{toc depth="3"/}}
5 5  
... ... @@ -51,7 +51,7 @@
51 51  
52 52  == Configuration Commands ==
53 53  
54 -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:Lynxmotion Smart Servo (LSS).LSS - RC PWM.WebHome]].
53 +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]].
55 55  
56 56  1. Start with a number sign # (U+0023)
57 57  1. Servo ID number as an integer
... ... @@ -137,42 +137,41 @@
137 137  = Command List =
138 138  
139 139  |= #|=Description|= Action|= Query|= Config|= RC|= Serial|= Units|= Notes
140 -| 1|[[**L**imp>>||anchor="H1.Limp28L29"]]| L| | | | ✓|none|
141 -| 2|[[**H**alt & Hold>>||anchor="H2.Halt26Hold28H29"]]| H| | | | ✓|none|
142 -| 3|[[**T**imed move>>||anchor="H3.Timedmove28T29"]]| T| | | | ✓|milliseconds| Modifier only (P, D, MD)
143 -| 4|[[**S**peed>>||anchor="H4.Speed28S29"]]| S| | | | ✓|microseconds / second| Modifier only (P)
144 -| 5|[[**M**ove in **D**egrees (relative)>>||anchor="H5.28Relative29MoveinDegrees28MD29"]]| MD| | | | ✓|tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)|
145 -| 6|[[**O**rigin Offset>>||anchor="H6.OriginOffsetAction28O29"]]| O| QO| CO| ✓| ✓|tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)|
146 -| 7|[[**A**ngular **R**ange>>||anchor="H7.AngularRange28AR29"]]| AR| QAR| CAR| ✓| ✓|tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)|
147 -| 8|[[Position in **P**ulse>>||anchor="H8.PositioninPulse28P29"]]| P| QP| | | ✓|microseconds|(((
139 +| 1|[[**L**imp>>||anchor="H1.Limp28L29"]]| L| | | | ✓| none|
140 +| 2|[[**H**alt & Hold>>||anchor="H2.Halt26Hold28H29"]]| H| | | | ✓| none|
141 +| 3|[[**T**imed move>>||anchor="H3.Timedmove28T29"]]| T| | | | ✓| milliseconds| Modifier only
142 +| 4|[[**S**peed>>||anchor="H4.Speed28S29"]]| S| | | | ✓| microseconds / second| Modifier only
143 +| 5|[[**M**ove in **D**egrees (relative)>>||anchor="H5.28Relative29MoveinDegrees28MD29"]]| MD| | | | ✓| tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)|
144 +| 6|[[**O**rigin Offset>>||anchor="H6.OriginOffsetAction28O29"]]| O| QO| CO| ✓| ✓| tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)|
145 +| 7|[[**A**ngular **R**ange>>||anchor="H7.AngularRange28AR29"]]| AR| QAR| CAR| ✓| ✓| tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)|
146 +| 8|[[Position in **P**ulse>>||anchor="H8.PositioninPulse28P29"]]| P| QP| | | ✓| microseconds|(((
148 148  See details below
149 149  )))
150 -| 9|[[Position in **D**egrees>>||anchor="H9.PositioninDegrees28D29"]]| D| QD| | | ✓|tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)|
151 -| 10|[[**W**heel mode in **D**egrees>>||anchor="H10.WheelModeinDegrees28WD29"]]| WD| QWD| | | ✓|tenths of degrees per second (ex 248 = 24.8 degrees per second)|A.K.A. "Speed mode" or "Continuous rotation"
152 -| 11|[[**W**heel mode in **R**PM>>||anchor="H11.WheelModeinRPM28WR29"]]| WR| QWR| | | ✓| rpm|A.K.A. "Speed mode" or "Continuous rotation"
153 -| 12|[[Max **S**peed in **D**egrees>>||anchor="H12.SpeedinDegrees28SD29"]]| SD| QSD| CSD| ✓| ✓|tenths of degrees per second (ex 248 = 24.8 degrees per second)|QSD: Add modifier "2" for instantaneous speed
154 -| 13|[[Max **S**peed in **R**PM>>||anchor="H13.SpeedinRPM28SR29"]]| SR| QSR| CSR| ✓| ✓|rpm|QSR: Add modifier "2" for instantaneous speed
149 +| 9|[[Position in **D**egrees>>||anchor="H9.PositioninDegrees28D29"]]| D| QD| | | ✓| tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)|
150 +| 10|[[**W**heel mode in **D**egrees>>||anchor="H10.WheelModeinDegrees28WD29"]]| WD| QWD| | | ✓| tenths of degrees per second (ex 248 = 24.8 degrees per second)|
151 +| 11|[[**W**heel mode in **R**PM>>||anchor="H11.WheelModeinRPM28WR29"]]| WR| QWR| | | ✓| rpm|
152 +| 12|[[Max **S**peed in **D**egrees>>||anchor="H12.SpeedinDegrees28SD29"]]| SD| QSD| CSD| ✓| ✓| tenths of degrees per second (ex 248 = 24.8 degrees per second)|QSD: Add modifier "2" for instantaneous speed
153 +| 13|[[Max **S**peed in **R**PM>>||anchor="H13.SpeedinRPM28SR29"]]| SR| QSR| CSR| ✓| ✓| rpm|QSR: Add modifier "2" for instantaneous speed
155 155  | 14|[[**A**ngular **S**tiffness>>||anchor="H14.AngularStiffness28AS29"]]| AS| QAS| CAS| ✓| ✓|none|-4 to +4, but suggested values are between 0 to +4
156 156  | 15|[[**A**ngular **H**olding Stiffness>>||anchor="H15.AngularHoldStiffness28AH29"]]|AH|QAH|CAH| | ✓|none|-10 to +10, with default as 0.
157 157  |15b|[[**A**ngular **A**cceleration>>||anchor="H15b:AngularAcceleration28AA29"]]|AA|QAA|CAA| | ✓|degrees per second squared|Increments of 10 degrees per second squared
158 158  |15c|[[**A**ngular **D**eceleration>>||anchor="H15c:AngularDeceleration28AD29"]]|AD|QAD|CAD| | ✓|degrees per second squared|Increments of 10 degrees per second squared
159 -|15d|[[**E**nable **M**otion control>>||anchor="H15d:MotionControl28MC29"]]|EM|QEM| | | ✓|none|EM0 to disable motion control, EM1 to enable. Session specific / does not survive power cycles
160 -| 16|[[**LED** Color>>||anchor="H16.RGBLED28LED29"]]| LED| QLED| CLED| ✓| ✓|none (integer from 0 to 8)|0=OFF 1=RED 2=GREEN 3= BLUE 4=YELLOW 5=CYAN 6=MAGENTA, 7=WHITE
161 -| 16b|[[**L**ED Blinking>>||anchor="H16b.LEDBlinking"]]| | | CLB| ✓| |none (integer from 0 to 63)|0=No blinking, 1=Blink while limp 2=Blink while holding 3=Blink while accel 4=Blink while decel 5=Blink while free 6=Blink while travel, 63=Always blink
162 -| 17|[[**ID** #>>||anchor="H17.IdentificationNumber"]]| | QID| CID| | ✓|none (integer from 0 to 250)|Note: ID 254 is a "broadcast" which all servos respond to
163 -| 18|[[**B**aud rate>>||anchor="H18.BaudRate"]]| B| QB| CB| | ✓|none (integer)|
164 -| 19|[[**G**yre direction (**G**)>>||anchor="H19.GyreRotationDirection"]]| G| QG| CG| ✓| ✓|none | Gyre / rotation direction where 1= CW (clockwise) -1 = CCW (counter-clockwise)
165 -| 20|[[**F**irst Position (**P**ulse)>>||anchor="H20.First2InitialPosition28pulse29"]]| | QFP|CFP | ✓| ✓|none |
166 -| 21|[[**F**irst Position (**D**egrees)>>||anchor="H21.First2InitialPosition28Degrees29"]]| | QFD|CFD| ✓| ✓|none |
167 -| 22|[[**T**arget (**D**egree) **P**osition>>||anchor="H22.QueryTargetPositioninDegrees28QDT29"]]| | QDT| | | ✓|tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)|
168 -| 23|[[**M**odel **S**tring>>||anchor="H23.QueryModelString28QMS29"]]| | QMS| | | |none (string)| Recommended to determine the model|
169 -| 23b|[[**M**odel>>||anchor="H23b.QueryModel28QM29"]]| | QM| | | |none (integer)| Returns a raw value representing the three model inputs (36 bit)|
170 -| 24|[[Serial **N**umber>>||anchor="H24.QuerySerialNumber28QN29"]]| | QN| | | |none (integer)|
171 -| 25|[[**F**irmware version>>||anchor="H25.QueryFirmware28QF29"]]| | QF| | | |none (integer)|
172 -| 26|[[**Q**uery (general status)>>||anchor="H26.QueryStatus28Q29"]]| | Q| | | ✓|none (integer from 1 to 8)| See command description for details
173 -| 27|[[**V**oltage>>||anchor="H27.QueryVoltage28QV29"]]| | QV| | | ✓|millivolts (ex 5936 = 5936mV = 5.936V)|
174 -| 28|[[**T**emperature>>||anchor="H28.QueryTemperature28QT29"]]| | QT| | | ✓|tenths of degrees Celsius|Max temp before error: 85°C (servo goes limp)
175 -| 29|[[**C**urrent>>||anchor="H29.QueryCurrent28QC29"]]| | QC| | | ✓|milliamps (ex 200 = 0.2A)|
158 +|15d|[[**M**otion **C**ontrol>>||anchor="H15d:MotionControl28MC29"]]|MC|QMC| | | ✓|none|MC0 to disable motion control, MC1 to enable. Session specific
159 +| 16|[[**LED** Color>>||anchor="H16.RGBLED28LED29"]]| 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
160 +| 17|[[**ID** #>>||anchor="H17.IdentificationNumber"]]| | QID| CID| | ✓| none (integer from 0 to 250)|Note: ID 254 is a "broadcast" which all servos respond to
161 +| 18|[[**B**aud rate>>||anchor="H18.BaudRate"]]| B| QB| CB| | ✓| none (integer)|
162 +| 19|[[**G**yre direction (**G**)>>||anchor="H19.GyreRotationDirection"]]| G| QG| CG| ✓| ✓| none | Gyre / rotation direction where 1= CW (clockwise) -1 = CCW (counter-clockwise)
163 +| 20|[[**F**irst Position (**P**ulse)>>||anchor="H20.First2InitialPosition28pulse29"]]| | QFP|CFP | ✓| ✓| none |
164 +| 21|[[**F**irst Position (**D**egrees)>>||anchor="H21.First2InitialPosition28Degrees29"]]| | QFD|CFD| ✓| ✓| none |
165 +| 22|[[**T**arget (**D**egree) **P**osition>>||anchor="H22.QueryTargetPositioninDegrees28QDT29"]]| | QDT| | | ✓| tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)|
166 +| 23|[[**M**odel **S**tring>>||anchor="H23.QueryModelString28QMS29"]]| | QMS| | | | none (string)| Recommended to determine the model|
167 +| 23b|[[**M**odel>>||anchor="H23b.QueryModel28QM29"]]| | QM| | | | none (integer)| Returns a raw value representing the three model inputs (36 bit)|
168 +| 24|[[Serial **N**umber>>||anchor="H24.QuerySerialNumber28QN29"]]| | QN| | | | none (integer)|
169 +| 25|[[**F**irmware version>>||anchor="H25.QueryFirmware28QF29"]]| | QF| | | | none (integer)|
170 +| 26|[[**Q**uery (general status)>>||anchor="H26.QueryStatus28Q29"]]| | Q| | | ✓| none (integer from 1 to 8)| See command description for details
171 +| 27|[[**V**oltage>>||anchor="H27.QueryVoltage28QV29"]]| | QV| | | ✓| millivolts (ex 5936 = 5936mV = 5.936V)|
172 +| 28|[[**T**emperature>>||anchor="H28.QueryTemperature28QT29"]]| | QT| | | ✓| tenths of degrees Celsius|Max temp before error: 85°C (servo goes limp)
173 +| 29|[[**C**urrent>>||anchor="H29.QueryCurrent28QC29"]]| | QC| | | ✓| milliamps (ex 200 = 0.2A)|
176 176  | 30|[[**RC** Mode>>||anchor="H30.RCMode28CRC29"]]| | |CRC| |✓|none|(((
177 177  CRC: Add modifier "1" for RC-position mode.
178 178  CRC: Add modifier "2" for RC-wheel mode.
... ... @@ -203,8 +203,6 @@
203 203  
204 204  Timed move can be used only as a modifier for a position (P) action. The units are in milliseconds, so a timed move of 2500 milliseconds would cause the servo to rotate from its current position to the desired position in 2.5 seconds. This command is in place to ensure backwards compatibility with the SSC-32 / 32U protocol.
205 205  
206 -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.
207 -
208 208  ====== __4. Speed (**S**)__ ======
209 209  
210 210  Example: #5P1500S750<cr>
... ... @@ -422,7 +422,7 @@
422 422  
423 423  {More details to come}
424 424  
425 -====== __15d: Motion Control (**EM**)__ ======
421 +====== __15d: Motion Control (**MC**)__ ======
426 426  
427 427  {More details to come}
428 428  
... ... @@ -567,12 +567,12 @@
567 567  |ex: *5Q2<cr>|Free moving|Motor driving circuit is not powered and horn can be moved freely
568 568  |ex: *5Q3<cr>|Accelerating|Increasing speed from rest (or previous speeD) towards travel speed
569 569  |ex: *5Q4<cr>|Traveling|Moving at a stable speed
570 -|ex: *5Q5<cr>|Decelerating|Decreasing from travel speed towards final position.
566 +|ex: *5Q5<cr>|Deccelerating|Decreasing speed towards travel speed towards rest
571 571  |ex: *5Q6<cr>|Holding|Keeping current position
572 572  |ex: *5Q7<cr>|Stepping|Special low speed mode to maintain torque
573 -|ex: *5Q8<cr>|Outside limits|{More details coming soon}
569 +|ex: *5Q8<cr>|Outside limits|More details coming soon
574 574  |ex: *5Q9<cr>|Stuck|Motor cannot perform request movement at current speed setting
575 -|ex: *5Q10<cr>|Blocked|Similar to stuck, but the motor is at maximum duty and still cannot move (i.e.: stalled)
571 +|ex: *5Q10<cr>|Blocked|Similar to stuck, but the motor is at maxiumum duty and still cannot move (i.e.: stalled)
576 576  
577 577  ====== __27. Query Voltage (**QV**)__ ======
578 578  
Copyright RobotShop 2018