Changes for page LSS-PRO Communication Protocol
Last modified by Eric Nantel on 2024/09/06 14:52
Change comment: There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. CBenson1 +xwiki:XWiki.ENantel - Hidden
-
... ... @@ -1,1 +1,1 @@ 1 - true1 +false - Content
-
... ... @@ -1,7 +1,5 @@ 1 1 {{warningBox warningText="More information coming soon"/}} 2 2 3 - 4 - 5 5 (% class="wikigeneratedid" id="HTableofContents" %) 6 6 **Page Contents** 7 7 ... ... @@ -235,9 +235,11 @@ 235 235 ))) 236 236 237 237 |(% colspan="2" %)((( 238 -====== (% style="color:inherit; font-family:inherit" %)__ID Number (**ID**)__(%%) ======236 +====== (% style="color:inherit; font-family:inherit" %)__ID Number__(%%) ====== 239 239 ))) 240 240 |(% style="width:30px" %) |((( 239 +This assigns ID #5 to the servo previously assigned to ID 0 240 + 241 241 (% style="color:inherit; font-family:inherit" %)Configure ID Number (**CID**) 242 242 243 243 (% style="color:inherit; font-family:inherit" %)Ex: #0CID5<cr> ... ... @@ -252,7 +252,7 @@ 252 252 ))) 253 253 254 254 |(% colspan="2" %)((( 255 -====== (% style="color:inherit; font-family:inherit" %)__Enable CAN Terminal Resistor (**ET**)__(%%) ======255 +====== (% style="color:inherit; font-family:inherit" %)__Enable CAN Terminal Resistor__(%%) ====== 256 256 ))) 257 257 |(% style="width:30px" %) |((( 258 258 Query Enable CAN Terminal Resistor (**QET**) ... ... @@ -269,7 +269,7 @@ 269 269 ))) 270 270 271 271 |(% colspan="2" %)((( 272 -====== __USB Connection Status (**UC**)__ ======272 +====== __USB Connection Status__ ====== 273 273 ))) 274 274 |(% style="width:30px" %) |((( 275 275 Query USB Connection Status (**QUC**) ... ... @@ -278,7 +278,7 @@ 278 278 ))) 279 279 280 280 |(% colspan="2" %)((( 281 -====== __Firmware Release (**FR**)__ ======281 +====== __Firmware Release__ ====== 282 282 ))) 283 283 |(% style="width:30px" %) |((( 284 284 Query Firmware Release (**QFR**) ... ... @@ -290,7 +290,11 @@ 290 290 291 291 == Motion == 292 292 293 -====== __Position in Degrees (**D**)__ ====== 293 +|(% colspan="2" %)((( 294 +====== __Position in Degrees__ ====== 295 +))) 296 +|(% style="width:30px" %) |((( 297 +Position in Degrees (**D**) 294 294 295 295 Example: #5D1456<cr> 296 296 ... ... @@ -309,15 +309,24 @@ 309 309 Ex: #5QDT<cr> might return *5QDT6783<cr> 310 310 311 311 The query target position command returns the target virtual position during and after an action which results in a rotation of the servo horn. In the example above, the servo is rotating to a virtual position of 678.3 degrees. Should the servo not have a target position or be in wheel mode, it will respond with the last target position used. 316 +))) 312 312 313 -====== __(Relative) Move in Degrees (**MD**)__ ====== 318 +|(% colspan="2" %)((( 319 +====== __(Relative) Move in Degrees__ ====== 320 +))) 321 +|(% style="width:30px" %) |((( 322 +Move in Degrees (**MD**) 314 314 315 - 316 316 Example: #5MD123<cr> 317 317 318 318 The relative move command causes the servo to read its current position and move the specified number of tenths of degrees in the corresponding position. For example if the servo is set to rotate CW (default) and an MD command of 123 is sent to the servo, it will cause the servo to rotate clockwise by 12.3 degrees. Negative commands would cause the servo to rotate in the opposite configured direction. 327 +))) 319 319 320 -====== __Wheel Mode in Degrees (**WD**)__ ====== 329 +|(% colspan="2" %)((( 330 +====== __Wheel Mode in Degrees__ ====== 331 +))) 332 +|(% style="width:30px" %) |((( 333 +Wheel mode in Degrees (**WD**) 321 321 322 322 Ex: #5WD90<cr> 323 323 ... ... @@ -328,8 +328,13 @@ 328 328 Ex: #5QWD<cr> might return *5QWD90<cr> 329 329 330 330 The servo replies with the angular speed in degrees per second. A negative sign would indicate the opposite direction (for factory default a negative value would be counter clockwise). 344 +))) 331 331 332 -====== __Wheel Mode in RPM (**WR**)__ ====== 346 +|(% colspan="2" %)((( 347 +====== __Wheel Mode in RPM__ ====== 348 +))) 349 +|(% style="width:30px" %) |((( 350 +Wheel moed in RPM (**WR**) 333 333 334 334 Ex: #5WR40<cr> 335 335 ... ... @@ -340,8 +340,14 @@ 340 340 Ex: #5QWR<cr> might return *5QWR40<cr> 341 341 342 342 The servo replies with the angular speed in rpm. A negative sign would indicate the opposite direction (for factory default a negative value would be counter clockwise). 361 +))) 343 343 344 -====== __(Relative) Move in Degrees (**MD**)__ ====== 363 +|(% colspan="2" %)((( 364 +====== __(Relative) Move in Degrees__ ====== 365 +))) 366 +|(% style="width:30px" %) |((( 367 +(% class="wikigeneratedid" %) 368 +Move in Degrees (**MD**) 345 345 346 346 (% class="wikigeneratedid" id="HExample:235M15003Ccr3E" %) 347 347 Example: #5M1500<cr> ... ... @@ -348,8 +348,13 @@ 348 348 349 349 (% class="wikigeneratedid" id="HTherelativemoveinPWMcommandcausestheservotoreaditscurrentpositionandmovebythespecifiednumberofPWMsignal.ForexampleiftheservoissettorotateCW28default29andanMcommandof1500issenttotheservo2Citwillcausetheservotorotateclockwiseby90degrees.NegativePWMvaluewouldcausetheservotorotateintheoppositeconfigureddirection." %) 350 350 The relative move in PWM command causes the servo to read its current position and move by the specified number of PWM signal. For example if the servo is set to rotate CW (default) and an M command of 1500 is sent to the servo, it will cause the servo to rotate clockwise by 90 degrees. Negative PWM value would cause the servo to rotate in the opposite configured direction. 375 +))) 351 351 352 -====== __Query Status (**Q**)__ ====== 377 +|(% colspan="2" %)((( 378 +====== __Query Status__ ====== 379 +))) 380 +|(% style="width:30px" %) |((( 381 +Query Status (**Q**) 353 353 354 354 The status query describes what the servo is currently doing. The query returns an integer which must be looked up in the table below. 355 355 ... ... @@ -379,18 +379,29 @@ 379 379 | |ex: *5Q1<cr>|Current limit has been passed|Something cause the current to either spike, or remain too high for too long 380 380 | |ex: *5Q2<cr>|Input voltage detected is below or above acceptable range|Check the voltage of your batteries or power source 381 381 | |ex: *5Q3<cr>|Temperature limit has been reached|The servo is too hot to continue operating safely. 411 +))) 382 382 383 -====== __Limp (**L**)__ ====== 413 +|(% colspan="2" %)((( 414 +====== __Limp__ ====== 415 +))) 416 +|(% style="width:30px" %) |((( 417 +Limp (**L**) 384 384 385 385 Example: #5L<cr> 386 386 387 387 This action causes the servo to go "limp". The microcontroller will still be powered, but the motor will not. As an emergency safety feature, should the robot not be doing what it is supposed to or risks damage, use the broadcast ID to set all servos limp #254L<cr>. 422 +))) 388 388 389 -====== __Halt & Hold (**H**)__ ====== 424 +|(% colspan="2" %)((( 425 +====== __Halt & Hold__ ====== 426 +))) 427 +|(% style="width:30px" %) |((( 428 +Halt & Hold (**H**) 390 390 391 391 Example: #5H<cr> 392 392 393 393 This command causes the servo to stop immediately and hold that angular position. It overrides whatever the servo might be doing at the time the command is received (accelerating, travelling, deccelerating, etc.) 433 +))) 394 394 395 395 == Motion Setup == 396 396