Commit Graph

666 Commits

Author SHA1 Message Date
Matteo Cypriani 3b8121643b [Positioning] InputCSV: --verbose instead of #ifdef
Test if the verbose mode is activated instead of using #ifdef DEBUG.
2011-06-16 14:21:12 +02:00
Matteo Cypriani 67ccf674a5 [Positioning] InputDataReader: print --verbose info
Display the number of elements read when the verbose mode is activated.
2011-06-16 14:10:43 +02:00
Matteo Cypriani abd4b0803e [Positioning] UserInterface: add --verbose option
Currently, --verbose / -v is only a switch. It would probably be better
to have a verbose level instead.
2011-06-16 13:46:21 +02:00
Matteo Cypriani 332881b305 [Positioning] Standardise InputCSV & InputUDPSocket 2011-06-16 13:13:13 +02:00
Matteo Cypriani 5364944c68 Add missing Makefiles for OpenWrt 10.03 (Backfire)
* libowlps, libowlps-client & owlps-listener:
Add Makefiles to compile for OpenWrt 10.03 (Backfire). (owlps-client had
one already.)

* libowlps & libowlps-client:
Update the Makefiles for OpenWrt 8.09 (Kamikaze).
2011-06-15 10:36:47 +02:00
Matteo Cypriani cce949f32a [Positioning] Fix some Doxygen comments 2011-06-14 16:44:17 +02:00
Matteo Cypriani 3d46d64a19 [Aggregator] free_request_list(): semaphore unneeded
free_request_list() is called by main() after threads' shutdown, so we
do not need to use a semaphore.
2011-06-10 17:20:37 +02:00
Matteo Cypriani 533936c4ee [Aggregator] Use semaphores to lock APs' ring
The APs' ring is accessed concurrently by listen_for_aps() and
monitor_aps(), so we had to secure that.
2011-06-09 18:53:11 +02:00
Matteo Cypriani d2559062e6 [Aggregator] Use semaphores to lock requests' list
The requests' list might be accessed by the main thread and the monitor
thread simultaneously, so we need to secure the concurrent accesses.
2011-06-09 17:36:00 +02:00
Matteo Cypriani 48fa965c54 [Positioning] UserInterface: reformat strings 2011-06-08 19:05:48 +02:00
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
Florian Taillard c18209545c [ARDrone] Fix compilation warning
Add pthread_exit(NULL_value).
Delete variable inused and labview socket.
2011-05-06 10:51:22 +02:00
Florian Taillard 46292cfe8c [ARDrone] Fix GPS orientation
Add condition South and East for négative latitude/longitude.
2011-05-06 10:46:44 +02:00
Florian Taillard 3b2823fef9 [ARDrone] Add TCP Socket for owlps-sig
Communication witch Google Maps API, for Real-Time tracking.
Port set to 8080.
SIG -> Geo Information System.
2011-05-06 10:39:49 +02:00
Florian Taillard 80a6439205 [Client] Fix compilation for ARDrone
Change include of libowlps-client.
Fix version number.
2011-05-06 10:33:47 +02:00
Florian Taillard 92e08673ca [Client] Add Makefile for ARDrone 2011-05-06 10:33:37 +02:00
Florian Taillard e45c199130 Merge branch 'dev' into dev-drone
- Fix send calibration message.
- Update makefile to add version.
2011-05-05 16:23:06 +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