In flood mode, the delay is now counted from the beginning of the
transmission of a request, instead of after the end of the transmission.
The old behaviour is still supported by adding a '+' before the delay
duration on the command line.
New autocalibration technique to generate points in line (use case:
underground tunnels). The handling of the
positioning.generate-reference-points has changed to be able to use
several autocalibration methods simultaneously.
Display a warning when the configuration file cannot be read only when
the -f option was used. As stated in comment, the initial plan was to
also display the warning in verbose mode, but at this point of the
program the command-line is not parsed yet, so it's pointless to test
for it.
The get_mac_addr() function was the only real blocker that prevented
building on BSD systems, as it used the Linux-specific SIOCGIFHWADDR
ioctl. When compiling for Linux, we still use this ioctl, but for the
BSD version we use sysctl().
This allows OwlPS Listener to build on BSD (tested on NetBSD, OpenBSD
and DragonFly). That doesn't mean it will actually work when trying to
capture packets though (that has to be tested on real hardware), but
that's still a progress.
The first field of the Aggregator's CSV output files is now an unsigned
integer that announces the version of the CSV format used. Current
version is 1 and the subsequent fields are not modified, so that an
aggregation file generated with a previous version can still be used by
adding "1;" at the beginning of each line.
The Positioner has been adapted to handle this new format.
The file libowlps/owlps-config.h.in was added to allow CMake to pass the
installation prefix variable to the programs. That allows the programs
to look for their configuration file at the right position (i.e. in the
etc/owlps directory under the installation prefix).
Doxygen comments are now used in libowlps, libowlps-client and
libowlps-resultreader. doc/Doxyfile was added as well as CMake rules to
generate man pages for the libraries' header files.
libowlps-client and libowlps-resultreader were never built as shared
libraries, therefore we set their version number to 1.0.
For stable releases, the rule is to increase the minor version number
when changes are made to the library without changing the API, and to
bump the major version number (soname) in case of API change.
In the development branch and for development point releases, the soname
should not be increased, even in case of API break. The minor version
number should be bumped instead.
Following this rule, libowlps' version number is bumped to 3.1, as some
changes were made since version 3.0.
Change the positioning.generate-reference-points option to offer
multiple choices (false, mesh, list, both) and add the
positioning.generated-points-list to allow the user to specify a list of
reference points to generate.