2010-01-07 16:26:13 +01:00
|
|
|
|
|
2011-07-29 22:26:38 +02:00
|
|
|
|
- Known bugs
|
|
|
|
|
° FBCM always gives the same result.
|
|
|
|
|
° Cannot compute the error (Real) with autocalibration requests.
|
2011-05-03 13:53:33 +02:00
|
|
|
|
|
2011-07-29 22:26:38 +02:00
|
|
|
|
- Algorithms
|
|
|
|
|
° Check MultilaterationAlgorithm::make_constant_term().
|
|
|
|
|
Hint: mobile.trx_power() vs. ap.trx_power().
|
|
|
|
|
° MinMax: use a different step for X, Y and Z?
|
|
|
|
|
|
|
|
|
|
- Autocalibration
|
|
|
|
|
° Generate reference points in 3D.
|
|
|
|
|
° Handle 2 APs, not only >2 APs.
|
|
|
|
|
° Find why some CalibrationRequest were not deleted when
|
|
|
|
|
calling Stock::delete_calibration_request() (via
|
|
|
|
|
ReferencePoint::delete_requests()).
|
|
|
|
|
|
|
|
|
|
- Refactoring
|
|
|
|
|
° Split Stock::regenerate_reference_points() into several
|
|
|
|
|
functions.
|
|
|
|
|
° Create virtual class OutputSocket to factorise code of
|
|
|
|
|
OutputUDPSocket & OutputTCPSocketEvAAL.
|
|
|
|
|
° Synchronise InputCSV & InputUDPSocket (calibration requests),
|
|
|
|
|
factorise code into InputMedium.
|
|
|
|
|
° Write a class for Request::type?
|
2011-03-31 14:39:29 +02:00
|
|
|
|
CalibrationRequest::direction uses a dedicated class Direction, why
|
|
|
|
|
not Request::type? That would simplify writing of the type to
|
|
|
|
|
streams (no need to cast each time anymore).
|
2011-07-29 22:26:38 +02:00
|
|
|
|
° Wi-Fi devices' list
|
|
|
|
|
. Merge Stock::mobiles & Stock::aps?
|
|
|
|
|
. Factorise AccessPointsReaderCSV & MobilesReaderCSV?
|
|
|
|
|
° Members renaming
|
|
|
|
|
. InputMedium:
|
|
|
|
|
. - current_line_nb & get_current_line_nb()
|
|
|
|
|
. - get_next_request() −> read_next_request()
|
|
|
|
|
. Input: get_next_request() −> read_next_request()
|
|
|
|
|
. Area: p_min et p_max −> coord_min et coord_max
|
2011-03-31 14:39:29 +02:00
|
|
|
|
|
2011-05-03 13:53:33 +02:00
|
|
|
|
- User interface
|
2011-07-29 22:26:38 +02:00
|
|
|
|
° Add the area to the result in OutputCSV.
|
|
|
|
|
° When reading the APs, add them to the mobiles' list (or another
|
|
|
|
|
way to be able to have a single entry for an AP).
|
|
|
|
|
° Rename minmax-start & stop, since it is used elsewhere (grep
|
|
|
|
|
minmax-start).
|
|
|
|
|
° Review the option names & descriptions.
|
|
|
|
|
° Add option positioning.self-calibrate (or autocalibrate), to
|
|
|
|
|
activate automatically the options needed by the autocalibration.
|
2011-06-16 14:21:12 +02:00
|
|
|
|
° Improve --verbose (and/or debug level): print the options, etc.
|
2011-05-03 13:53:33 +02:00
|
|
|
|
° Case-insensitive string comparison (for algorithm names, etc.).
|
|
|
|
|
° Use a prefix for configuration files (search for config files set
|
|
|
|
|
with relative path in owlps-positioning.cfg in the same directory).
|
2010-05-04 10:44:19 +02:00
|
|
|
|
|
2011-07-29 22:26:38 +02:00
|
|
|
|
- Optimisation & code improvement
|
|
|
|
|
° Multithread algorithm calls.
|
|
|
|
|
° ReferencePoint: the request list should be an unordered_set
|
|
|
|
|
instead of a vector, to guarantee the unicity of the elements.
|
|
|
|
|
|
2011-05-03 13:53:33 +02:00
|
|
|
|
- Unit tests
|
2011-03-16 12:45:16 +01:00
|
|
|
|
° Update tests (currently unmaintained).
|
2011-05-03 13:53:33 +02:00
|
|
|
|
° Unfinished tests:
|
|
|
|
|
. InputDataReader
|
|
|
|
|
. Input
|
|
|
|
|
. Output
|
|
|
|
|
. Positioning
|
|
|
|
|
° Test InterlinkNetworks::compute() ?
|
2011-07-29 22:26:38 +02:00
|
|
|
|
° Timestamp: there is a probability of 10^-6 that the value in
|
|
|
|
|
nanoseconds and the rounded value in milliseconds are identical, in
|
|
|
|
|
which case some tests can fail.
|
2010-02-11 17:24:21 +01:00
|
|
|
|
|
2010-01-11 19:40:45 +01:00
|
|
|
|
- Revoir le diagramme UML
|
|
|
|
|
° Associations : devraient êtres représentées par des attributs
|
|
|
|
|
pointeurs.
|
|
|
|
|
° Compositions : devraient être représentées par des attributs
|
|
|
|
|
normaux.
|
2010-04-16 09:32:12 +02:00
|
|
|
|
|
2010-02-18 12:23:46 +01:00
|
|
|
|
- « C++ en action »
|
|
|
|
|
° Espaces de noms ? 109
|
|
|
|
|
° Réserver l'espace mémoire des vector avec reserve(). 217
|
|
|
|
|
° Copie de conteneur vers un flux (cas de certains operator<<). 275
|
|
|
|
|
|
|
|
|
|
- « Coder proprement »
|
|
|
|
|
° Revoir toutes les classes pour respecter si possible les
|
|
|
|
|
principes exposés dans le chapitre 6 (p. 103) : implanter
|
|
|
|
|
systématiquement des accesseurs pour tous les attributs d'une
|
|
|
|
|
classe expose l'implantation de la classe et rend ses attributs
|
2010-03-01 16:52:37 +01:00
|
|
|
|
publics. La classe Direction (et maintenant Timestamp) tend à
|
|
|
|
|
respecter ce principe en utilisant mieux les opérateurs et en ne
|
|
|
|
|
proposant pas d'accesseur direct.
|