Commit Graph

301 Commits

Author SHA1 Message Date
Matteo Cypriani b57bf543c7 [Positioning] Fix config parsing memory leaks
Do not use exit() from
UserInterface::print_information_and_exit_if_requested(), set owl_run to
false instead. This function is renamed print_information().
2011-08-24 13:39:01 +02:00
Matteo Cypriani a301c87c1d [Positioning] Fix segfault when ignoring AP RP
This commit fixes a segfault that occurred in certain circumstances with
the option positioning.radar-ignore-ap-reference-points activated. The
bug was introduced with this option in 0da98cdb.
2011-08-23 19:58:49 +02:00
Matteo Cypriani 442c5a4601 [lib] .h all is prefixed with OWL_ or owl_
All the types, defines, etc. are now prefixed with "OWL_" or "owl_".
TRUE and FALSE become owl_true and owl_false.
2011-08-22 22:43:35 +02:00
Matteo Cypriani 8327357290 Makefiles: allow to enable -g easily
Add a commented line DEBUG=-g in each Makefile.
2011-08-22 22:43:35 +02:00
Matteo Cypriani c61c4b3a22 [Positioning] UDP & TCPEvAAL: send '\0'
Send the final null character of the CSV string.
2011-08-18 21:36:42 +02:00
Matteo Cypriani 3f328e0e69 [Positioning] CSV format: remove "Error" string
Result::to_csv() do not give a fixed "Error" string field before the
error value field any more.

