Commit Graph

181 Commits

Author SHA1 Message Date
Matteo Cypriani 4d78da4721 Doc and comments: some typos & small additions 2014-02-18 10:22:35 -05:00
Matteo Cypriani 0c79e230b9 [Positioner] Rework Building::add_area()
Don't take a pointer reference as argument, throw an exception instead
of deleting the area, clarify comments.
2013-10-02 17:34:00 -04:00
Matteo Cypriani 939ef17d6a [Positioner] posexcept: add element_already_exists 2013-10-02 17:33:02 -04:00
Matteo Cypriani 5520541217 [Positioner] Make Building::areas const 2013-10-02 17:31:05 -04:00
Matteo Cypriani ea01f09b5e [Positioner] Use auto for iterators
Use the 'auto' keyword instead of declaring explicitly an iterator type,
where possible.
2013-10-02 16:23:34 -04:00
Matteo Cypriani 17dd3ee6bf [Positioner] Don't pass primitive types const refs
Quit using constant references function arguments  or return values for
primitive types.
2013-10-02 16:12:47 -04:00
Matteo Cypriani a495d51f02 [Positioner] Work on const function arguments
The function arguments were reviewed to add missing 'const' keywords,
and some classes were modified more deeply to make some pointer class
variables constant.
2013-10-02 16:12:47 -04:00
Matteo Cypriani e5883d99d5 Finish supporting getaddrinfo()
- For static buffers, use a size suited for host names and not only IP
  addresses.
- Change variable names.
- Adapt usage messages and documentation.
2013-09-23 17:03:51 -04:00
Matteo Cypriani 75e04cfc17 Quit handling useless network client structures
It is useless to handle a client structure on recvfrom() or accept()
when nothing is done with this information.
Changed in Aggregator, Listener, Positioner and UDP-to-HTTP.
2013-09-23 17:03:50 -04:00
Matteo Cypriani 25cc1ee67a [lib] getaddrinfo() in create_udp_trx_socket()
Use getaddrinfo() to resolve names in owl_create_udp_trx_socket(). The
client_description parameter has been removed from the function's
synopsis.
2013-09-23 17:03:50 -04:00
Matteo Cypriani 4dffac8216 [Positioner] CSVStringReader: remove useless init
Remove useless initialisation in CSVStringReader::set_str().
2013-07-25 18:31:30 -04:00
Matteo Cypriani 1c34eaee1e [Positioner] Add AutocalibrationLine
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.
2013-07-19 11:05:02 -04:00
Matteo Cypriani b100513265 Update .gitignore
Add a few more patterns to .gitignore.
Delete owlps-positioner/.gitignore, now useless thanks to CMake's
out-of-tree compliation.
2013-07-19 11:05:02 -04:00
Matteo Cypriani e7e4991000 [Positioner] AutocalibrationMesh: use 128 as error
Use 128 instead of 1 as error code in
AutocalibrationMesh::compute_multi_packet_ss(), since small positive
values can sometimes occur.

