Description of the FreeD protocol

The following shows a complete description of the FreeD protocol.

With the use of the XML Protocol Description it is much easier and faster to react to new tracking protocols of new manufacturers:

<?xml version="1.0" encoding="utf-8"?>
<viz_xml_tracking title="xml_freed">
     <interface  type="serial"
                         baud ="38400"
                         size="8"
                         parity="odd"
                         stop="1">
        </interface>
<!--opton for type "udp" "tcp" ?
<!--option for parity "none", "odd", "even", "mark", "space" ?
<!--option for stop 1, 2 ?
<!--option for interface Type "udp" or "tcp" <ip>10.10.10.10</ip> <port>6000</port> ?
<!--option for checksum calculation  1,2,3,4,... we'll use predefined functions> ?
<!--option for value UINT32 INT32 UINT16 INT16 ?
<!--option for order bigendian littleendian ?
<!--option for calc + - * / and one value ?
<!--do not use hex values, 0x80000 = 524288 -->
     <checksum pkglen="29"
                          calculation="1">
     </checksum>
     <extraction count="9">
       <axis name="rotx" start="5" len="3" order="bigendian" value="INT32" calc="/ 32768"></axis> 
       <axis name="roty" start="2" len="3" order="bigendian" value="INT32" calc="/ 32768"></axis>
       <axis name="rotz" start="8" len="3" order="bigendian" value="INT32" calc="/ 32768"></axis>
       <axis name="posx" start="11" len="3" order="bigendian" value="INT32" calc="/ 640"></axis>
       <axis name="posy" start="14" len="3" order="bigendian" value="INT32" calc="/ 640"></axis>
       <axis name="posz" start="17" len="3" order="bigendian" value="INT32" calc="/ 640"></axis
       <axis name="zoom"  start="20" len="3" order="bigendian" value="INT32" calc="- 524288"></axis>  
               
       <axis name="focus" start="23" len="3" order="bigendian" value="INT32" calc="- 524288"></axis>                                                                                                                                                             

                    <!--example for not define axis ?
        <axis name="iris" calc="!"></axis>
     </extraction>
</viz_xml_tracking>