Update comments to better document the CSV format.
2011-08-18 11:36:50 +02:00
Matteo Cypriani 2c887899b3 [Positioning] Fix FBCM with autocalibration
Regenerate Friis indexes at each call of the algorithm when
autocalibration is used (without this fix, FBCM given always the same
result autocalibration activated, because of the Friis indexes equal to
zero).
2011-08-01 20:41:14 +02:00
Matteo Cypriani 6167f664e8 [Positioning] Use AccessPoint::friis_constant_term()
Use AccessPoint::friis_constant_term() wherever possible.
Fix MultilaterationAlgorithm::make_constant_term() and
ReferencePoint::friis_indexes_for_ap(), where the AP's trx
power was used instead of the mobile's power.
2011-08-01 19:57:40 +02:00
Matteo Cypriani dde917485a [Positioning] Add AccessPoint::friis_constant_term() 2011-08-01 19:53:54 +02:00
Matteo Cypriani d9adbc3f88 [Positioning] Fix InputMedium::fill_calibration_request_data()
The first test was logically wrong.
2011-08-01 18:24:39 +02:00
Matteo Cypriani 90f26261a2 [Positioning] InputMedium::fill_calibration_request_data()
Refactor some code of Input{CSV,UDPSocket}::fill_current_request() into
the new function InputMedium::fill_calibration_request_data().
2011-08-01 18:24:39 +02:00
Matteo Cypriani a71dcfdcfe [Positioning] InputMedium::get_next_request() non-virtual
Refactor some code of Input{CSV,UDPSocket}::get_next_request() into
InputMedium::get_next_request().
The medium-specific code must now be implemented in
fill_current_request().
2011-08-01 12:03:41 +02:00
Matteo Cypriani 2886d87ab6 Merge TODOs
Merge owlps-positioning/TODO into TODO.
2011-08-01 10:00:59 +02:00
Matteo Cypriani e527b791ad [Positioning] TODO: finish translation 2011-08-01 09:57:29 +02:00
Matteo Cypriani bfc09fdbe6 [Positioning] Stock::in_which_area_is(): ref param
Fix a typo in the header of Stock::in_which_area_is() to pass the
argument as a reference.
2011-07-30 20:46:32 +02:00
Matteo Cypriani 141515b5db [Positioning] operator=() return non-const reference
Change the return type of all operator=() from const reference to
non-const reference.
2011-07-30 20:46:32 +02:00
Matteo Cypriani dcf425fce5 [Positioning] Stock::generate_reference_point()
Create the function Stock::generate_reference_point(Point3D) from
regenerate_reference_points().
2011-07-30 20:46:32 +02:00
Matteo Cypriani 4c9a3070ac [Positioning] Stock::delete_non_ap_calibration_requests()
Create the function Stock::delete_non_ap_calibration_requests() from
regenerate_reference_points().
2011-07-30 20:46:32 +02:00
Matteo Cypriani c0a179e34e [Positioning] Result::to_csv(): include area
Add the area in which is the result's coordinate, after the error.
This changes the behaviour of OutputUDP and OutputCSV.
2011-07-30 20:46:32 +02:00
Matteo Cypriani 79ad31b351 [Positioning] .conf: UDP & TCPEvAAL output options 2011-07-30 20:46:32 +02:00
Matteo Cypriani cd25c4ddcd [Positioning] Add class OutputNetworkSocket
Factorise code of OutputUDPSocket and OutputTCPSocketEvAAL.
2011-07-30 20:46:32 +02:00
Matteo Cypriani 21c7f80345 [Positioning] Rename options minmax-* area-*
The options minmax-start and minmax-stop are also used by the
autocalibration process to know in which area reference points must be
generated. Therefore these options are renamed area-start and area-stop.
2011-07-30 19:53:13 +02:00
Matteo Cypriani bf3a6eb661 [Positioning] Rename owlps-positioning.cfg -> .conf
Rename the sample configuration file to have the standard UNIX suffix.
Add a Vim modeline to keep the "Windows .ini" syntax.
2011-07-30 19:53:13 +02:00
Matteo Cypriani 1a5fab9b99 Update TODOs 2011-07-30 19:49:46 +02:00
Matteo Cypriani a9f4750f34 [Positioning] Split option generated-meshing-grain
Split the option positioning.generated-meshing-grain in two:
positioning.generated-meshing-grain-x and
positioning.generated-meshing-grain-y.
2011-07-30 19:49:42 +02:00
Matteo Cypriani 0da98cdb05 [Positioning] Opt. radar-ignore-ap-reference-points
Add the option positioning.radar-ignore-ap-reference-points, to be able
to select only generated reference points.
2011-07-30 19:48:20 +02:00
Matteo Cypriani 089c8e3f8f [Positioning] Result: operator<< displays area
If the result point is in a known area, the area's name is displayed
(this changes the output of OutputTerminal).
2011-07-29 23:02:26 +02:00
Matteo Cypriani 8295666178 [Positioning] Add Result::in_which_area() 2011-07-29 23:02:26 +02:00
Matteo Cypriani 4675ac9f48 [Positioning] Stock::store_CR() returns the CR
Stock::store_calibration_request() now returns the stored/found
calibration request.
2011-07-29 23:02:26 +02:00
Matteo Cypriani a1dd6d90d8 [Positioning] Fix RP generation with >3 APs
When selecting the 2 reference APs, skip the APs that do not have (yet)
an associated reference point.
2011-07-29 23:02:26 +02:00
Matteo Cypriani 84acee629c [Positioning] Add Stock::reference_point_exists() 2011-07-29 23:02:26 +02:00
Matteo Cypriani c11e33fd0b [Positioning] Add missing #include <iostream> 2011-07-29 23:02:26 +02:00
Matteo Cypriani 42bcef2c0e [Positioning] Add options tcpevaal-{host,port}
Add options output.tcpevaal-host and output.tcpevaal-port, with
localhost:4444 as default values, as recommended by the organisers.
2011-07-29 23:02:26 +02:00
Matteo Cypriani 593da5e422 [Positioning] TCPEvAAL: send area of interest
The areas of interest must be defined as areas in the topology
configuration file. Their names must be integer values, to conform with
the EvAAL naming.
2011-07-29 23:02:26 +02:00
Matteo Cypriani a951717433 [Positioning] Add Stock::in_which_area_is() 2011-07-29 23:02:26 +02:00
Matteo Cypriani 9f5305b496 [Positioning] TCPEvAAL: send request's timestamp 2011-07-29 23:02:26 +02:00
Matteo Cypriani 1dfe30ea03 [Positioning] Add Result::request
Associate a Result with the origin Request.
2011-07-29 23:02:26 +02:00
Matteo Cypriani d5fcfed1f2 [Positioning] Add OutputTCPSocketEvAAL 2011-07-29 23:02:26 +02:00
Matteo Cypriani 3490b94df7 [Positioning] Building & CSVFileReader: minor edits
Building: fix a comment.
CSVFileReader: delete useless "boost::" prefix (we have using namespace
boost).
2011-07-29 23:02:26 +02:00
Matteo Cypriani 9b245ce152 [Positioning] Add option generated-meshing-grain
The option positioning.generated-meshing-grain allows to set the
grain of the generated reference points' meshing.
2011-07-29 23:02:26 +02:00
Matteo Cypriani 4c53ed372a [Positioning] Add Configuration::float_value() 2011-07-29 23:02:26 +02:00
Matteo Cypriani d735df6f94 [Positioning] Input: display the number of CR
When receiving a new calibration request, display an info message (with
verbose mode on).
2011-07-29 23:02:26 +02:00
Matteo Cypriani 26e3c33366 [Positioning] RP generation: fix SS weighting
The weighted mean of the SSs for the selected APs was wrong (an extra
division by 2)
2011-07-29 23:02:26 +02:00
Matteo Cypriani a975731ae4 [Positioning] OutputTerminal: handle flush-output-files
Flush the output stream when the option flush-output-files is activated.
2011-07-29 23:02:25 +02:00
Matteo Cypriani ea81916937 [Positioning] Add option position-calibration-requests
This option allows the calibration requests to be positioned as
positioning requests.
2011-07-29 23:02:25 +02:00
Matteo Cypriani 2ddad20371 [Positioning] Stock: generate one CR for all APs
A Request is received by *all* the APs, therefore we have to generate
one CalibrationRequest per ReferencePoint, and not one
CalibrationRequest per AP in each ReferencePoint.
2011-07-29 23:02:25 +02:00
Matteo Cypriani 3402809c09 [Positioning] Stock: do not regenerate AP coord.
Do not generate reference points where an AP sits (normally we already
have the true measurement).
2011-07-29 23:02:25 +02:00
Matteo Cypriani c85c6357fb [Positioning] Input::get_next_request(): refactor. 2011-07-29 23:02:25 +02:00
Matteo Cypriani a801eb84d1 [Positioning] Add Stock::is_ap_coordinate() 2011-07-29 23:02:25 +02:00
Matteo Cypriani d03d240568 [Positioning] ReferencePoint: add an assertion
Add an assertion into friis_indexes_for_ap().
2011-07-29 23:02:25 +02:00