SOLO Communication Manual - UART and USB
www.solomotorcontrollers.com
September 2021 - Revision V_1.0.1 Copyright © 2021, All right Reversed. SOLO motor controllers.
11
UART/USB Packets formation _ Commanding and Feedbacks:
To send/receive a command to/from SOLO using UART or USB, you need to form a data packet
combined out of 10 bytes, based on the following format:
A complete data packet to be sent/received to/from SOLO is divided into 6 different sections
and each of these sections are as below:
● INITIATOR: This is a constant valued two byte which indicates the start of a packet, the
value is fixed at “0xFFFF '' in Hex format or “65535” in decimal format.
● DEVICE ADDRESS: This is a single byte which stands for the address of the device, each
SOLO can have an address from 0 to 254 and this address will reside in non-volatile
memory and will be remembered after power recycle, this device addressing is useful
when you want to put lots of SOLO’s in a network, so each of them can be assigned to a
unique address. The default value of the address is set at zero.
● COMMAND: This is a single byte, which is a fixed code that defines the type of the
commands/feedbacks that are sent/received to/from SOLO.
● DATA: This is a 4 bytes data, and it’s used for sending/receiving the data part of a
command/feedback, each DATA can have a different type from Uint32, Int32 or Fixed-
Point which are explained later in this manual.
CRC: This is the CRC byte to control the integrity of the data sent through UART, this
functionality is inactive at the moment (it’s filled with zero)
● ENDING: Similar to the packet initiator, this is again a constant single byte valued at
“0xFE” in HEX format, which stands for the end of a packet sent or received.