Commit Graph

494 Commits

Author SHA1 Message Date
Matteo Cypriani 3ac6b440e4 Update TODOs 2011-06-08 10:56:14 +02:00
Matteo Cypriani 507072bd24 [Positioning] Option radar-average-reference-points
For RADAR, the default is now to compare the current positioning request
to each stored CalibrationRequest instead of each ReferencePoint
(averaging the calibration requests associated with the reference
point).

The new option --positioning.radar-average-reference-points allows to
activate the old behaviour (compare to reference points).

Note: the bug fixed in the previous commit caused the creation of
a ReferencePoint for each CalibrationRequest, implying the 'new'
default behaviour (one ReferencePoint was associated to only one
CalibrationRequest, so comparing each ReferencePoint or each
CalibrationRequest was giving the same result). Anyway, there was
(hopefully) no such bug in OwlPS v0.8, so it is actually the old
behaviour :-)
2011-06-08 10:25:38 +02:00
Matteo Cypriani d322221d21 [Positioning] Stock: fix ReferencePoint creation
For each calibration request read, a new ReferencePoint was created in
Stock. This is because of the behaviour of unordered_set: as pertaining
to unordered_set, two elements are not considered equal if the hashes
alone are identical, they must also be actually equal (operator==).

The problem was fixed by using a custom equality check function that
checks the equality only on the coordinates of the ReferencePoint (as if
it was a Point3D).
2011-06-07 18:48:33 +02:00
Matteo Cypriani a39e06cf19 [Positioning] Stock::closest_calibration_request()
Add CalibrationRequest Stock::closest_calibration_request(Request).
2011-05-13 10:51:52 +02:00
Matteo Cypriani 920e4491ef [Positioning] Stock: s/look for/search for/ 2011-05-13 10:51:52 +02:00
Matteo Cypriani 3aae38c409 [Positioning] Add Request::ss_square_distance() 2011-05-13 10:51:52 +02:00
Matteo Cypriani c525372ed3 [Positioning] Some ReferencePoint code -> PosUtil
ReferencePoint::complete_with_dummy_measurements(
  map<string, Measurement>,
  map<string, Measurement>)
becomes PosUtil::complete_with_dummy_measurements(
  unordered_map<string, Measurement>,
  unordered_map<string, Measurement>)

ReferencePoint::compute_ss_square_distance(
  map<string, Measurement>,
  map<string, Measurement>)
becomes PosUtil::ss_square_distance(
  unordered_map<string, Measurement>,
  unordered_map<string, Measurement>)

map<string, Measurement> ReferencePoint::get_all_measurements_sorted()
is now private, returns an unordered_map instead of a map, and is
renamed ReferencePoint::get_all_measurements().

