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
Matteo Cypriani
602f9c5399
[Positioning] ReferencePoint: variable renaming
2011-07-29 23:02:25 +02:00
Matteo Cypriani
0d160f8b23
[Positioning] Add option generate-reference-points
...
The self-calibration is here! There is certainly some things to fix, but
the big step is made.
2011-07-29 23:02:25 +02:00
Matteo Cypriani
2b12e49374
[Positioning] Fix ReferencePoint::delete_generated_requests()
...
Use a while loop instead of for to check the requests.
2011-07-29 23:02:25 +02:00
Matteo Cypriani
232551c150
[Positioning] ReferencePoint::delete_generated_requests()
2011-07-29 23:02:25 +02:00
Matteo Cypriani
6c48bc7e29
[Positioning] Add Stock::get_aps()
2011-07-29 23:02:25 +02:00
Matteo Cypriani
d1b575c95e
[Positioning] Add Stock::nb_virtual_mobiles
2011-07-29 23:02:25 +02:00
Matteo Cypriani
1abe54b7be
[Positioning] Add PosUtil::int_to_mac()
2011-07-29 23:02:25 +02:00
Matteo Cypriani
a2a289f651
[Positioning] Debug checks for CR deletion
...
Add asserts and debug messages in ReferencePoint::delete_requests() and
Stock::delete_calibration_request().
2011-07-29 23:02:14 +02:00
Matteo Cypriani
9c76d87b0c
[Positioning] Add option accept-new-mobiles
...
The option positioning.accept-new-mobiles allows the program to add
on-line mobiles that are not declared in the mobiles' configuration
file. This was the default till now; now this option is unactivated by
default to avoid unexpected Wi-Fi devices retransmitting positioning
requests.
2011-07-25 14:18:17 +02:00
Matteo Cypriani
6b662a597a
[Positioning] Add Stock::mobile_exists()
2011-07-25 14:18:17 +02:00
Matteo Cypriani
0b43e7f5fc
[Positioning] Read mobiles characteristics
...
Add MobilesReaderCSV, that reads the known mobiles from a CSV file.
2011-07-25 14:18:17 +02:00
Matteo Cypriani
8878bb2390
[Positioning] Add Stock::nb_mobiles()
2011-07-25 14:18:17 +02:00
Matteo Cypriani
b04cd1cdb8
[Positioning] Add Stock::find_create_mobile(Mobile&)
2011-07-25 14:18:17 +02:00
Matteo Cypriani
d9bfd9e2c2
[Positioning] AccessPointsReaderCSV: s/ap/device/
2011-07-25 14:18:17 +02:00
Matteo Cypriani
f5a4f4fedc
[Positioning] Point3D: fix angle()
...
Use doubles instead of floats.
Handle the cases where points are equal.
2011-07-25 14:18:16 +02:00
Matteo Cypriani
33b027d472
[Positioning] Tweak ReferencePoint::friis_indexes_for_ap()
2011-07-25 14:18:16 +02:00
Matteo Cypriani
f418fc15f1
[Positioning] Add Point3D::angle()
2011-07-25 14:18:16 +02:00
Matteo Cypriani
855291b31d
[Positioning] Add PosUtil::rad2deg()
2011-07-25 14:18:16 +02:00
Matteo Cypriani
948bd577a2
[Positioning] Output*: do not output empty RequestList
2011-07-25 14:18:16 +02:00
Matteo Cypriani
773fd559cd
[Positioning] Add ResultList::empty()
2011-07-25 14:18:16 +02:00
Matteo Cypriani
d43267fcd3
[Positioning] Positioning: catch compute exceptions
...
Catch the exception potentially thrown by
PositioningAlgorithm::compute().
2011-07-25 14:18:16 +02:00
Matteo Cypriani
0df91eaa94
[Positioning] Input*: skip requests without measurements
2011-07-25 14:18:16 +02:00
Matteo Cypriani
1f46075aa3
[Positioning] Add option accept-new-aps
...
The option positioning.accept-new-aps allows the program to add on-line
APs that are not declared in the APs' configuration file.
2011-07-25 14:18:16 +02:00
Matteo Cypriani
2b1248fbec
[Positioning] Add Stock::ap_exists()
2011-07-25 14:18:16 +02:00
Matteo Cypriani
68b97451aa
[Positioning] Print new created APs when verbose
2011-07-25 14:18:16 +02:00
Matteo Cypriani
37997242c5
[Positioning] Uppercase all MAC addresses on input
2011-07-25 14:18:16 +02:00
Matteo Cypriani
e9e8308a9c
[Positioning] PosUtil: add string functions
...
Add PosUtil::to_upper(string) and PosUtil::assert_uppercase(string).
2011-07-25 14:18:16 +02:00
Matteo Cypriani
05859da49b
[Positioning] Reorder 2 headers in stock.hh
2011-07-25 14:18:16 +02:00
Matteo Cypriani
0491fe0a62
[Positioning] Input: del RP's requests on new CR
...
When a new calibration request is received, all the calibration requests
of the corresponding reference point are now cleared prior to add the
new request.
We should probably use a timeout to delete only the old calibration
requests and keep the recent ones.
2011-07-25 14:18:16 +02:00
Matteo Cypriani
b8bd2acf44
[Positioning] Add option accept-new-calibration-requests
...
The option positioning.accept-new-calibration-requests allows the
calibration requests sent during the positioning phase to be added to
the Stock. They are added to the calibration requests read by
InputDataReader during the start-up phase.
2011-07-25 14:18:16 +02:00
Matteo Cypriani
586cfdb77e
[Positioning] Stock::store_calibration_request()
...
InputDataReader::stock_calibration_request() becomes
Stock::store_calibration_request(), so other classes can use it.
2011-07-25 14:18:16 +02:00
Matteo Cypriani
de9513e4b4
[Positioning] Add option update-ap-coordinates-online
...
In InputUDPSocket, update the AP's coordinates when receiving a
calibration or autocalibration request that contains the coordinates.
This is done if the option positioning.update-ap-coordinates-online is
activated.
2011-07-25 14:18:16 +02:00
Matteo Cypriani
0dd57b8ea7
[Positioning] InputUDPSocket: use AP's coordinates
...
Use the transmitting AP's coordinates when receiving an autocalibration
request that does not contain the coordinates.
2011-07-25 14:18:16 +02:00
Matteo Cypriani
71784342e7
[Positioning] Add Stock::ap_matrix_get_ss()
...
Add double Stock::ap_matrix_get_ss(transmitter, receiver).
This is the first step to handle self-calibration in owlps-positioning.
The idea is to simulates a square matrix of the listeners, with the
transmitters in one dimension and the receivers in the other dimension.
matrix[transmitter][receiver] is the signal strength received by
'receiver' from 'transmitter'.
The purpose of Stock::ap_matrix_get_ss() is precisely to access the
entry matrix[transmitter][receiver].
Note that the access is read-only, as the pseudo-matrix is (or will be)
filled by the standard mechanism of (auto)calibration requests and
measurements stored in Stock.
2011-07-25 14:18:16 +02:00
Matteo Cypriani
f84276d8d7
[Positioning] ReferencePoint::average_measurements()
...
Add double ReferencePoint::average_measurements(string mac_transmitter),
that allows to get the average of all the Measurements sent by a given
transmitter.
Add, as protected functions, get_all_measurements(string
mac_transmitter) and get_requests(string mac_transmitter), that do the
same as get_all_measurements(void) and get_requests(void), but filtering
on the transmitter of the packets.
2011-07-25 14:18:16 +02:00
Matteo Cypriani
88aaded78c
[Positioning] Add Stock::get_reference_point()
2011-07-25 14:18:16 +02:00
Matteo Cypriani
fc13bc296c
[Positioning] Fix ReferencePoint::operator<<()
2011-07-22 11:36:05 +02:00
Matteo Cypriani
cf7bcecd10
[Positioning] Input: delete unused header
...
The function add_request_to_stock() was declared in input.hh, but not
defined anywhere.
2011-07-22 11:11:26 +02:00
Matteo Cypriani
25c3f53983
[Point3D] Fix Doxygen warning with operator string
2011-07-18 13:38:29 +02:00