remove README.Protocol and add a README that refers to the "real"
documentation.
This commit is contained in:
parent
ab45f8561e
commit
4e25fb3ac8
2 changed files with 4 additions and 95 deletions
4
Protocol/README
Normal file
4
Protocol/README
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Documentation about the syntax of generic protocol files can be found
|
||||||
|
in ../Docs/README.protocol or $SOURCE/docs-mini/README.protocol
|
||||||
|
|
||||||
|
For documentation about their use see ../Docs/REAMDE.IO.
|
|
@ -1,95 +0,0 @@
|
||||||
The generic communication protocol for FlightGear provides a powerful way
|
|
||||||
of adding a simple ASCII based or binary protocol, just by defining an
|
|
||||||
XML encoded configuration file.
|
|
||||||
|
|
||||||
The definition of the protocol consists of variable separators, line separators,
|
|
||||||
and chunks of text.
|
|
||||||
|
|
||||||
Each chunk defines:
|
|
||||||
|
|
||||||
<name> for ease of use
|
|
||||||
<node> the property tree node which provides the data
|
|
||||||
<type> the value type (needed for formatting)
|
|
||||||
<format> defines the actual piece of text which should be sent.
|
|
||||||
it can include formatting options like:
|
|
||||||
<type>
|
|
||||||
%s string
|
|
||||||
%i integer (default)
|
|
||||||
%f float
|
|
||||||
(not used or needed in binary mode)
|
|
||||||
|
|
||||||
<factor> an optional multiplication factor which can be used for
|
|
||||||
unit conversion. (for example, radians to degrees).
|
|
||||||
<offset> an optional offset which can be used for unit conversion.
|
|
||||||
(for example, degrees Celsius to degrees Fahrenheit).
|
|
||||||
|
|
||||||
|
|
||||||
The output section also could define the variable separator and line separator.
|
|
||||||
|
|
||||||
The separators can be either a control character such as a tab or newline, or a
|
|
||||||
user specified string or other single character. The currently supported
|
|
||||||
control characters are:
|
|
||||||
|
|
||||||
<var_separator>:
|
|
||||||
<line_separator>:
|
|
||||||
Name Character
|
|
||||||
|
|
||||||
newline '\n'
|
|
||||||
tab '\t'
|
|
||||||
formfeed '\f'
|
|
||||||
carriagereturn '\r'
|
|
||||||
verticaltab '\v'
|
|
||||||
|
|
||||||
any other characters just need to be added to "Network/generic.cxx"
|
|
||||||
|
|
||||||
The var_separator is placed between each variable, while the line_separator is
|
|
||||||
placed at the end of each lot of variables.
|
|
||||||
|
|
||||||
To enable binary mode, simply include a <binary_mode>true</binary_mode> tag in
|
|
||||||
your XML file. The format of the binary output is tightly packed, with 1 byte
|
|
||||||
for bool, 4 bytes for int, and 8 bytes for double. At this time, strings are not
|
|
||||||
supported. A configurable footer at the end of each "line" or packet of binary
|
|
||||||
output can be added using the <binary_footer> tag. Options include the length
|
|
||||||
of the packet, a magic number to simplify decoding. Examples:
|
|
||||||
|
|
||||||
<binary_footer>magic,0x12345678</binary_footer>
|
|
||||||
<binary_footer>length</binary_footer>
|
|
||||||
<binary_footer>none</binary_footer> <!-- default -->
|
|
||||||
|
|
||||||
A simple protocol configuration file then could look something like the
|
|
||||||
following:
|
|
||||||
|
|
||||||
<?xml version="1.0"?>
|
|
||||||
|
|
||||||
<PropertyList>
|
|
||||||
|
|
||||||
<generic>
|
|
||||||
|
|
||||||
<output>
|
|
||||||
<line_separator>newline</line_separator>
|
|
||||||
<var_separator>newline</var_separator>
|
|
||||||
<binary_mode>false</binary_mode>
|
|
||||||
|
|
||||||
<chunk>
|
|
||||||
<name>speed</name>
|
|
||||||
<format>V=%d</format>
|
|
||||||
<node>/velocities/airspeed-kt</node>
|
|
||||||
</chunk>
|
|
||||||
|
|
||||||
<chunk>
|
|
||||||
<name>heading</name>
|
|
||||||
<format>H=%02d</format>
|
|
||||||
<node>/orientation/heading-deg</node>
|
|
||||||
<factor>57.29578</factor> <!-- radians to degrees -->
|
|
||||||
</chunk>
|
|
||||||
|
|
||||||
<chunk>
|
|
||||||
<name>pitch angle</name>
|
|
||||||
<format>P=%05.1f</format>
|
|
||||||
<type>float</type>
|
|
||||||
<node>/orientation/pitch-deg</node>
|
|
||||||
</chunk>
|
|
||||||
|
|
||||||
</generic>
|
|
||||||
|
|
||||||
</PropertyList>
|
|
Loading…
Reference in a new issue