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,8 +3,6 @@ 1 -= Table of Contents = 2 - 3 3 {{toc depth="3"/}} 4 4 5 -= Protocol Concepts =3 += Protocol concepts = 6 6 7 7 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. 8 8 ... ... @@ -29,7 +29,7 @@ 29 29 30 30 Action commands are session-specific, therefore once a servo is power cycled, it will not have any "memory" of previous actions or virtual positions (as described at the bottom of this page). 31 31 32 -== Action Modifiers == 30 +=== Action Modifiers === 33 33 34 34 Two commands can be used as action modifiers only: Timed Move and Speed. The format is: 35 35 ... ... @@ -108,7 +108,7 @@ 108 108 109 109 #5QSR1<cr> would return *5QSR20<cr> which represents the value in EEPROM 110 110 111 -== Virtual Angular Position == 109 +=== Virtual Angular Position === 112 112 113 113 {In progress} 114 114 ... ... @@ -136,50 +136,50 @@ 136 136 = Command List = 137 137 138 138 |= #|=Description|= Action|= Query|= Config|= RC|= Serial|= Units|= Notes 139 -| 1|[[**L**imp>>||anchor="H 1.Limp28L29"]]| L| | | | ✓| none|140 -| 2| [[**H**alt & Hold>>||anchor="H2.Halt26Hold28H29"]]|H| | | | ✓| none|141 -| 3| [[**T**imed move>>||anchor="H3.Timedmove28T29"]]|T| | | | ✓| milliseconds| Modifier only142 -| 4| [[**S**peed>>||anchor="H4.Speed28S29"]]|S| | | | ✓| microseconds / second| Modifier only143 -| 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|(((137 +| 1|[[**L**imp>>||anchor="HLimpL"]]| L| | | | ✓| none| 138 +| 2|**H**alt & Hold| H| | | | ✓| none| 139 +| 3|**T**imed move| T| | | | ✓| milliseconds| Modifier only 140 +| 4|**S**peed| S| | | | ✓| microseconds / second| Modifier only 141 +| 5|**M**ove in **D**egrees (relative)| MD| | | | ✓| tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)| 142 +| 6|**O**rigin Offset| O| QO| CO| ✓| ✓| tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)| 143 +| 7|**A**ngular **R**ange| AR| QAR| CAR| ✓| ✓| tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)| 144 +| 8|Position in **P**ulse| P| QP| | | ✓| microseconds|((( 147 147 See details below 148 148 ))) 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 speed153 -| 13| [[Max **S**peed in **R**PM>>||anchor="H13.SpeedinRPM28SR29"]]|SR| QSR| CSR| ✓| ✓| rpm|QSR: Add modifier "2" for instantaneous speed154 -| 14| [[**A**ngular **S**tiffness>>||anchor="H14.AngularStiffness28AS29"]]|AS| QAS| CAS| ✓| ✓|none|-4 to +4, but suggested values are between 0 to +4155 -| 15| [[**A**ngular **H**olding Stiffness>>||anchor="H15.AngularHoldStiffness28AH29"]]|AH|QAH|CAH| | ✓|none|-10 to +10, with default as 0.156 -|15b| [[**A**ngular **A**cceleration>>||anchor="H15b:AngularAcceleration28AA29"]]|AA|QAA|CAA| | ✓|degrees per second squared|Increments of 10 degrees per second squared157 -|15c| [[**A**ngular **D**eceleration>>||anchor="H15c:AngularDeceleration28AD29"]]|AD|QAD|CAD| | ✓|degrees per second squared|Increments of 10 degrees per second squared158 -|15d| [[**M**otion **C**ontrol>>||anchor="H15d:MotionControl28MC29"]]|MC|QMC| | | ✓|none|MC0 to disable motion control, MC1 to enable. Session specific159 -| 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=WHITE160 -| 17| [[**ID** #>>||anchor="H17.IdentificationNumber"]]|| QID| CID| | ✓| none (integer from 0 to 250)|Note: ID 254 is a "broadcast" which all servos respond to161 -| 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 **String**>>||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 details171 -| 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)|174 -| 30| [[**RC** Mode>>||anchor="H30.RCMode28CRC29"]]|| |CRC| |✓|none|(((147 +| 9|Position in **D**egrees| D| QD| | | ✓| tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)| 148 +| 10|**W**heel mode in **D**egrees| WD| QWD| | | ✓| tenths of degrees per second (ex 248 = 24.8 degrees per second)| 149 +| 11|**W**heel mode in **R**PM| WR| QWR| | | ✓| rpm| 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 +| 13|Max **S**peed in **R**PM| SR| QSR| CSR| ✓| ✓| rpm|QSR: Add modifier "2" for instantaneous speed 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. 154 +|15b|**A**ngular **A**cceleration|AA|QAA|CAA| | ✓|degrees per second squared|Increments of 10 degrees per second squared 155 +|15c|**A**ngular **D**eceleration|AD|QAD|CAD| | ✓|degrees per second squared|Increments of 10 degrees per second squared 156 +|15d|**M**otion **C**ontrol|MC|QMC| | | ✓|none|MC0 to disable motion control, MC1 to enable. Session specific 157 +| 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 158 +| 17|**ID** #| | QID| CID| | ✓| none (integer from 0 to 250)|Note: ID 254 is a "broadcast" which all servos respond to 159 +| 18|**B**aud rate| B| QB| CB| | ✓| none (integer)| 160 +| 19|**G**yre direction (**G**)| G| QG| CG| ✓| ✓| none | Gyre / rotation direction where 1= CW (clockwise) -1 = CCW (counter-clockwise) 161 +| 20|**F**irst Position (**P**ulse)| | QFP|CFP | ✓| ✓| none | 162 +| 21|**F**irst Position (**D**egrees)| | QFD|CFD| ✓| ✓| none | 163 +| 22|**T**arget (**D**egree) **P**osition| | QDT| | | ✓| tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)| 164 +| 23|**M**odel **String**| | QMS| | | | none (string)| Recommended to determine the model| 165 +| 23b|**M**odel| | QM| | | | none (integer)| Returns a raw value representing the three model inputs (36 bit)| 166 +| 24|Serial **N**umber| | QN| | | | none (integer)| 167 +| 25|**F**irmware version| | QF| | | | none (integer)| 168 +| 26|**Q**uery (general status)| | Q| | | ✓| none (integer from 1 to 8)| See command description for details 169 +| 27|**V**oltage| | QV| | | ✓| millivolts (ex 5936 = 5936mV = 5.936V)| 170 +| 28|**T**emperature| | QT| | | ✓| tenths of degrees Celsius|Max temp before error: 85°C (servo goes limp) 171 +| 29|**C**urrent| | QC| | | ✓| milliamps (ex 200 = 0.2A)| 172 +| 30|**RC** Mode| | |CRC| |✓|none|((( 175 175 CRC: Add modifier "1" for RC-position mode. 176 176 CRC: Add modifier "2" for RC-wheel mode. 177 177 Any other value for the modifier results in staying in smart mode. 178 178 Puts the servo into RC mode. To revert to smart mode, use the button menu. 179 179 ))) 180 -|31| [[**RESET**>>||anchor="H31.RESET"]]|| | | | ✓|none|Soft reset. See command for details.181 -|32| [[**DEFAULT**>>||anchor="H32.DEFAULTA026CONFIRM"]]|| | | |✓|none|Revert to firmware default values. See command for details182 -|33| [[**UPDATE**>>||anchor="H33.UPDATEA026CONFIRM"]]|| | | |✓|none|Update firmware. See command for details.178 +|31|**RESET**| | | | | ✓|none|Soft reset. See command for details. 179 +|32|**DEFAULT**| | | | |✓|none|Revert to firmware default values. See command for details 180 +|33|**UPDATE**| | | | |✓|none|Update firmware. See command for details. 183 183 184 184 == Details == 185 185