[Positioning] Improve CalibrationRequest::type
Add the request type in CalibrationRequest constructors. Handle (auto)calibration request type in Input*.
This commit is contained in:
parent
5972e245cc
commit
670dfdc867
|
@ -3,6 +3,29 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* *** Constructors *** */
|
||||||
|
|
||||||
|
|
||||||
|
CalibrationRequest::CalibrationRequest(uint_fast8_t _type):
|
||||||
|
reference_point(NULL), direction(Direction())
|
||||||
|
{
|
||||||
|
type = _type ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CalibrationRequest::
|
||||||
|
CalibrationRequest(const Request &source,
|
||||||
|
ReferencePoint *_reference_point = NULL,
|
||||||
|
const Direction &_direction,
|
||||||
|
uint_fast8_t _type):
|
||||||
|
Request(source), reference_point(_reference_point),
|
||||||
|
direction(_direction)
|
||||||
|
{
|
||||||
|
type = _type ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* *** Write accessors *** */
|
/* *** Write accessors *** */
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,18 +16,14 @@ protected:
|
||||||
Direction direction ;
|
Direction direction ;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CalibrationRequest(void):
|
CalibrationRequest(uint_fast8_t _type = OWL_REQUEST_AUTOCALIBRATION) ;
|
||||||
reference_point(NULL), direction(Direction()) {}
|
|
||||||
|
|
||||||
CalibrationRequest(const CalibrationRequest &source):
|
CalibrationRequest(const CalibrationRequest &source):
|
||||||
Request(source), reference_point(source.reference_point),
|
Request(source), reference_point(source.reference_point),
|
||||||
direction(source.direction) {}
|
direction(source.direction) {}
|
||||||
|
|
||||||
CalibrationRequest(const Request &source,
|
CalibrationRequest(const Request &source,
|
||||||
ReferencePoint *_reference_point = NULL,
|
ReferencePoint *_reference_point,
|
||||||
const Direction &_direction = Direction()):
|
const Direction &_direction = Direction(),
|
||||||
Request(source), reference_point(_reference_point),
|
uint_fast8_t _type = OWL_REQUEST_AUTOCALIBRATION) ;
|
||||||
direction(_direction) {}
|
|
||||||
|
|
||||||
~CalibrationRequest(void) {}
|
~CalibrationRequest(void) {}
|
||||||
|
|
||||||
|
|
|
@ -108,7 +108,7 @@ const Request& InputCSV::get_next_request()
|
||||||
if (type == OWL_REQUEST_CALIBRATION ||
|
if (type == OWL_REQUEST_CALIBRATION ||
|
||||||
type == OWL_REQUEST_AUTOCALIBRATION)
|
type == OWL_REQUEST_AUTOCALIBRATION)
|
||||||
{
|
{
|
||||||
current_request_to_calibration_request() ;
|
current_request_to_calibration_request(type) ;
|
||||||
CalibrationRequest *request =
|
CalibrationRequest *request =
|
||||||
static_cast<CalibrationRequest*>(current_request) ;
|
static_cast<CalibrationRequest*>(current_request) ;
|
||||||
request->set_direction(direction) ;
|
request->set_direction(direction) ;
|
||||||
|
|
|
@ -23,14 +23,19 @@ InputMedium::~InputMedium()
|
||||||
/* *** Operations *** */
|
/* *** Operations *** */
|
||||||
|
|
||||||
|
|
||||||
void InputMedium::current_request_to_calibration_request()
|
void InputMedium::
|
||||||
|
current_request_to_calibration_request(uint_fast8_t request_type)
|
||||||
{
|
{
|
||||||
if (dynamic_cast<CalibrationRequest*>(current_request) != NULL)
|
if (dynamic_cast<CalibrationRequest*>(current_request) != NULL)
|
||||||
|
{
|
||||||
|
current_request->set_type(request_type) ;
|
||||||
return ;
|
return ;
|
||||||
|
}
|
||||||
|
|
||||||
Request *tmp = current_request ;
|
Request *tmp = current_request ;
|
||||||
current_request = NULL ;
|
current_request = NULL ;
|
||||||
current_request = new CalibrationRequest(*tmp) ;
|
current_request = new CalibrationRequest(*tmp) ;
|
||||||
|
current_request->set_type(request_type) ;
|
||||||
delete tmp ;
|
delete tmp ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,8 @@ public:
|
||||||
virtual const Request& get_next_request(void) = 0 ;
|
virtual const Request& get_next_request(void) = 0 ;
|
||||||
|
|
||||||
/// Converts #current_request into a CalibrationRequest
|
/// Converts #current_request into a CalibrationRequest
|
||||||
void current_request_to_calibration_request(void) ;
|
void current_request_to_calibration_request(
|
||||||
|
uint_fast8_t request_type = OWL_REQUEST_CALIBRATION) ;
|
||||||
/// Clears (reallocates to Request if needed) #current_request
|
/// Clears (reallocates to Request if needed) #current_request
|
||||||
void clear_current_request(void) ;
|
void clear_current_request(void) ;
|
||||||
|
|
||||||
|
|
|
@ -144,7 +144,7 @@ const Request& InputUDPSocket::get_next_request()
|
||||||
if (request.type == OWL_REQUEST_CALIBRATION ||
|
if (request.type == OWL_REQUEST_CALIBRATION ||
|
||||||
request.type == OWL_REQUEST_AUTOCALIBRATION)
|
request.type == OWL_REQUEST_AUTOCALIBRATION)
|
||||||
{
|
{
|
||||||
current_request_to_calibration_request() ;
|
current_request_to_calibration_request(request.type) ;
|
||||||
CalibrationRequest *calib_request =
|
CalibrationRequest *calib_request =
|
||||||
static_cast<CalibrationRequest*>(current_request) ;
|
static_cast<CalibrationRequest*>(current_request) ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue