Commit Graph

189 Commits

Author SHA1 Message Date
Matteo Cypriani 7b0aacd212 [Positioner] Add ResultList::set_request()
It is now possible to update the Request in a ResultList.
2014-05-13 16:41:51 -04:00
Matteo Cypriani f38527cd93 [Positioner] Add Result::set_position() 2014-05-12 19:41:38 -04:00
Matteo Cypriani 1a40fe3366 [Positioner] Point3D: new interpolation function
Add Point3D::interpolate(point, speed, duration), that returns a single
interpolated point computed according to speed and duration of the
mobile's movement.
2014-05-12 19:15:34 -04:00
Matteo Cypriani 52940bcfc3 [Positioner] Add ResultList::get_result_for_algo() 2014-05-12 14:58:59 -04:00
Matteo Cypriani feb5a715fa [Positioner] Add Mobile::last_results
Allow to store the last results for each algorithm in a Mobile.
2014-05-12 12:30:30 -04:00
Matteo Cypriani ebeef80bac [Positioner] cfg: warn about CPs in mobiles.csv 2014-05-05 13:04:47 -04:00
Matteo Cypriani 9c83ae3593 [Positioner] using instead of typedef
Declare type aliases with "using" instead of "typedef".
2014-02-25 18:11:59 -05:00
Matteo Cypriani 5ddcdeed2f [Positioner] Fix two catches (catch by reference) 2014-02-18 11:47:58 -05:00
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