Update TODOs
This commit is contained in:
parent
a9f4750f34
commit
1a5fab9b99
36
TODO
36
TODO
|
@ -1,11 +1,14 @@
|
|||
* Global
|
||||
|
||||
- Add option dump-configuration (displays the config & exits).
|
||||
- Makefiles:
|
||||
° Translate comments & help.
|
||||
° Merge Makefile and Makefile_atheros*. Use template makefiles,
|
||||
autohell, cmake…?
|
||||
- Use string for network exchanges?
|
||||
- Mark arguments as const in function headers if needed
|
||||
That is (mostly) done in the owlps-positioning C++ code, but not
|
||||
constantly in C modules.
|
||||
Mostly done in the owlps-positioning C++ code (should check that),
|
||||
but not constantly in C modules.
|
||||
[Done in libowlps & libowlps-client.]
|
||||
- Allow to use hostnames instead of IP addresses in all modules
|
||||
getaddrinfo(3) (or gethostbyname(3)) should be used when opening
|
||||
|
@ -25,10 +28,14 @@
|
|||
|
||||
* Aggregator
|
||||
|
||||
- -o should be optional.
|
||||
- Add an option to (not) flush the output file.
|
||||
- Refactor:
|
||||
° monitor_requests()
|
||||
° got_request()
|
||||
- inet_ntoa() is not secure with threads
|
||||
(But it is currently used by only one thread.) Use inet_ntop()
|
||||
instead?
|
||||
- Refactor got_request().
|
||||
- Use the type of a request to identify it?
|
||||
(along with the mobile MAC address and the request time)
|
||||
- got_request(): option for the maximal difference time
|
||||
|
@ -36,36 +43,29 @@
|
|||
and received within an interval of 10ms are part of the same
|
||||
request. We should define an option to allow user to choose the
|
||||
time he wants.
|
||||
- Allow blank parameters for output options.
|
||||
|
||||
|
||||
* Listener
|
||||
|
||||
- Refactor and review read_packet().
|
||||
- Handle better the configuration file reading
|
||||
Get rid of the "Cannot open configuration file" error, in quiet
|
||||
mode and when the default configuration file has to be used (no
|
||||
file specified by the user with -f).
|
||||
- Listen for autocalibration requests without sending requests?
|
||||
- read_packet(): use ieee80211_header_size for all implicit packets
|
||||
Currently the size is corrected only for data packets.
|
||||
- Move endianess #defines in libowlps?
|
||||
- Merge Makefile and Makefile_atheros?
|
||||
Use autohell, cmake, etc.?
|
||||
- Use positive (USE_CONFUSE) and negative (NO_USE_PTHREAD) options?
|
||||
The default options could be modified, but that's not so important,
|
||||
is it?
|
||||
|
||||
|
||||
* Client
|
||||
|
||||
- Handle signals.
|
||||
- Add verbose & quiet options.
|
||||
- Log sent requests?
|
||||
- Allow to use a string for the direction?
|
||||
Could be nice, but probably useless.
|
||||
|
||||
|
||||
* Positioning
|
||||
|
||||
- Has its own fat TODO file, which I should translate.
|
||||
|
||||
|
||||
* writeInDb
|
||||
|
||||
- Do something about that
|
||||
° Merge in owlps-positioning?
|
||||
° Delete?
|
||||
- Has its own fat TODO file, which I could merge in here.
|
||||
|
|
|
@ -1,17 +1,60 @@
|
|||
|
||||
- Multithread algorithm calls.
|
||||
- Known bugs
|
||||
° FBCM always gives the same result.
|
||||
° Cannot compute the error (Real) with autocalibration requests.
|
||||
|
||||
- Write a class for Request::type?
|
||||
- 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?
|
||||
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
|
||||
° 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.
|
||||
° 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.
|
||||
|
||||
- Unit tests
|
||||
° Update tests (currently unmaintained).
|
||||
° Unfinished tests:
|
||||
|
@ -20,6 +63,9 @@
|
|||
. 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.
|
||||
|
||||
- Revoir le diagramme UML
|
||||
° Associations : devraient êtres représentées par des attributs
|
||||
|
@ -27,25 +73,6 @@
|
|||
° Compositions : devraient être représentées par des attributs
|
||||
normaux.
|
||||
|
||||
- Building
|
||||
Dans le destructeur, vérifier qu'il faut bien supprimer les Area et
|
||||
les Waypoint. Si oui, faut-il aussi les enlever des listes dans
|
||||
Stock ? (Pour l'instant ils ne sont pas dans Stock.)
|
||||
|
||||
- ReferencePoint
|
||||
° La liste des requêtes devrait être un unordered_set (et pas un
|
||||
vector), pour garantir l'unicité des entrées.
|
||||
|
||||
- MinMax
|
||||
° Différencier le pas pour X, Y et Z ?
|
||||
|
||||
- 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
|
||||
|
||||
- « C++ en action »
|
||||
° Espaces de noms ? 109
|
||||
° Réserver l'espace mémoire des vector avec reserve(). 217
|
||||
|
@ -59,11 +86,3 @@
|
|||
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.
|
||||
|
||||
- Miscellaneous
|
||||
° Pointer function arguments: const * const <type>
|
||||
|
||||
- Timestamp
|
||||
Dans les tests, il y a une probabilité de 1/1000000 que la valeur
|
||||
en ns et la valeur arrondie en ms soient identiques. Dans ce cas,
|
||||
certains tests peuvent échouer.
|
||||
|
|
Loading…
Reference in New Issue