Motor1_Invert: Sending the command byte 0x51 followed by one data byte will set the invert forward/reverse mode
for Motor 1. Setting the data byte to 1 will set motor channel 1 to invert mode. Setting the data byte to 0 will set motor
channel 1 to non-invert mode. By default, all motor channels are set to non-invert mode on power-up.
Motor2_Invert: Sending the command byte 0x52 followed by one data byte will set the invert forward/reverse mode
for Motor 2. Setting the data byte to 1 will set motor channel 2 to invert mode. Setting the data byte to 0 will set motor
channel 2 to non-invert mode. By default, all motor channels are set to non-invert mode on power-up.
Motor1_Busy: Sending the command byte 0x4F will return the busy status of motor channel 1. A value of 1 will be
returned when the motor is in the process of moving to a command encoder value target under PID control. When the
motor has reached its target, the busy status value will be set to 0.
Motor2_Busy: Sending the command byte 0x50 will return the busy status of motor channel 2. A value of 1 will be
returned when the motor is in the process of moving to a command encoder value target under PID control. When the
motor has reached its target, the busy status value will be set to 0.
Motor1_Current: Sending the command byte 0x54 will return two data bytes that represent the load current of motor
channel 1. The first data byte is the High byte and the second byte is the Low byte. The motor controller firmware will
assemble the two data bytes into a 16-bit unsigned integer that represents the motor load current in milliamps.
Motor2_Current: Sending the command byte 0x55 will return two data bytes that represent the load current of motor
channel 2. The first data byte is the High byte and the second byte is the Low byte. The motor controller firmware will
assemble the two data bytes into a 16-bit unsigned integer that represents the motor load current in milliamps.
Encoder1_Count: Sending the command byte 0x49 will return four data bytes that represent the current encoder count
with the first being the High byte. The motor controller firmware will assemble the four data bytes into a signed 64-bit long
integer representing the encoder count. The value range is -2,147,483,648 to 2,147,483,647.
Encoder2_Count: Sending the command byte 0x4A will return four data bytes that represent the current encoder count
with the first being the High byte. The motor controller firmware will assemble the four data bytes into a signed 64-bit long
integer representing the encoder count. The value range is -2,147,483,648 to 2,147,483,647.
Encoder1_Degrees: Sending the command byte 0x5B will return four data bytes that represent the current encoder
degree position value with the first being the High byte. The motor controller firmware will assemble the four data bytes
into a signed 64-bit long integer representing the encoder count. The value range is -536,870,912 to 536,870,911.
Encoder2_Degrees: Sending the command byte 0x5C will return four data bytes that represent the current encoder
degree position value with the first being the High byte. The motor controller firmware will assemble the four data bytes
into a signed 64-bit long integer representing the encoder count. The value range is -536,870,912 to 536,870,911.
Reset_Encoder1: Sending the command byte 0x4C resets the encoder 1 value to 0.
Reset_Encoder2: Sending the command byte 0x4D resets the encoder 2 value to 0.
Reset_Encoders: Sending the command byte 0x4E resets the encoder 1 and encoder 2 values to 0.
Speed_PID: Sending the command byte 0x56 followed by six data bytes will set the P, I, and D coefficients used by the
constant speed control algorithm. The controller’s internal firmware uses PID algorithm to accurately control the speed and
position of a DC motor equipped with an encoder. The first two data bytes represent the P coefficient, the next two are the
I coefficient, and the last two are the D coefficient. The firmware divides each coefficient by 1,000. For example, to set the P
coefficient to 1.5, you would write 1500. By default, the PID coefficients are tuned for the TETRIX TorqueNADO motors, and
it is recommended they not be changed. The default firmware settings are P = 1.5, I = 2.5, and D = .008. Any changes made
will be lost when the controller is powered down. Caution: Changes to the PID coefficients might cause damage to motors
and/or mechanisms.
Target_PID: Sending the command byte 0x57 followed by six data bytes will set the P, I, and D coefficients used by the
targeting position control algorithm. The controller’s internal firmware uses PID algorithm to accurately control the speed
and position of a DC motor equipped with an encoder. The first two data bytes represent the P coefficient, the next two are
the I coefficient, and the last two are the D coefficient. The firmware divides each coefficient by 1,000. For example, to set
the P coefficient to 1.5, you would write 1500. By default, the PID coefficients are tuned for the TETRIX TorqueNADO motors,
and it is recommended they not be changed. The default firmware settings are P = 1.5, I = 0, and D = .005. Any changes
made will be lost when the controller is powered down. Caution: Changes to the PID coefficients might cause damage to
motors and/or mechanisms.