Performance flags – Pololu Maestro User Manual

Page 25

Advertising
background image

Serial CRC error (bit 3)
This error occurs when the Maestro is running in CRC-enabled mode and the cyclic redundancy check (CRC)
byte at the end of the command packet does not match what the Maestro has computed as that packet’s CRC
(

Section 5.d

). In such a case, the Maestro ignores the command packet and generates a CRC error.

Serial protocol error (bit 4)
This error occurs when the Maestro receives an incorrectly formatted or nonsensical command packet. For
example, if the command byte does not match a known command or an unfinished command packet is
interrupted by another command packet, this error occurs.

Serial timeout error (bit 5)
When the serial timeout is enabled, this error occurs whenever the timeout period has elapsed without the
Maestro receiving any valid serial commands. This timeout error can be used to make the servos return to their
home positions in the event that serial communication between the Maestro and its controller is disrupted.

Script stack error (bit 6)
This error occurs when a bug in the user script has caused the stack to overflow or underflow. Any script
command that modifies the stack has the potential to cause this error. The stack depth is 32 on the Micro Maestro
and 126 on the Mini Maestros.

Script call stack error (bit 7)
This error occurs when a bug in the user script has caused the call stack to overflow or underflow. An overflow
can occur if there are too many levels of nested subroutines, or a subroutine calls itself too many times. The
call stack depth is 10 on the Micro Maestro and 126 on the Mini Maestros. An underflow can occur when there
is a return without a corresponding subroutine call. An underflow will occur if you run a subroutine using the
“Restart Script at Subroutine” serial command and the subroutine terminates with a return command rather than
a quit command or an infinite loop.

Script program counter error (bit 8)
This error occurs when a bug in the user script has caused the program counter (the address of the next instruction
to be executed) to go out of bounds. This can happen if your program is not terminated by a quit, return, or
infinite loop.

Performance Flags

The errors tab also shows which performance flags have been set. This feature only applies to the Mini Maestro 12,
18, and 24
. The performance flags indicate that the processor missed a deadline for performing a servo control task,
and as a result the Maestro’s servo control got slowed down in some way. Performance flags should not occur during
normal operation as long as your settings are within with the limitations described in

Section 9

.

Pololu Maestro Servo Controller User's Guide

© 2001–2014 Pololu Corporation

4. Using the Maestro Control Center

Page 25 of 73

Advertising