TODO: pre-release update

This commit is contained in:
Matteo Cypriani 2012-02-07 12:41:29 +01:00
parent d5e2c975ae
commit 5b042baa11
1 changed files with 16 additions and 16 deletions

32
TODO
View File

@ -19,13 +19,14 @@
° Use intall instead of cp?
° Merge Makefile and Makefile_atheros*. Use template makefiles,
autohell, cmake…?
- 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.
- Support string-based positioning requests
Along with the binary requests, implement a string-based request
format. Each packet will contain a CSV string describing the
request's information. This will make easier to develop clients in
other languages than C and over other protocols than UDP.
- Mark arguments as const in function headers if needed
Mostly done in the Positioner C++ code (should check that),
but not constantly in C modules.
Mostly done in the Positioner C++ code (which should be checked
though), 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
@ -48,7 +49,7 @@
- -o should be optional.
- Add an option to (not) flush the output file.
- Refactor:
- Refactoring:
° monitor_requests()
° got_request()
- Use the type of a request to identify it?
@ -65,7 +66,7 @@
- Known bugs:
° On OpenWrt Backfire (10.03), when the program is statically linked,
using both -D and -A at the same time makes the program to block on
the first thread. This is a known issue of OpenWrt:
the first thread. This is a known issue of uClibc:
https://dev.openwrt.org/ticket/4809
- Refactor and review read_packet().
- Handle better the configuration file reading
@ -103,7 +104,7 @@
* Positioner
- Known bugs
° Cannot compute the error (Real) with autocalibration requests.
° Cannot compute the error (Real) for autocalibration requests.
° Unit tests are currently unmaintained. Do not try to run them.
- Algorithms
@ -115,14 +116,13 @@
° 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: add option to set the step (and use a different step for X,
Y and Z?).
- Autocalibration
° 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.
° To select the reference APs, we should use the distance along with
the angle and coverage.
° Handle 2 APs, not only >2 APs.
° Find why some CalibrationRequest were not deleted when
calling Stock::delete_calibration_request() (via
@ -158,7 +158,7 @@
- Optimisation & code improvement
° Multithreading:
. algorithms (parallelize computation of the different algorithms
for the same request) ;
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.
@ -170,7 +170,7 @@
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
proprement", chapter 6, p. 103: do not implement accessors for each
class attribute, etc.
- Unit tests