Update TODO.t2t
This commit is contained in:
parent
8692a1ba9b
commit
f08097ea08
113
TODO.t2t
113
TODO.t2t
|
@ -5,10 +5,23 @@ Work to do in OwlPS
|
|||
|
||||
= Documentation =
|
||||
|
||||
- Doxygen: solve problem with structs (member fields are not documented).
|
||||
- Known Doxygen problems:
|
||||
- Struct member fields are not documented with INLINE_SIMPLE_STRUCTS
|
||||
http://bugs.debian.org/725122
|
||||
- Ugly NAME (new line)
|
||||
http://bugs.debian.org/630020
|
||||
- Missing spaces around const
|
||||
http://bugs.debian.org/630018
|
||||
|
||||
- Topics to write on:
|
||||
- General user manual (common command-line options, etc.)
|
||||
- Documentation pages to be added:
|
||||
- owlps-basics.t2t: basics of indoor positioning (definitions:
|
||||
reference point, etc.), common command-line options, etc.
|
||||
- owlps-experimenting.t2t: useful information gathered from the
|
||||
previous experiments.
|
||||
http://git.lm7.fr/?p=owlps-experiments.git
|
||||
- Possibly owlps-autocalibration.t2t to expand the section
|
||||
“Autocalibration algorithms” of owlps-positionerd.t2t. Sources of
|
||||
information: PhD thesis, IPIN 2013 article.
|
||||
|
||||
|
||||
|
||||
|
@ -18,11 +31,6 @@ Work to do in OwlPS
|
|||
- Known bugs:
|
||||
- libconfuse bug (Listener & Aggregator): http://bugs.debian.org/639115
|
||||
|
||||
- Add a library to parse aggregation files, handling the different
|
||||
formats ?
|
||||
|
||||
It could be used by Positioner and external programs.
|
||||
|
||||
- Check the size of the received packets to avoid buffer overflows.
|
||||
|
||||
- Use select(2) or poll(2)
|
||||
|
@ -36,7 +44,14 @@ Work to do in OwlPS
|
|||
|
||||
- Eliminate remaining exit() calls to avoid memory leaks on exit.
|
||||
|
||||
- Use atexit() / on_exit() instead of goto to clean at exit?
|
||||
- Handle IPv6.
|
||||
|
||||
|
||||
|
||||
|
||||
= Global – maybe someday =
|
||||
|
||||
- Use atexit() / on_exit() instead of goto to clean at exit
|
||||
|
||||
- Support string-based positioning requests
|
||||
|
||||
|
@ -45,13 +60,16 @@ Work to do in OwlPS
|
|||
information. This will make easier to develop clients in other
|
||||
languages than C and over other protocols than UDP.
|
||||
|
||||
- Use struct ether_addr to store MAC addresses?
|
||||
- Use struct ether_addr to store MAC addresses
|
||||
|
||||
We could use the struct ether_addr to store binary MAC addresses, and
|
||||
convert them to strings with ether_ntoa(3) instead of
|
||||
owl_mac_bytes_to_string().
|
||||
|
||||
- Handle IPv6.
|
||||
- Add a library to parse aggregation files, handling the different
|
||||
formats ?
|
||||
|
||||
It could be used by Positioner and external programs.
|
||||
|
||||
|
||||
|
||||
|
@ -136,7 +154,7 @@ Work to do in OwlPS
|
|||
project: http://necessitas.kde.org/
|
||||
|
||||
A port of Qt for Apple iOS was also developed but seems inactive:
|
||||
https://qt.gitorious.org/+qt-iphone/qt/qt-iphone-clone
|
||||
https://qt.gitorious.org/qt/qt-iphone-clone/activities
|
||||
|
||||
|
||||
|
||||
|
@ -183,11 +201,7 @@ Work to do in OwlPS
|
|||
- To select the reference CPs, we should use the distance along with the
|
||||
angle and coverage.
|
||||
|
||||
- Handle 2 CPs, not only >2 CPs.
|
||||
|
||||
- Find why some CalibrationRequest were not deleted when calling
|
||||
Stock::delete_calibration_request() (via
|
||||
ReferencePoint::delete_requests()).
|
||||
- Handle 2 CPs, not only >2 CPs with mesh autocalibration.
|
||||
|
||||
- Option z-level-number: the Z coordinate represents a floor number. If
|
||||
unactivated, Z is in metres and the topology is used to determine a
|
||||
|
@ -203,28 +217,6 @@ Work to do in OwlPS
|
|||
of packets.
|
||||
|
||||
|
||||
== Refactoring ==
|
||||
|
||||
- Move Stock::generate_reference_point() & friends to a dedicated class.
|
||||
|
||||
- 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 any more).
|
||||
|
||||
- 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 ==
|
||||
|
||||
- Move autocalibration-related options from the "positioning" category
|
||||
|
@ -248,18 +240,54 @@ Work to do in OwlPS
|
|||
relative path in owlps-positioner.cfg in the same directory).
|
||||
|
||||
|
||||
== Miscellaneous new features ==
|
||||
|
||||
- Add a statistics framework (StatisticsMedium), that would provide
|
||||
information at the end of the execution.
|
||||
|
||||
The information that could be provided include:
|
||||
- number of requests treated, by type
|
||||
- for each algorithm:
|
||||
- mean error
|
||||
- number of results for which the room is wrong
|
||||
- number of results for which the floor is wrong
|
||||
- error information by room
|
||||
|
||||
|
||||
== Refactoring ==
|
||||
|
||||
- Move Stock::generate_reference_point() & friends to a dedicated class.
|
||||
|
||||
- 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 any more).
|
||||
|
||||
- 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
|
||||
|
||||
|
||||
== Optimisation & code improvement ==
|
||||
|
||||
- Eliminate const_cast where possible.
|
||||
|
||||
- Use the 'ws' stream manipulator to eat whitespaces.
|
||||
|
||||
- Change ss_t type to int_fast8_t?
|
||||
|
||||
- Multithreading:
|
||||
- Multithreading (OpenMP?):
|
||||
- algorithms (parallelize computation of the different algorithms for
|
||||
the same request);
|
||||
- and/or requests (parallelize computation of several requests).
|
||||
-
|
||||
See OpenMP.
|
||||
|
||||
- ReferencePoint: the request list should be an unordered_set instead of
|
||||
a vector, to guarantee the unicity of the elements.
|
||||
|
@ -315,7 +343,6 @@ Work to do in OwlPS
|
|||
- TrilaterationAlgorithm
|
||||
- TrilaterationMethod
|
||||
|
||||
|
||||
- Timestamp: there is a probability of 10^-6 that the value in
|
||||
nanoseconds and the rounded value in milliseconds are identical, in
|
||||
which case one of the tests can fail. This could be fixed by retrying
|
||||
|
|
Loading…
Reference in New Issue