background image

 

Comm_EXT Firmware 

The Comm_EXT firmware allows full access to all of the features of the Robot Turret using a simple serial 

protocol  and  instruction  set.  This  firmware  that  comes  preloaded  on  Arbotix's  that  ship  with  Robot 

Turret.    You  do  not  need  to  reprogram  your  Arbotix  unless  you  intend  to  modify  or  design  your  own 

firmware.  

The  firmware  has  two  modes  of  operation  built  in:  Commander  Standard  mode  and  Commander 

Extended mode.  

The  Commander  Standard  protocol  is  built  to  be  plug-n-play  compatible  with  the  Arbotix  Commander 

v2.0 Gamepad Controller. It uses the Right Joystick on the Arbotix Commander Gamepad to control the 

Pan/Tilt and the buttons (R1, R2, R3, L4, L5, L6, RT, LT) are tied directly to digital outputs (d0-d7) on the 

Robot  Turret's  Arbotix.  Please  note  that  the standard  protocol  is  'output  only', there  is  no method  for 

reading  the  I/Os  as  input.  It  also  has  a  lower  servo  resolution  (0-255)  than  the  Commander  Extended 

protocol. There is an alternate firmware available for use in this mode, Comm_EXT Proportional which 

allows  for  proportional  control  of  the  pan/tilt-  this  is  much  better  for  'aiming'  as  the  joystick  will  not 

auto-center  and  does  not  directly  control  the  pan/tilt's  position.  For  a  full  explanation  of  the 

Commander Standard protocol, please refer to the Arbotix Commander GamePad Controller Manual. 

The Commander Extended protocol is intended to be the preferred PC communication protocol and the 

default  protocol  for  the  Robot  Turret.  It  allows  for    full  resolution  (0-1023)  control  of  your  pan  &  tilt 

servos, access/polling of digital & analog I/O, and DC motor speed & directional control.  

The  Packet  Structure  consists  of  8  bytes  sent  to  the  Arbotix  via  serial  connection.  Please  refer  to  the 

tables below for a breakdown of the Commander Extended protocol. 

Commander Extended Packet Structure: 

Byte 

Name 

Value 

Header 

0xFF (255) 

Tilt H 

0x0-0x3 (0-3) 

Tilt L 

0x00-0xFF (0-255) 

Pan H 

0x0-0x3 = (0-3) 

Pan L 

0x00-0xFF (0-255) 

Button Values 

D7-D0=00000000(leave default 0x00 for Commander Ext) 

Ext Instruction 

See Table Below, default is 0x08 

Checksum 

 = (255 - (byte2+byte3+byte4+byte5+byte6+byte7) Mod 256) 

 

The Pan and Tilt servos use 0-1023 for positional commands; this value cannot be contained in a single 

byte so it is spread over a Low and High Byte. The Ext Instruction Byte should default to 0x08, this will 

keep the Arbotix in "Extended Mode" and retain full resolution of the Pan/Tilt. The Button Values Byte 

(byte 6) should default to 0, as digital IO is handled by the Ext Instruction Byte while in Extended Mode. 

Reviews: