Update TODO
This commit is contained in:
parent
91609a40fe
commit
33167601bf
48
TODO
48
TODO
|
@ -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().
|
||||||
|
|
Loading…
Reference in New Issue