Set pwm (mini maestro 12, 18, and 24 only), Get position, Get moving state – Pololu Maestro User Manual
Page 43

acceleration limit. An acceleration limit causes the speed of a servo to slowly ramp up until it reaches the maximum
speed, then to ramp down again as position approaches target, resulting in a relatively smooth motion from one point
to another. With acceleration and speed limits, only a few target settings are required to make natural-looking motions
that would otherwise be quite complicated to produce.
At the minimum acceleration setting of 1, the servo output takes about 3 seconds to move smoothly from a target of
1 ms to a target of 2 ms.
The acceleration setting has no effect on channels configured as inputs or digital outputs.
Set PWM (Mini Maestro 12, 18, and 24 only)
Compact protocol: 0x8A, on time low bits, on time high bits, period low bits, period high bits
Pololu protocol: 0xAA, device number, 0x0A, on time low bits, on time high bits, period low bits, period high
bits
This command sets the PWM output to the specified on time and period, in units of 1/48 μs. The on time and period
are both encoded with 7 bits per byte in the same way as the target in command 0x84, above. For more information
on PWM, see
. The PWM output is not available on the Micro Maestro.
Get Position
Compact protocol: 0x90, channel number
Pololu protocol: 0xAA, device number, 0x10, channel number
Response: position low 8 bits, position high 8 bits
This command allows the device communicating with the Maestro to get the position value of a channel. The position
is sent as a two-byte response immediately after the command is received.
If the specified channel is configured as a servo, this position value represents the current pulse width that the Maestro
is transmitting on the channel, reflecting the effects of any previous commands, speed and acceleration limits, or
scripts running on the Maestro.
If the channel is configured as a digital output, a position value less than 6000 means the Maestro is driving the line
low, while a position value of 6000 or greater means the Maestro is driving the line high.
If the channel is configured as an input, the position represents the voltage measured on the channel. The inputs on
channels 0–11 are analog: their values range from 0 to 1023, representing voltages from 0 to 5 V. The inputs on
channels 12–23 are digital: their values are either exactly 0 or exactly 1023.
Note that the formatting of the position in this command differs from the target/speed/acceleration formatting in the
other commands. Since there is no restriction on the high bit, the position is formatted as a standard little-endian two-
byte unsigned integer. For example, a position of 2567 corresponds to a response 0x07, 0x0A.
Note that the position value returned by this command is equal to four times the number displayed in the Position box
in the Status tab of the Maestro Control Center.
Get Moving State
Compact protocol: 0x93
Pololu protocol: 0xAA, device number, 0x13
Response: 0x00 if no servos are moving, 0x01 if servos are moving
Pololu Maestro Servo Controller User's Guide
© 2001–2014 Pololu Corporation
5. Serial Interface
Page 43 of 73