[Positioning] Add option accept-new-calibration-requests
The option positioning.accept-new-calibration-requests allows the calibration requests sent during the positioning phase to be added to the Stock. They are added to the calibration requests read by InputDataReader during the start-up phase.
This commit is contained in:
parent
586cfdb77e
commit
b8bd2acf44
|
@ -59,6 +59,15 @@ csv-file = /tmp/owlps-positioning.log
|
||||||
# request is compared directly to each calibration request.
|
# request is compared directly to each calibration request.
|
||||||
#radar-average-reference-points = false
|
#radar-average-reference-points = false
|
||||||
|
|
||||||
|
# This option allows the calibration requests sent during the
|
||||||
|
# positioning phase to be added to the calibration request's list. They
|
||||||
|
# are added to the calibration requests read by InputDataReader during
|
||||||
|
# the start-up phase. If this option is not activated, the calibration
|
||||||
|
# requests are handled as positioning requests.
|
||||||
|
# This option must be activated for the self-calibration to work, but
|
||||||
|
# it is not activated by default for security purposes.
|
||||||
|
#accept-new-calibration-requests = false
|
||||||
|
|
||||||
# When receiving a calibration or autocalibration request from an AP,
|
# When receiving a calibration or autocalibration request from an AP,
|
||||||
# containing the transmiter's coordinates, memorise the new AP's
|
# containing the transmiter's coordinates, memorise the new AP's
|
||||||
# coordinates.
|
# coordinates.
|
||||||
|
|
|
@ -113,8 +113,22 @@ const Request& Input::get_next_request() const
|
||||||
{
|
{
|
||||||
if (! eof())
|
if (! eof())
|
||||||
{
|
{
|
||||||
medium->get_next_request() ;
|
const Request& request = medium->get_next_request() ;
|
||||||
log_current_request() ;
|
log_current_request() ;
|
||||||
|
|
||||||
|
// If the request is a calibration request, add it to the Stock
|
||||||
|
// (if allowed)
|
||||||
|
if (Configuration::
|
||||||
|
bool_value("positioning.accept-new-calibration-requests"))
|
||||||
|
{
|
||||||
|
if (! request) // Skip the request if empty
|
||||||
|
return request ;
|
||||||
|
CalibrationRequest *calibration_request =
|
||||||
|
dynamic_cast<CalibrationRequest*>(
|
||||||
|
const_cast<Request*>(&request)) ;
|
||||||
|
if (calibration_request != NULL)
|
||||||
|
Stock::store_calibration_request(*calibration_request) ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return medium->get_current_request() ;
|
return medium->get_current_request() ;
|
||||||
|
|
|
@ -186,6 +186,13 @@ void UserInterface::fill_positioning_options()
|
||||||
" before to compute the SS distance."
|
" before to compute the SS distance."
|
||||||
" The default is false, i.e the positioning request is compared"
|
" The default is false, i.e the positioning request is compared"
|
||||||
" directly to each calibration request.")
|
" directly to each calibration request.")
|
||||||
|
("positioning.accept-new-calibration-requests",
|
||||||
|
po::value<bool>()->default_value(false),
|
||||||
|
"Add the calibration requests received during the run-time to"
|
||||||
|
" the calibration requests' list; this is required for the"
|
||||||
|
" self-calibration. If unactivated, the calibration requests"
|
||||||
|
" are handled as positioning requests (default is unactivated,"
|
||||||
|
" for security purposes).")
|
||||||
("positioning.update-ap-coordinates-online",
|
("positioning.update-ap-coordinates-online",
|
||||||
po::value<bool>()->default_value(false),
|
po::value<bool>()->default_value(false),
|
||||||
"Allow AP's coordinates to be updated when a calibration request"
|
"Allow AP's coordinates to be updated when a calibration request"
|
||||||
|
|
Loading…
Reference in New Issue