You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
1.0 KiB
C++

#pragma once
#include <vector>
using stPointPosition = struct _stPointPosition
{
// axis position for each point (number of position MUST match number of axis)
std::vector<double> vecAxisPosition;
//
unsigned long ulDwell{ 0 }; // dwell time in ms
};
using stAxSpeed = struct _stAxSpeed
{
double dStartSpeed{ 0. }; // axis start speed
double dMaxSpeed{ 0. }; // axis max speed
double dEndSpeed{ 0. }; // axis end speed
// reserved
double dSCurve{ 0.5 }; // s-curve
double dAcc{ 0. }; // axis acceleration
double dDec{ 0. }; // axis deceleration
};
using stMotionPath = struct _stMotionPath
{
// point path
std::vector<int> vecAxisId; // list of axis id
std::vector<stPointPosition> vecPointPath; // list of axis position for each point
// speed profile
stAxSpeed AxSpeed; // speed for each axis
int nId{}; // Point Table Id for ECAT
bool bUseAbsolutePos{}; // true: absolute position, false: relative position (default)
};