Some minor other cosmetics changes.
2013-07-19 11:05:02 -04:00
Matteo Cypriani 652ed7b706 [Positioner] is_cp_coordinates(): return pointer
Stock::is_cp_coordinates() now returns a pointer to the CP if found, or
NULL if not found.
2013-07-19 11:05:01 -04:00
Matteo Cypriani 2ac9cc2c1d [Positioner] Add AutocalibrationMesh (refactored)
Refactor pieces of Autocalibration into the new class
AutocalibrationMesh, in order to allow the addition of new
autocalibration sub-classes.
2013-07-19 11:05:01 -04:00
Matteo Cypriani b436526d40 [Positioner] Timestamp: print ns on 9 digits 2013-07-17 18:09:15 -04:00
Matteo Cypriani 10a1cfe1ca [Positioner] EvAAL: current format is 2012
The code for the EvAAL output was slightly updated in 2012 for the 2nd
contest. Although OwlPS doesn't handle sub-areas of interest, it was
indeed compatible with the 2012 evaluation system.
2013-07-17 18:09:15 -04:00
Matteo Cypriani a2ce042e48 [Positioner] Add Point3D::interpolate()
This new function allows to compute intermediate, interpolated points
between two points. It will be used to generate reference points in a
line between two points.
Sadly, OwlPS Positioner gets a new dependency on libclaw_tween.
2013-07-17 18:09:15 -04:00
Matteo Cypriani b724ad7ab7 [Positioner] Autocalibration: cosmetics
init_cp() becomes private instead of protected and is documented.
Class description improved.
2013-07-17 18:09:15 -04:00
Matteo Cypriani 9fca1926f9 [Positioner] CSVStringReader: doc improvement
Improve the description of CSVStringReader::read_point3d().
2013-07-17 18:09:15 -04:00
Matteo Cypriani c50ac30ba4 Update Doxyfiles to Doxygen 1.8.4 format 2013-07-17 18:09:15 -04:00
Matteo Cypriani b5ed61cdd0 [Positioner] Update copyright notices
Fix a typo in the existing copyright notices and add notices for the
files in the tests/ directory.
2013-07-17 18:09:14 -04:00
Matteo Cypriani be1ab24251 [Positioner] tests: delete userinterface_test.hh
UserInterface is no longer testable, since we need a valid configuration
to test the other classes.
2013-07-17 18:09:14 -04:00
Matteo Cypriani 1eac9bb718 [Positioner] tests: review and update (100% pass)
Review and fix all the tests so that 100% of the tests pass.
2013-07-17 18:09:14 -04:00
Matteo Cypriani 13f8847f65 [Positioner] tests: fix CMake dependencies 2013-07-17 18:09:13 -04:00
Matteo Cypriani e2074cdb9b [Positioner] tests: fix PosUtil 2013-07-17 18:09:13 -04:00
Matteo Cypriani c188560575 [Positioner] tests: make all of them build again
There are still many compilation warning and many tests fail, but at
least everything builds.
2013-07-17 18:09:13 -04:00
Matteo Cypriani f71c66590e [Positioner] tests: add CMake target
This commits makes the tests that are currently compilable to be built;
a lot of test files are not included because of some compilation errors.
2013-07-17 18:09:13 -04:00
Matteo Cypriani 4a534755db [Positioner] tests: AccessPoint -> CapturePoint 2013-07-17 18:09:13 -04:00
Matteo Cypriani ecae205955 [Positioner] Cosmetic changes, mainly comments 2013-07-17 18:09:13 -04:00
Matteo Cypriani 9144ef3740 [Positioner] RealPosition: fix calib request bug
Fix the RealPosition::compute() bug that prevented the real position to
be extracted for a CalibrationRequest.
2013-07-17 18:09:13 -04:00
Matteo Cypriani e9f5f26504 [Positioner] Fix Request's destructor
real_position was not deleted in the destructor.
2013-07-17 18:09:13 -04:00
Matteo Cypriani 8b3a31fe3b [Positioner] Fix Request::operator==() 2013-07-17 18:09:13 -04:00
Matteo Cypriani 6cffd61b0c [Positioner] UserInterface: use const argc & argv 2013-07-17 18:09:13 -04:00
Matteo Cypriani c358b6e6c7 [Positioner] Direction: use uint_fast8_t
Use uint_fast8_t instead of char as the inner direction type.
2013-07-17 18:09:13 -04:00
Matteo Cypriani 953e4c1d52 [Positioner] Un-inline Direction::is_valid() 2013-07-17 18:09:13 -04:00
Matteo Cypriani dfc52a1de3 [Positioner] Un-inline Timestamp::set() 2013-07-17 18:09:12 -04:00
Matteo Cypriani 794d8b35d0 [Positioner] Fix CalibrationRequest(Request)
Fix CalibrationRequest's Request copy constructor: the default arguments
must be in the header file.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 4ae0874e1f [Positioner] Access Point -> Capture Point
Like in the other modules, we get rid of the old use of "access point".
This has user-visible changes, especially in the configuration (the name
of a few options has been changed).
2013-07-17 18:09:12 -04:00
Matteo Cypriani 69cba07122 [lib] Access Point -> Capture Point (API change)
Same work as for Aggregator and Listener to get rid of the old "AP"
terminology.

API change: structures with an ap_mac_addr_bytes field are modified.
2013-07-17 18:09:12 -04:00
Matteo Cypriani bd48479d2d [Positioner] Refactor InputCSV::fill_current_request()
Use the new function InputCSV::read_field() to read the fields and
display error messages as needed.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 5bf1bcb4d2 Handle aggregation CSV format version
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.
2013-07-17 18:08:27 -04:00
Matteo Cypriani b97085d79f [Positioner] Get rid of the src/ subdirectory
The src/ subdirectory is not needed any more, since we can build out of
tree with CMake.
2013-06-19 18:53:37 -04:00
Matteo Cypriani 5ddca24738 Print exit message only in verbose mode
Update the exit message printing in all the modules:
- print on standard error
- print only in verbose mode
- use "exiting" instead of "end"
2013-06-12 17:18:46 -04:00
Matteo Cypriani 9701a2d393 [Positioner] Allow building with clang++
This patch is to have clang++ (>= 3.2) happily build OwlPS Positioner.
For some reason it doesn't work on NetBSD, but it is fine on GNU/Linux
and (a couple of warnings apart) on DragonFly BSD.
2013-06-12 09:38:38 -04:00
Matteo Cypriani d32813376b CMake: pass installation prefix to programs
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).
2013-06-12 09:38:38 -04:00
Matteo Cypriani 9d640cd4d6 [Positioner] Doxygen: enable MULTILINE_CPP_IS_BRIEF
Enable Doxygen option MULTILINE_CPP_IS_BRIEF, so that we don't have to
use \brief: C++-style comments are for brief descriptions and C-style
comments for extended descriptions.

Fix some comments (use @param instead of @arg).
2013-06-12 09:38:00 -04:00
Matteo Cypriani eb2715e249 CMake: make sure doxygen is available 2013-06-04 11:07:54 -04:00
Matteo Cypriani df765e08b3 CMake: generate Positioner's doc out of tree
The Positioner's documentation is now generated in the build tree
instead of in the source tree.
2013-06-03 17:46:10 -04:00