Data Sheet
Serial (RS232/USB) Operation
154 Advanced Digital Motor Controller User Manual V1.8 August 28, 2017
Command Priorities
The controller will respond to commands from one of three or four possible sources:
• Serial (RS232 or USB)
• Pulse
• Analog
• Spektrum Radio (when available)
One, two, three or all four command modes can be enabled at the same time. When
multiple modes are enabled, the controller will select which mode to use based on a user
selectable priority scheme. The priority mechanism is described in details in “Input Com-
mand Modes and Priorities” on page 73.
USB vs. Serial Communication Arbitration
Commands may arrive through the RS232 or the USB port at the same time. They are
executed as they arrive in a first come first served manner. Commands that are arriving
via USB are replied on USB. Commands arriving via the UART are replied on the UART.
Redirection symbol for redirecting outputs to the other port exists (e.g. a command can
be made respond on USB even though it arrived on RS232).
CAN Commands
Command arriving via CAN share the same priority as serial commands and may conflict
with command arriving via serial or USB. CAN queries will not interfere with serial/USB
operation.
Script-generated Commands
Commands that are issued from a user script are handled by the controller exactly as seri-
al commands received via USB or RS232. Care must be taken that conflicting commands
are not sent via the USB/serial at the same time that a different command is issued by the
script.
Script commands are also subject to the serial Watchdog timer. Motors will be stopped
and command input will switch according to the Priority table if the Watchdog timer is al-
lowed to timeout.
Communication Protocol Description
The controller uses a simple communication protocol based on ASCII characters. Com-
mands are not case sensitive. ?a is the same as ?A. Commands are terminated by car-
riage return (Hex 0x0d, ‘\r’).
The underscore ‘_’ character is interpreted by the controller as a carriage return. This alter-
nate character is provided so that multiple commands can be easily concatenated inside a
single string.
All other characters lower than 0x20 (space) have no effect.