Changes for page LSS-P - Communication Protocol
Last modified by Eric Nantel on 2024/07/03 09:42
Change comment: There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -149,7 +149,7 @@ 149 149 | |[[**F**irst Position (**D**eg)>>||anchor="HFirstPosition"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QFD|(% style="text-align:center" %)CFD|No value|1/10°|Reset required after change. 150 150 | |[[Maximum **S**peed in **D**egrees>>||anchor="HMaximumSpeedinDegrees28SD29"]]|(% style="text-align:center" %)SD|(% style="text-align:center" %)QSD|(% style="text-align:center" %)CSD|Max|0.1°/s|SD overwrites SR / CSD overwrites CSR and vice-versa 151 151 | |[[Maximum **S**peed in **R**PM>>||anchor="HMaximumSpeedinRPM28SR29"]]|(% style="text-align:center" %)SR|(% style="text-align:center" %)QSR|(% style="text-align:center" %)CSR|Max|RPM|SD overwrites SR / CSD overwrites CSR and vice-versa 152 -| |[[Step Mode>>doc:||anchor="HStepMode 28SM29"]]|(% style="text-align:center" %)SM|(% style="text-align:center" %)QM|(% style="text-align:center" %)CSM|2|1, 2, 4|Numbers represent fractions: full step, ½ step, ¼ step152 +| |[[Step Mode>>doc:||anchor="HStepMode"]]|(% style="text-align:center" %)SM|(% style="text-align:center" %)QM|(% style="text-align:center" %)CSM|2|1, 2, 4|Numbers represent fractions: full step, ½ step, ¼ step 153 153 154 154 |(% colspan="8" style="color:orange; font-size:18px" %)[[**Modifiers**>>||anchor="HModifiers"]] 155 155 |(% 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="width:100px" %)**Default**|(% style="width:170px" %)**Unit**|**Notes** ... ... @@ -163,19 +163,19 @@ 163 163 | |[[**Q**uery **M**odel **S**tring>>||anchor="HQueryModelString28QMS29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QMS|(% style="text-align:center" %) | | |Returns the model of servo (ex: LSS-ST1, LSS-HS1, LSS-HT1) 164 164 | |[[**Q**uery **F**irmware Version>>||anchor="HQueryFirmware28QF29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QF|(% style="text-align:center" %) | | | 165 165 | |[[**Q**uery Serial **N**umber>>||anchor="HQuerySerialNumber28QN29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QN|(% style="text-align:center" %) | | |Returns the unique serial number for the servo 166 -| |[[**Q**uery **T**emperature **P**robe>>doc:||anchor="HQueryTemperatureProbe28QTP29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QTP|(% style="text-align:center" %) | | |Queries temperature probe fixed to the stepper motor 167 -| |[[**Q**uery **T**emp of **M**CU>>doc:||anchor="HQueryMCUTemperature28QTM29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QTM|(% style="text-align:center" %) | | | 168 -| |[[**Q**uery **T**emp of **C**ontroller>>doc:||anchor="HQueryTempofController28QTCW29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QTCW, QTCE|(% style="text-align:center" %) | | |((( 166 +| |**Q**uery **T**emperature **P**robe|(% style="text-align:center" %) |(% style="text-align:center" %)QTP|(% style="text-align:center" %) | | |Queries temperature probe fixed to stepper motor 167 +| |**Q**uery **T**emp of **C**ontroller|(% style="text-align:center" %) |(% style="text-align:center" %)QTCW, QTCE|(% style="text-align:center" %) | | |((( 169 169 QTCW: Queries the temperature status of the motor controller (pre-warning) 170 170 171 171 QTCE: Queries the temperature status of the motor controller (over-temp error) 172 172 ))) 173 -| |[[**Q**uery **I**MU Linear **X**>>doc:||anchor="HQueryIMULinear28QIXQIYQIZ29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QIX|(% style="text-align:center" %) | |mm/s^2| 174 -| |[[**Q**uery **I**MU Linear **Y**>>doc:||anchor="HQueryIMULinear28QIXQIYQIZ29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QIY|(% style="text-align:center" %) | |mm/s^2| 175 -| |[[**Q**uery **I**MU Linear **Z**>>doc:||anchor="HQueryIMULinear28QIXQIYQIZ29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QIZ|(% style="text-align:center" %) | |mm/s^2| 176 -| |[[**Q**uery **I**MU Angular Accel **α** >>doc:||anchor="HQueryIMUAngular28QIAQIBQIC29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QIA|(% style="text-align:center" %) | |°/s^2|Query IMU Angular Accel α (Alpha) 177 -| |[[**Q**uery **I**MU Angular Accel **β**>>doc:||anchor="HQueryIMUAngular28QIAQIBQIC29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QIB|(% style="text-align:center" %) | |°/s^2|Query IMU Angular Accel β (Beta) 178 -| |[[**Q**uery **I**MU Angular Accel **γ**>>doc:||anchor="HQueryIMUAngular28QIAQIBQIC29"]]|(% style="text-align:center" %) |(% style="text-align:center" %)QIC / QIG|(% style="text-align:center" %) | |°/s^2|Query IMU Angular Accel γ (Gamma) 172 +| |**Q**uery **C**urrent **S**peed |(% style="text-align:center" %) |(% style="text-align:center" %)QCS|(% style="text-align:center" %) | | |Queries the motor controller's calculated speed 173 +| |**Q**uery **I**MU Linear **X**|(% style="text-align:center" %) |(% style="text-align:center" %)QIX|(% style="text-align:center" %) | |mm/s^2| 174 +| |**Q**uery **I**MU Linear **Y**|(% style="text-align:center" %) |(% style="text-align:center" %)QIY|(% style="text-align:center" %) | |mm/s^2| 175 +| |**Q**uery **I**MU Linear **Z**|(% style="text-align:center" %) |(% style="text-align:center" %)QIZ|(% style="text-align:center" %) | |mm/s^2| 176 +| |**Q**uery **I**MU Angular Accel **α** |(% style="text-align:center" %) |(% style="text-align:center" %)QIA|(% style="text-align:center" %) | |°/s^2|Query IMU Angular Accel α (Alpha) 177 +| |**Q**uery **I**MU Angular Accel **β**|(% style="text-align:center" %) |(% style="text-align:center" %)QIB|(% style="text-align:center" %) | |°/s^2|Query IMU Angular Accel β (Beta) 178 +| |**Q**uery **I**MU Angular Accel **γ**|(% style="text-align:center" %) |(% style="text-align:center" %)QIC / QIG|(% style="text-align:center" %) | |°/s^2|Query IMU Angular Accel γ (Gamma) 179 179 180 180 |(% colspan="8" style="color:orange; font-size:18px" %)[[**RGB LED**>>||anchor="HRGBLED"]] 181 181 |(% 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="width:100px" %)**Default**|(% style="width:170px" %)**Unit**|**Notes** ... ... @@ -185,26 +185,13 @@ 185 185 186 186 == (% style="color:inherit; font-family:inherit" %)Communication Setup(%%) == 187 187 188 -|(% colspan="2" %)((( 189 -====== __Reset__ ====== 190 -))) 191 -| |((( 192 -Ex: #5RESET<cr> 188 +====== (% style="color:inherit; font-family:inherit" %)__Reset__(%%) ====== 193 193 194 - Thiscommand doesa "softreset"and reverts allcommands tothose storedinEEPROM (i.e. configuration commands). Note:after a RESET command is received,the LSS will restart and performnitilizationagain, making it unavailable on thebus fora bit.See Session,note#2 formore details.195 -) ))190 +(% style="color:inherit; font-family:inherit" %)Ex: #5RESET<cr> 191 +This command does a "soft reset" and reverts all commands to those stored in EEPROM (i.e. configuration commands). Note: after a RESET command is received, the LSS will restart and perform initilization again, making it unavailable on the bus for a bit. See Session, note #2 for more details. 196 196 197 -|(% colspan="2" %)((( 198 198 ====== (% style="color:inherit; font-family:inherit" %)__Default & confirm__(%%) ====== 199 -))) 200 -| |((( 201 -Ex: #5RESET<cr> 202 202 203 -This command does a "soft reset" and reverts all commands to those stored in EEPROM (i.e. configuration commands). Note: after a RESET command is received, the LSS will restart and perform initilization again, making it unavailable on the bus for a bit. See Session, note #2 for more details. 204 -))) 205 - 206 -====== ====== 207 - 208 208 (% style="color:inherit; font-family:inherit" %)Ex: #5DEFAULT<cr> 209 209 210 210 (% style="color:inherit; font-family:inherit" %)This command sets in motion the reset of all values to the default values included with the version of the firmware installed on that servo. The servo then waits for the CONFIRM command. Any other command received will cause the servo to exit the DEFAULT function. ... ... @@ -480,10 +480,8 @@ 480 480 481 481 This command will cause servo #5's positions to be inverted, effectively causing the servo to rotate in the opposite direction given the same command. For example in a 2WD robot, servos are often physically installed back to back, therefore setting one of the servos to a negative gyration, the same wheel command (ex WR30) to both servos will cause the robot to move forward or backward rather than rotate. 482 482 483 -Query Gyre Direction (**QG**) 470 +Query Gyre Direction (**QG**)Ex: #5QG<cr> might return *5QG-1<cr> 484 484 485 -Ex: #5QG<cr> might return *5QG-1<cr> 486 - 487 487 The value returned above means the servo is in a counter-clockwise gyration. Sending a #5WR30 command will rotate the servo in a counter-clockwise gyration at 30 RPM. 488 488 489 489 Configure Gyre (**CG**) ... ... @@ -520,24 +520,6 @@ 520 520 521 521 Configure Speed in RPM (**CSR**)Ex: #5CSR45<cr>Using the CSR command sets the servo's maximum speed which is saved in EEPROM. In the example above, the servo's maximum speed will be set to 45rpm. When the servo is powered on (or after a reset), the CSR value is used. Note that CSD and CSR are effectively the same, but allow the user to specify the speed in either unit. The last command (either CSR or CSD) received is what the servo uses for that session. 522 522 523 -====== __Step Mode (**SM**)__ ====== 524 - 525 -Ex: #8SM2<cr> 526 - 527 -This sets servo with ID 8 to 1/2 step mode. Since this is an action as opposed to a configuration, it only affects that session. 528 - 529 -Note that the torque and max RPM of the actuator will be affected. 530 - 531 -Query Step Mode (**QSM**) 532 - 533 -Ex: #8QSM<cr> might return *8QSM2<cr> meaning servo with ID 8 is set to half step mode. 534 - 535 -Configure Step Mode (**CSM**) 536 - 537 -Ex: #8SM2<cr> 538 - 539 -This sets servo with ID 8 to 1/2 step mode. Since this is a configuration as opposed to a configuration and the servo will be in 1/2 step mode when powered. 540 - 541 541 == Modifiers == 542 542 543 543 ====== __Speed (**SD**) modifier__ ====== ... ... @@ -569,27 +569,23 @@ 569 569 570 570 == Telemetry == 571 571 572 -====== __Query PCB Temperature (**QT**)__ ======539 +====== __Query Voltage (**QV**)__ ====== 573 573 574 -Ex: #5Q T<cr> might return *5QT564<cr>541 +Ex: #5QV<cr> might return *5QV11200<cr> 575 575 576 -The unitsareintenths of degreesCelcius, so in theexample above,theservo'sinternaltemperatureis56.4degreesC. To convertfrom degrees Celciustodegrees Farenheit, multiply by 1.8and add 32. Therefore56.4C =133.52F.543 +The number returned is in milliVolts, so in the case above, servo with ID 5 has an input voltage of 11.2V. 577 577 578 -====== __Query Temperature Probe(**QTP**)__ ======545 +====== __Query Temperature (**QT**)__ ====== 579 579 580 -Ex: 547 +Ex: #5QT<cr> might return *5QT564<cr> 581 581 582 - ======__QueryTemp ofController(**QTCW**)__======549 +The units are in tenths of degrees Celcius, so in the example above, the servo's internal temperature is 56.4 degrees C. To convert from degrees Celcius to degrees Farenheit, multiply by 1.8 and add 32. Therefore 56.4C = 133.52F. 583 583 584 - Ex:551 +====== __Query Motor Driver Current (**QC**)__ ====== 585 585 586 -An alternative is QTCE 587 - 588 -====== __Query Current (**QC**)__ ====== 589 - 590 590 Ex: #5QC<cr> might return *5QC140<cr> 591 591 592 -The units are in milliamps, so in the example above, the servo is consuming 140mA, or 0.14A. It represents the RMS value. The query calculates the RMS value of the current sent from the motor driver to the stepper motor.555 +The units are in milliamps, so in the example above, the servo is consuming 140mA, or 0.14A. It represents the RMS value. 593 593 594 594 ====== __Query Model String (**QMS**)__ ====== 595 595 ... ... @@ -608,17 +608,3 @@ 608 608 Ex: #5QN<cr> might return *5QN12345678<cr> 609 609 610 610 The number in the response (12345678) would be the servo's serial number which is set and should not be changed by the user. 611 - 612 -====== __Query IMU Linear (**QIX** **QIY** **QIZ**)__ ====== 613 - 614 -Ex: #6QIX<cr> might return *6QIX30<cr> 615 - 616 -This command queries servo 6's IMU's linear accelerometer in the X direction. The response is 30mm per second squared. 617 - 618 -====== __Query IMU Angular (**QIA** **QIB** **QIC**)__ ====== 619 - 620 -Ex: #6QIB<cr> might return *6QIB44<cr> 621 - 622 -This command queries servo 6's IMU's linear accelerometer in the X direction. The response is 4.4 degrees per second squared. 623 - 624 -