Update TODO

This commit is contained in:
Matteo Cypriani 2011-08-26 16:08:39 +02:00
parent 91609a40fe
commit 33167601bf
1 changed files with 45 additions and 3 deletions

48
TODO
View File

@ -1,11 +1,21 @@
* Global * Global
- Known bugs
° libconfuse bugs (Listener & Aggregator):
. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=639074
. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=639115
- Rename some fields in the structures
° start_time -> rx_time, first_rx_time
- Eliminate remaining exit() calls to avoid memory leaks on exit.
- Add option dump-configuration (displays the config & exits). - Add option dump-configuration (displays the config & exits).
- Makefiles: - Makefiles:
° Translate comments & help. ° Translate comments & help.
° Merge Makefile and Makefile_atheros*. Use template makefiles, ° Merge Makefile and Makefile_atheros*. Use template makefiles,
autohell, cmake…? autohell, cmake…?
- Use string for network exchanges? - Use a string for positioning requests
Instead of a binary packet, use a CSV string containing the request
information. This will allow easy developments of clients in other
languages.
- Mark arguments as const in function headers if needed - Mark arguments as const in function headers if needed
Mostly done in the owlps-positioning C++ code (should check that), Mostly done in the owlps-positioning C++ code (should check that),
but not constantly in C modules. but not constantly in C modules.
@ -52,9 +62,17 @@
Get rid of the "Cannot open configuration file" error, in quiet Get rid of the "Cannot open configuration file" error, in quiet
mode and when the default configuration file has to be used (no mode and when the default configuration file has to be used (no
file specified by the user with -f). file specified by the user with -f).
- Listen for autocalibration requests without sending requests? - Filter the number of implicit packets per mobile?
Currently, in passive or mixed mode, *all* the receive packets are
transmitted to the aggregator.
- Option "read-only autocalibration"?
Listen for autocalibration requests without sending requests.
- read_packet(): use ieee80211_header_size for all implicit packets - read_packet(): use ieee80211_header_size for all implicit packets
Currently the size is corrected only for data packets. Currently the size is corrected only for data packets.
- BSD port
http://www.unixgarden.com/index.php/programmation/introduction-a-la-programmation-wifi-en-c-sous-netbsd
- Use the "official" radiotap parser? (Expat license)
http://git.sipsolutions.net/?p=radiotap.git
* Client * Client
@ -65,16 +83,35 @@
Could be nice, but probably useless. Could be nice, but probably useless.
* UDP to HTTP
- Command-line options (port numbers, -v/-q, -h, -V).
- Delete inactive clients after a given amount of time.
- Refactor prepare_answer().
* Positioning * Positioning
- Known bugs - Known bugs
° Cannot compute the error (Real) with autocalibration requests. ° Cannot compute the error (Real) with autocalibration requests.
- Algorithms - Algorithms
° Add to the result the information "area error" (whether on not the
computed result is in the same room as the real position).
° Delete reference points after a given amount of time. This is to
avoid meaningless old reference points, for instance if an AP was
shut down.
° Handle the power and antenna gain difference between the
calibration mobile (or pseudo-mobile, for autocalibration) and the
mobile to position.
° MinMax: use a different step for X, Y and Z? ° MinMax: use a different step for X, Y and Z?
- Autocalibration - Autocalibration
° Generate reference points in 3D. ° Generate reference points in 3D.
° Check what happens with >4 APs, and fix it. We certainly should
select APs not only by the angle proximity, but also by the
distance proximity. Maybe implement three options: angle, distance,
and angle + distance.
° Handle 2 APs, not only >2 APs. ° Handle 2 APs, not only >2 APs.
° Find why some CalibrationRequest were not deleted when ° Find why some CalibrationRequest were not deleted when
calling Stock::delete_calibration_request() (via calling Stock::delete_calibration_request() (via
@ -108,7 +145,12 @@
with relative path in owlps-positioning.cfg in the same directory). with relative path in owlps-positioning.cfg in the same directory).
- Optimisation & code improvement - Optimisation & code improvement
° Multithread algorithm calls. ° Multithreading:
. algorithm (parallelize computation of the different algorithms
for the same request) ;
. and/or requests (parallelize computation of several requests).
It would be possible (overkill?) to have a group of worker threads
and a job queue.
° ReferencePoint: the request list should be an unordered_set ° ReferencePoint: the request list should be an unordered_set
instead of a vector, to guarantee the unicity of the elements. instead of a vector, to guarantee the unicity of the elements.
° Pre-allocate vectors' memory with reserve(). ° Pre-allocate vectors' memory with reserve().