From 5b042baa1154ff4d4eebfe3b21e98ec749742d75 Mon Sep 17 00:00:00 2001 From: Matteo Cypriani Date: Tue, 7 Feb 2012 12:41:29 +0100 Subject: [PATCH] TODO: pre-release update --- TODO | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/TODO b/TODO index 8924b34..9e55f23 100644 --- a/TODO +++ b/TODO @@ -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