* This method calculates the servo coordinates for a given elevation
* @param elevation the elevation to use for the coordinates calculation, expressed in degrees
* @throw MinorServoErrors::MinorServoErrorsEx when the servo has not been configured yet and has not loaded any coefficient for the position calculalation
* @return the calculated coordinates as a sequence of doubles
* This method sets the user offset of the servo for a given axis
* @param axis_name a string corresponding to the axis we want to set the offset for
* @param offset the absolute user offset value for the given servo axis
* @throw MinorServoErrors::MinorServoErrorsEx when the given axis is unknown, when the sum of user and system offsets for the given axis are out of range,
* when there has been a communication error or when the command was not accepted
*/
void setUserOffset(in string axis_name, in double offset) raises (MinorServoErrors::MinorServoErrorsEx);
/**
* This method sets the user offsets to zero for all the servo axes
* @throw MinorServoErrors::MinorServoErrorsEx when there has been a communication error or when the command was not accepted
* This method sets the system offset of the servo for a given axis
* @param axis_name a string corresponding to the axis we want to set the offset for
* @param offset the absolute system offset value for the given servo axis
* @throw MinorServoErrors::MinorServoErrorsEx when the given axis is unknown, when the sum of user and system offsets for the given axis are out of range,
* when there has been a communication error or when the command was not accepted
*/
void setSystemOffset(in string axis_name, in double offset) raises (MinorServoErrors::MinorServoErrorsEx);
};
/**
* This method sets the system offsets to zero for all the servo axes
* @throw MinorServoErrors::MinorServoErrorsEx when there has been a communication error or when the command was not accepted
* This method returns the time it would take for the servo to get from a starting position to a destination position
* An empty starting position means the function will calculate the travel time from the current position, taking into account the current speed as well
* To account for the current speed, it is sufficient to call the method in this way:
* @param starting_position the sequence of starting axes positions or an empty sequence
* @param destination_position the sequence of destination axes positions, mandatory
* @throw MinorServoErrors::MinorServoErrorsEx when receiving a starting position sequence of length different from zero or the number of virtual axes of the servo,
* when receiving a destination position sequence of lenght different from the number of virtual axes of the servo
* @return an ACS::TimeInterval object representing the total duration of the movement from the starting position to the destination position
*/
ACS::TimeInterval getTravelTime(in ACS::doubleSeq starting_position, in ACS::doubleSeq destination_position);
/**
* This method returns the minimum and maximun ranges for all the servo axes in the given sequence passed by reference
* @param min_ranges the minimum range of the servo axes
* @param max_ranges the maximum range of the servo axes
*/
void getAxesRanges(out ACS::doubleSeq min_ranges, out ACS::doubleSeq max_ranges);
};
/**
* This IDL interface describes the CORBA interface of a generic SRTMinorServo component.
* This interface is derived from the SRTBaseMinorServo and it is empty.