Note that we now use unordered_maps for these functions. The use of
sorted lists (maps) was useless, as stated in the commit message of
e9eab687 (Wed Jun 2 12:37:43 2010 +0200).
2011-05-13 10:51:52 +02:00
Matteo Cypriani d71bbcf2b8 [Positioning] PosUtil: use channels from owlps.h
Use channel frequencies declared in owlps.h.
Handle frequencies in MHz as well as channel numbers and frequencies in
Hz.
2011-05-13 10:51:52 +02:00
Matteo Cypriani 8c58ae804f [lib] Add Hz Wi-Fi frequencies
Add Wi-Fi channel frequencies in Hz.
Rename frequencies OWL_80211_<unit>_CHANNEL_<number>.
2011-05-13 10:51:52 +02:00
Matteo Cypriani d285d2b4b7 [Positioning] UserInterface: catch by reference 2011-05-13 10:51:52 +02:00
Matteo Cypriani fac5af8655 [Positioning] Fix Measurement::operator bool()
Use !ss.list.empty() instead of ss_list.size() > 0.
2011-05-13 10:51:52 +02:00
Matteo Cypriani 799af46e57 [Positioning] Result: fix operator=() & ==() 2011-05-13 10:51:52 +02:00
Matteo Cypriani 506917b5ec [Positioning] Compute the error if Real is used
If the pseudo-algorithm Real is used, the distance error is computed for
the others algorithms.
2011-05-05 13:22:33 +02:00
Matteo Cypriani 0eef6e8577 [Positioning] RealPosition: handle non-calib. requests
RealPosition is now able to return a relevant result when called with
non-calibration requests.
2011-05-05 13:22:33 +02:00
Matteo Cypriani 17e12a9735 [Positioning] Input*: initialise real_position
When provided for non-calibration requests, the real position is
initialised.
2011-05-05 13:22:33 +02:00
Matteo Cypriani 00bbc9c49d [Positioning] Add Request::real_position 2011-05-05 13:22:33 +02:00
Matteo Cypriani 1bb589b460 [Positioning] Add Point3D::operator bool() 2011-05-05 13:22:33 +02:00
Matteo Cypriani 6c3647410d [Positioning] Result: compute error if possible
If the real coordinates are passed to the constructor, the distance
error is computed. One can also use Result::compute_error() on a
constructed object.
2011-05-05 13:22:33 +02:00
Matteo Cypriani 2d2b49947a [Positioning] Add PositioningAlgorithm::get_name() 2011-05-05 13:22:32 +02:00
Matteo Cypriani bd992f28ed [Positioning] "Null" is a false friend 2011-05-05 13:22:32 +02:00
Matteo Cypriani e067efb42a [Positioning] Doxyfile: use $OWLPS_VERSION 2011-05-05 13:22:32 +02:00
Matteo Cypriani b1d706bf9c Update TODOs 2011-05-05 13:22:32 +02:00
Matteo Cypriani cc66eb7c59 [Listener] read_packet(): blank the whole request
Blank the whole request with memset() instead of setting to zero each
field.
2011-05-05 13:21:41 +02:00
Matteo Cypriani be784c8ec0 [Listener] Check SS field before to print it 2011-05-03 13:38:50 +02:00
Matteo Cypriani eb61dfc0e0 [Positioning] Add minmax-start & minmax-stop opts.
The start and stop coordinates for the MinMax multilateration method
used to be hard-coded. One should now provide the good coordinates using
the new options positioning.minmax-start and positioning.minmax-stop.
2011-04-27 19:01:43 +02:00
Matteo Cypriani ccb57c86ec [Positioning] Add Point3D::Point3D(string) 2011-04-27 18:51:25 +02:00
Matteo Cypriani ceb035ed19 [Positioning] Change default configuration file
UserInterface: default configuration file is now in
/usr/local/etc/owlps instead of ./cfg.
2011-04-27 17:48:33 +02:00
Matteo Cypriani 38c3402a15 [Positioning] Update/clean configuration files 2011-04-27 17:41:01 +02:00
Matteo Cypriani 1cebc82bfd [Positioning] Minor edits
InputDataReader: minor refactoring.
Request: fix a comment.
2011-04-26 17:18:53 +02:00
Matteo Cypriani ea8da6d8ec [Positioning] Fix InputMedium::…_to_calibration_request()
Fix InputMedium::current_request_to_calibration_request(), that was
resulting in a blank request.
2011-04-26 17:18:53 +02:00
Matteo Cypriani c9d26033e9 [Positioning] InputCSV: add debug info 2011-04-26 17:18:53 +02:00
Matteo Cypriani 77c66bf194 [Positioning] CalibrationRequest: default args in .cc
Move default argument declaration from .hh to .cc.
2011-04-26 16:47:02 +02:00
Matteo Cypriani a54b8ab06b [Positioning] Timestamp: update operator bool()
Test tv_sec and tv_usec independently instead of using operator
uint64_t().
2011-04-26 14:14:01 +02:00
Matteo Cypriani 810a29cec3 [Positioning] Translate READMEs 2011-04-26 10:28:51 +02:00
Matteo Cypriani 3196e5a2e0 Makefiles: resolve OWLPS_VERSION earlier 2011-04-26 10:15:04 +02:00
Florian Taillard 08a407e0f3 [Positioning] Fix reading csv calibration file
Add uint16_t into inputcsv to fix read type packet.
The uint8_t is detected as a char.
2011-04-18 16:31:10 +02:00
Florian Taillard 8d2a2b3e5a [Positioning] Fix accesspoint reading frequency
Change long to unsigned long in accesspointsreadercsv.cc.
The frequency value exceed a long lenght in arch 32bits.
2011-04-18 13:52:43 +02:00
Matteo Cypriani bd8d761bdc [Client] Makefile: fix static target 2011-04-13 13:05:10 +02:00
Matteo Cypriani 6fa1ae15d0 [Positioning] Print version info with -V 2011-04-13 00:12:30 +02:00
Matteo Cypriani 82d1041ab2 [Client] Print version info with -V 2011-04-13 00:12:30 +02:00
Matteo Cypriani 7123f02e82 [Aggregator] Print version info with -V 2011-04-13 00:12:30 +02:00
Matteo Cypriani 7a95851795 [Aggregator] Look for -h before the main options
The options -f and -h are now parsed before the other options (instead
of just -f).
2011-04-13 00:12:30 +02:00
Matteo Cypriani 52c3b34170 [Listener] Fix -f: do not quit anymore 2011-04-13 00:12:18 +02:00
Matteo Cypriani c23bddffae [Listener] print_version(): print version number
Use git describe to generate a version label. One can also specify a
label:
  make OWLPS_VERSION=v3.14alpha
2011-04-12 23:29:47 +02:00
Matteo Cypriani 273c2adfc7 [Positioning] Fix Makefile: remove prepare target 2011-04-12 12:17:31 +02:00
Matteo Cypriani d31ac3864e Position endianess conversion in all modules 2011-04-07 16:15:46 +02:00
Matteo Cypriani 2ce238984c [lib] Add float endianess converters 2011-04-07 16:14:55 +02:00
Matteo Cypriani 7499ef9ec5 [Listener] Refactor endianess #defines 2011-04-07 16:14:55 +02:00
Matteo Cypriani 921afff682 [lib] .c: categorise functions
+ eliminate last French words.
2011-04-07 16:14:45 +02:00
Matteo Cypriani aef4e5aed7 [Client & Aggregator] Print direction with PRIu8 2011-04-07 11:57:14 +02:00