![]() |
Scanframe Modular Application 0.1.0
|
Classes | |
class | AxesCoord |
All axis values in one structure accompanied by some handy manipulation methods. More... | |
class | AxisValue |
Single position, speed or acceleration value of a specific axis. More... | |
struct | BufferInfo |
Structure to hold data update information. More... | |
class | Controller |
Pure virtual class for implementation of motion controllers. More... | |
struct | ParamInfo |
Structure to hold parameter information. More... | |
class | ParamState |
Structure to hold a single state. More... | |
struct | ResultInfo |
Structure to hold parameter information. More... | |
Typedefs | |
typedef void(* | NotifyProc) (void *data, IdType id) |
Function type for the function type which is called when a parameter changes as a result of changes in the interface itself. | |
typedef void(* | ControllerEvent) (Controller *ctrl, EControllerEvent event) |
Handler type for motion event handling. | |
typedef unsigned long long | IdType |
Type for gathering parameter ID's. | |
typedef TVector< IdType > | IdList |
Type for gathering parameter ID's. | |
typedef TSet< EAxisMovement > | AxisMovements |
Bitmap set of axis movements. | |
typedef TSet< EAxisLocation > | AxisLocations |
Bitmap set of axis locations. | |
Enumerations | |
enum | EParamFlag { pfREADONLY = 1 << 0 , pfEFFECTPARAM = 1 << 1 , pfEFFECTRESULT = 1 << 2 , pfAXIS = 1 << 3 , pfMOVE = 1 << 4 , pfMOVEPOS = 1 << 5 , pfMOVEVEL = 1 << 6 , pfEXPORT = 1 << 7 , pfSYSTEM = 1 << 8 , pfWRITEABLE = 1 << 9 , pfALIAS = 1 << 10 , pfARCHIVE = 1 << 11 , pfMOVECON = 1 << 12 } |
Parameter flags for defining parameter behaviour. More... | |
enum | EResultFlag { rfINDEX = 1 << 0 , rfASYNC = 1 << 1 , rfASYNCINDEX = 1 << 2 , rfHUGE = 1 << 3 } |
Result flags for defining result behaviour. More... | |
enum | EParam { mpNONE = 0x0000 , mpVERSION = 0x0001 , mpAXISCOUNT = 0x0002 , mpMOVEPOS = 0x0003 , mpMOVEVEL = 0x0004 , mpJOYSTICK = 0x0005 , mpTRIGGER_AXIS = 0x0006 , mpTRIGGER_DENSITY = 0x0007 , mpTRIGGER_MODE = 0x0008 , mpJOYSTICK_AXIS = 0x0009 , mpPOP_AXIS = 0x000A , mpTRIGGER_ENABLE = 0x000B , mpMOVECON = 0x000C , mpCHUCKJAW = 0x000D , mpERROR = 0x000E , mpERROR_MESSAGE = 0x000F , mpTRIGGER_FREQ = 0x0010 , mpTIMEUNIT = 0x0011 , mpLAST = 0x0200 , mpAXIS_MASK = 0x8000 , mpAXIS_NAME = 0x8001 , mpAXIS_IDX_POS = 0x8002 , mpAXIS_MODE = 0x8003 , mpAXIS_ACCURACY = 0x8004 , mpAXIS_RESOLUTION = 0x8005 , mpAXIS_MIN_POS = 0x8010 , mpAXIS_MAX_POS = 0x8011 , mpAXIS_MAX_VEL = 0x8012 , mpAXIS_MAX_ACC = 0x8013 , mpAXIS_OFS_POS = 0x8014 , mpAXIS_CUR_POS = 0x8020 , mpAXIS_CUR_VEL = 0x8021 , mpAXIS_TRG_POS = 0x8030 , mpAXIS_TRG_VEL = 0x8031 , mpAXIS_TRG_ACC = 0x8032 , mpAXIS_HOME_OFS = 0x8033 , mpAXIS_MOVEMENT = 0x8034 , mpAXIS_LAST = 0x8200 } |
Motion default parameters. List of ids which must always be implemented for each motion implementation. More... | |
enum | EResult { mrLAST = 0x0200 , mrAXIS_INDEX_POS = 0x8000 , mrAXIS_LAST = 0x8200 } |
Motion default results. More... | |
enum | EMovePosCmd { mpcCOMPLETE = 0 , mpcABORT = 1 , mpcSTOP = 2 , mpcPOSITION = 3 , mpcCURVE = 4 } |
Enumerate for controller position movement command. More... | |
enum | EMoveVelCmd { mvcCOMPLETE = 0 , mvcABORT = 1 , mvcSTOP = 2 , mvcON = 3 } |
Enumerate for controller velocity movement command. More... | |
enum | EMoveConCmd { mccCOMPLETE = 0 , mccABORT = 1 , mccSTOP = 2 , mccON = 3 } |
Enumerate for controller continuous movement command. More... | |
enum | EJoystickCmd { jscINHIBIT = -1 , jscOFF = 0 , jscSTOP = 1 , jscON = 2 } |
Enumerate for controller Joy movement command. More... | |
enum | EAxisMode { amDISABLED = 0 , amPOSITION = 1 , amVELOCITY = 2 , amHOME = 3 , amCONTINUE = 4 } |
Enumerate for controller mode of operation. More... | |
enum | EAxisMinMax : unsigned int { ammMIN_POS = 0 , ammMAX_POS = 1 , ammMAX_VEL = 2 , ammMAX_ACC = 3 } |
Enumerate for retrieving axis extremes. More... | |
enum | EChuckJaw { cjOFF = 0 , cjOPEN = 1 , cjCLOSE = 2 } |
enum | EControllerEvent { ceSTATUS = 0x0000 , ceHOOKED = 0x1001 , ceUNHOOKED = 0x1002 , ceCOMPLETE = 0x2001 , cePOPEVENT = 0x3001 } |
Enumerate for controller events. More... | |
enum | EAxisValueType : unsigned int { avtNone = 0 , avtPosition , avtVelocity , avtAcceleration } |
List of axis coordinate types. Use a full namespace type path when specifying a Q_PROPERTY(...) More... | |
enum | EAxisMovement : unsigned int { amLinear = 0 , amRadial = 1 , amLimited = 2 } |
Movements an axes can make. (are used as bit locations in TAxisMovements) More... | |
enum | EAxisLocation : int { alNA = -1 , alX = 0 , alY , alZ , alA , alB , alC , alD , alE , alAux1 , alAux2 , alLastEntry , alFirstEntry = 0 } |
Enumeration of axis locations. More... | |
Functions | |
_GMI_FUNC std::string_view | getAxisName (int axis_loc) |
Gets the name of the given axis location. | |
_GMI_FUNC std::string_view | getAxisUnit (int axis_loc, EAxisValueType type) |
Gets the default axis unit. | |
_GMI_FUNC std::string_view | getAxisValueTypeName (EAxisValueType type) |
Gets name of the given axis value type. | |
_GMI_FUNC std::string_view | getMovementsUnit (const AxisMovements &ams, EAxisValueType type) |
Gets the axis unit based on the movements of the axis. | |
_GMI_FUNC bool | getTargetTime (double dist, double vel, double acc, double &time) |
Calculates the time needed to move over the distance. | |
_GMI_FUNC bool | getTargetTime (const AxesCoord &dist, const AxesCoord &max_vel, const AxesCoord &max_acc, AxesCoord &trg_time) |
Calculates the time needed to move over the distance for all axes in the AxisCoord. | |
_GMI_FUNC bool | getAccelerationTime (double dist, double vel, double acc, double &time) |
Calculates the time needed to move over the distance. | |
_GMI_FUNC bool | getAccelerationTime (const AxesCoord &dist, const AxesCoord &max_vel, const AxesCoord &max_acc, AxesCoord &trg_time) |
Calculates the time needed to move over the distance for all axes in the AxisCoord. | |
_GMI_FUNC bool | getTargetAccelerationTime (double dist, double vel, double acc, double &trg_time, double &acc_time) |
Calculates the time and acceleration needed to move over the distance. | |
_GMI_FUNC bool | getPositionVelocity (double dist, double vel, double acc, double cur_tm, double &cur_pos, double &cur_vel) |
Calculates the position and velocity at the current time from the start. | |
_GMI_FUNC bool | calcLinearValue (double dist, double trg_time, double acc_time, double &vel, double &acc) |
??? | |
_GMI_FUNC bool | calcLinearValues (const AxesCoord &dist, double trg_time, double acc_time, AxesCoord &vel, AxesCoord &acc) |
??? | |
_GMI_FUNC bool | getLinearValues (const AxesCoord &dist, const AxesCoord &max_vel, const AxesCoord &max_acc, AxesCoord &trg_vel, AxesCoord &trg_acc, double &trg_time) |
Calculates the velocity and acceleration needed to move a distance in a linear manner. Returns. | |
_GMI_FUNC int | compareValue (double v1, double v2, double tolerance, bool rad_unlimited) |
Compares the passed values v1 and v2. When the two values have no bigger absolute difference the maximum absolute difference passed are assumed equal. The last parameter specifies if the compared value is a radial unlimited axis. | |
Variables | |
class _GMI_CLASS | Controller |
Forward declarations of Controller. | |
typedef TSet<EAxisLocation> sf::gmi::AxisLocations |
Bitmap set of axis locations.
typedef TSet<EAxisMovement> sf::gmi::AxisMovements |
Bitmap set of axis movements.
typedef void(* sf::gmi::ControllerEvent) (Controller *ctrl, EControllerEvent event) |
Handler type for motion event handling.
typedef TVector<IdType> sf::gmi::IdList |
Type for gathering parameter ID's.
typedef unsigned long long sf::gmi::IdType |
Type for gathering parameter ID's.
typedef void(* sf::gmi::NotifyProc) (void *data, IdType id) |
Function type for the function type which is called when a parameter changes as a result of changes in the interface itself.
enum sf::gmi::EAxisLocation : int |
Enumeration of axis locations.
enum sf::gmi::EAxisMinMax : unsigned int |
enum sf::gmi::EAxisMode |
Enumerate for controller mode of operation.
enum sf::gmi::EAxisMovement : unsigned int |
enum sf::gmi::EAxisValueType : unsigned int |
enum sf::gmi::EChuckJaw |
Enumerate for controller events.
Enumerator | |
---|---|
ceSTATUS | Controller status changed. |
ceHOOKED | Handler was hooked to the controller. |
ceUNHOOKED | Handler was unhooked to the controller. |
ceCOMPLETE | Complete event on an axis group. Not implemented yet. |
cePOPEVENT | POP axis has made a rotation. |
enum sf::gmi::EMoveConCmd |
enum sf::gmi::EMovePosCmd |
enum sf::gmi::EMoveVelCmd |
enum sf::gmi::EParam |
Motion default parameters. List of ids which must always be implemented for each motion implementation.
enum sf::gmi::EParamFlag |
Parameter flags for defining parameter behaviour.
enum sf::gmi::EResult |
enum sf::gmi::EResultFlag |
_GMI_FUNC bool sf::gmi::calcLinearValue | ( | double | dist, |
double | trg_time, | ||
double | acc_time, | ||
double & | vel, | ||
double & | acc | ||
) |
???
dist | distance to travel for each axis. |
trg_time | Time in which to reach the target |
acc_time | Time in which to accelerate. |
vel | Velocity needed to move the distance in time. |
acc | Acceleration needed to reach the previous velocity. |
_GMI_FUNC bool sf::gmi::calcLinearValues | ( | const AxesCoord & | dist, |
double | trg_time, | ||
double | acc_time, | ||
AxesCoord & | vel, | ||
AxesCoord & | acc | ||
) |
???
dist | Distance to travel for each axis. |
trg_time | Time in which to reach the target |
acc_time | Time in which to accelerate. |
vel | Velocity needed to move the distance in time. |
acc | Acceleration needed to reach the previous velocity. |
_GMI_FUNC int sf::gmi::compareValue | ( | double | v1, |
double | v2, | ||
double | tolerance, | ||
bool | rad_unlimited | ||
) |
Compares the passed values v1 and v2. When the two values have no bigger absolute difference the maximum absolute difference passed are assumed equal. The last parameter specifies if the compared value is a radial unlimited axis.
v1 | |
v2 | |
tolerance | |
rad_unlimited |
_GMI_FUNC bool sf::gmi::getAccelerationTime | ( | const AxesCoord & | dist, |
const AxesCoord & | max_vel, | ||
const AxesCoord & | max_acc, | ||
AxesCoord & | trg_time | ||
) |
Calculates the time needed to move over the distance for all axes in the AxisCoord.
dist | distance to travel. |
max_vel | Maximum velocity. |
max_acc | Maximum acceleration. |
trg_time | Returned acceleration time. |
_GMI_FUNC bool sf::gmi::getAccelerationTime | ( | double | dist, |
double | vel, | ||
double | acc, | ||
double & | time | ||
) |
Calculates the time needed to move over the distance.
dist | distance to travel. |
vel | Maximum velocity. |
acc | Maximum acceleration. |
time | Returned target time. |
_GMI_FUNC std::string_view sf::gmi::getAxisName | ( | int | axis_loc | ) |
Gets the name of the given axis location.
_GMI_FUNC std::string_view sf::gmi::getAxisUnit | ( | int | axis_loc, |
EAxisValueType | type | ||
) |
Gets the default axis unit.
axis_loc | Axis location. |
type | Axis type of value. |
_GMI_FUNC std::string_view sf::gmi::getAxisValueTypeName | ( | EAxisValueType | type | ) |
Gets name of the given axis value type.
_GMI_FUNC bool sf::gmi::getLinearValues | ( | const AxesCoord & | dist, |
const AxesCoord & | max_vel, | ||
const AxesCoord & | max_acc, | ||
AxesCoord & | trg_vel, | ||
AxesCoord & | trg_acc, | ||
double & | trg_time | ||
) |
Calculates the velocity and acceleration needed to move a distance in a linear manner. Returns.
dist | Distance to travel. |
max_vel | Maximum velocity. |
max_acc | Maximum acceleration. |
trg_vel | Target velocity. |
trg_acc | Target acceleration. |
trg_time | Time needed to reach target. |
_GMI_FUNC std::string_view sf::gmi::getMovementsUnit | ( | const AxisMovements & | ams, |
EAxisValueType | type | ||
) |
Gets the axis unit based on the movements of the axis.
ams | |
type |
_GMI_FUNC bool sf::gmi::getPositionVelocity | ( | double | dist, |
double | vel, | ||
double | acc, | ||
double | cur_tm, | ||
double & | cur_pos, | ||
double & | cur_vel | ||
) |
Calculates the position and velocity at the current time from the start.
dist | distance to travel. |
vel | Maximum velocity. |
acc | Maximum acceleration. |
cur_tm | Current time. |
cur_pos | Current position. |
cur_vel | Current velocity. |
_GMI_FUNC bool sf::gmi::getTargetAccelerationTime | ( | double | dist, |
double | vel, | ||
double | acc, | ||
double & | trg_time, | ||
double & | acc_time | ||
) |
Calculates the time and acceleration needed to move over the distance.
dist | distance to travel. |
vel | Maximum velocity. |
acc | Maximum acceleration. |
trg_time | Target time. |
acc_time | Acceleration time. |
_GMI_FUNC bool sf::gmi::getTargetTime | ( | const AxesCoord & | dist, |
const AxesCoord & | max_vel, | ||
const AxesCoord & | max_acc, | ||
AxesCoord & | trg_time | ||
) |
Calculates the time needed to move over the distance for all axes in the AxisCoord.
dist | distance to travel. |
max_vel | Maximum velocity. |
max_acc | Maximum acceleration. |
trg_time | Returned target time. |
_GMI_FUNC bool sf::gmi::getTargetTime | ( | double | dist, |
double | vel, | ||
double | acc, | ||
double & | time | ||
) |
Calculates the time needed to move over the distance.
dist | distance to travel. |
vel | Maximum velocity. |
acc | Maximum acceleration. |
time | Returned target time. |
Forward declarations of Controller.