parent
e527b791ad
commit
2886d87ab6
70
TODO
70
TODO
|
@ -68,4 +68,72 @@
|
|||
|
||||
* Positioning
|
||||
|
||||
- Has its own fat TODO file, which I could merge in here.
|
||||
- Known bugs
|
||||
° FBCM always gives the same result.
|
||||
° Cannot compute the error (Real) with autocalibration requests.
|
||||
|
||||
- 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::generate_reference_point() into several functions.
|
||||
° Synchronise InputCSV & InputUDPSocket (calibration requests),
|
||||
factorise code into InputMedium.
|
||||
° Write a class for Request::type?
|
||||
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).
|
||||
° 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
|
||||
|
||||
- User interface
|
||||
° When reading the APs, add them to the mobiles' list (or another
|
||||
way to be able to have a single entry for an AP).
|
||||
° Review the option names & descriptions.
|
||||
° Add option positioning.self-calibrate (or autocalibrate), to
|
||||
activate automatically the options needed by the autocalibration.
|
||||
° Improve --verbose (and/or debug level): print the options, etc.
|
||||
° 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).
|
||||
|
||||
- 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.
|
||||
° Pre-allocate vectors' memory with reserve().
|
||||
"C++ en action", p. 217.
|
||||
° Copy of containers to streams (in some operator<<() for
|
||||
instance).
|
||||
"C++ en action", p. 275.
|
||||
° Review all the classes to respect principles exposed in "Coder
|
||||
proprement", chapter 6, p. 103: do implement accessors for each
|
||||
class attribute, etc.
|
||||
|
||||
- Unit tests
|
||||
° Update tests (currently unmaintained).
|
||||
° Unfinished tests:
|
||||
. InputDataReader
|
||||
. Input
|
||||
. Output
|
||||
. Positioning
|
||||
° Test InterlinkNetworks::compute() ?
|
||||
° 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.
|
||||
|
|
|
@ -1,70 +0,0 @@
|
|||
|
||||
- Known bugs
|
||||
° FBCM always gives the same result.
|
||||
° Cannot compute the error (Real) with autocalibration requests.
|
||||
|
||||
- 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::generate_reference_point() into several functions.
|
||||
° Synchronise InputCSV & InputUDPSocket (calibration requests),
|
||||
factorise code into InputMedium.
|
||||
° Write a class for Request::type?
|
||||
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).
|
||||
° 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
|
||||
|
||||
- User interface
|
||||
° When reading the APs, add them to the mobiles' list (or another
|
||||
way to be able to have a single entry for an AP).
|
||||
° Review the option names & descriptions.
|
||||
° Add option positioning.self-calibrate (or autocalibrate), to
|
||||
activate automatically the options needed by the autocalibration.
|
||||
° Improve --verbose (and/or debug level): print the options, etc.
|
||||
° 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).
|
||||
|
||||
- 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.
|
||||
° Pre-allocate vectors' memory with reserve().
|
||||
"C++ en action", p. 217.
|
||||
° Copy of containers to streams (in some operator<<() for
|
||||
instance).
|
||||
"C++ en action", p. 275.
|
||||
° Review all the classes to respect principles exposed in "Coder
|
||||
proprement", chapter 6, p. 103: do implement accessors for each
|
||||
class attribute, etc.
|
||||
|
||||
- Unit tests
|
||||
° Update tests (currently unmaintained).
|
||||
° Unfinished tests:
|
||||
. InputDataReader
|
||||
. Input
|
||||
. Output
|
||||
. Positioning
|
||||
° Test InterlinkNetworks::compute() ?
|
||||
° 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.
|
Loading…
Reference in New Issue