Tracking Hub
Version 1.3 | Published August 14, 2019 ©
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
>
<!--option
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>