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 (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -292,7 +292,11 @@ 292 292 293 293 == Motion == 294 294 295 -====== __Position in Degrees (**D**)__ ====== 295 +|(% colspan="2" %)((( 296 +====== __Position in Degrees__ ====== 297 +))) 298 +|(% style="width:30px" %) |((( 299 +Position in Degrees (**D**) 296 296 297 297 Example: #5D1456<cr> 298 298 ... ... @@ -311,15 +311,24 @@ 311 311 Ex: #5QDT<cr> might return *5QDT6783<cr> 312 312 313 313 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. 318 +))) 314 314 315 -====== __(Relative) Move in Degrees (**MD**)__ ====== 320 +|(% colspan="2" %)((( 321 +====== __(Relative) Move in Degrees__ ====== 322 +))) 323 +|(% style="width:30px" %) |((( 324 +Move in Degrees (**MD**) 316 316 317 - 318 318 Example: #5MD123<cr> 319 319 320 320 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. 329 +))) 321 321 322 -====== __Wheel Mode in Degrees (**WD**)__ ====== 331 +|(% colspan="2" %)((( 332 +====== __Wheel Mode in Degrees__ ====== 333 +))) 334 +|(% style="width:30px" %) |((( 335 +Wheel mode in Degrees (**WD**) 323 323 324 324 Ex: #5WD90<cr> 325 325 ... ... @@ -330,8 +330,13 @@ 330 330 Ex: #5QWD<cr> might return *5QWD90<cr> 331 331 332 332 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). 346 +))) 333 333 334 -====== __Wheel Mode in RPM (**WR**)__ ====== 348 +|(% colspan="2" %)((( 349 +====== __Wheel Mode in RPM__ ====== 350 +))) 351 +|(% style="width:30px" %) |((( 352 +Wheel moed in RPM (**WR**) 335 335 336 336 Ex: #5WR40<cr> 337 337 ... ... @@ -342,8 +342,14 @@ 342 342 Ex: #5QWR<cr> might return *5QWR40<cr> 343 343 344 344 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). 363 +))) 345 345 346 -====== __(Relative) Move in Degrees (**MD**)__ ====== 365 +|(% colspan="2" %)((( 366 +====== __(Relative) Move in Degrees__ ====== 367 +))) 368 +|(% style="width:30px" %) |((( 369 +(% class="wikigeneratedid" %) 370 +Move in Degrees (**MD**) 347 347 348 348 (% class="wikigeneratedid" id="HExample:235M15003Ccr3E" %) 349 349 Example: #5M1500<cr> ... ... @@ -350,8 +350,13 @@ 350 350 351 351 (% class="wikigeneratedid" id="HTherelativemoveinPWMcommandcausestheservotoreaditscurrentpositionandmovebythespecifiednumberofPWMsignal.ForexampleiftheservoissettorotateCW28default29andanMcommandof1500issenttotheservo2Citwillcausetheservotorotateclockwiseby90degrees.NegativePWMvaluewouldcausetheservotorotateintheoppositeconfigureddirection." %) 352 352 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. 377 +))) 353 353 354 -====== __Query Status (**Q**)__ ====== 379 +|(% colspan="2" %)((( 380 +====== __Query Status__ ====== 381 +))) 382 +|(% style="width:30px" %) |((( 383 +Query Status (**Q**) 355 355 356 356 The status query describes what the servo is currently doing. The query returns an integer which must be looked up in the table below. 357 357 ... ... @@ -381,18 +381,29 @@ 381 381 | |ex: *5Q1<cr>|Current limit has been passed|Something cause the current to either spike, or remain too high for too long 382 382 | |ex: *5Q2<cr>|Input voltage detected is below or above acceptable range|Check the voltage of your batteries or power source 383 383 | |ex: *5Q3<cr>|Temperature limit has been reached|The servo is too hot to continue operating safely. 413 +))) 384 384 385 -====== __Limp (**L**)__ ====== 415 +|(% colspan="2" %)((( 416 +====== __Limp__ ====== 417 +))) 418 +|(% style="width:30px" %) |((( 419 +Limp (**L**) 386 386 387 387 Example: #5L<cr> 388 388 389 389 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>. 424 +))) 390 390 391 -====== __Halt & Hold (**H**)__ ====== 426 +|(% colspan="2" %)((( 427 +====== __Halt & Hold__ ====== 428 +))) 429 +|(% style="width:30px" %) |((( 430 +Halt & Hold (**H**) 392 392 393 393 Example: #5H<cr> 394 394 395 395 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.) 435 +))) 396 396 397 397 == Motion Setup == 398 398