diff --git a/dll/iodllD.dll b/dll/iodllD.dll index 52be330..80c6a0a 100644 Binary files a/dll/iodllD.dll and b/dll/iodllD.dll differ diff --git a/iodll/Include/MotionPath.h b/iodll/Include/MotionPath.h index bd25f75..5f11c3e 100644 --- a/iodll/Include/MotionPath.h +++ b/iodll/Include/MotionPath.h @@ -8,6 +8,23 @@ constexpr double degToRad(double degrees) return degrees * (3.14159265 / 180.0); } +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 stPathSpeed = struct _stPathSpeed +{ + double dMaxSpeed{ 0. }; // path max speed + double dEndSpeed{ 0. }; // path end speed +}; + using stHelixPosition = struct _stHelixPosition { // MUST be 3 elements: X, Y, Z @@ -17,6 +34,8 @@ using stHelixPosition = struct _stHelixPosition double deltaHeight{ 0. }; // height change double endRadius{ 0. }; // end radius // + stPathSpeed PathSpeed; // speed for each point + // unsigned long ulDwell{ 0 }; // dwell time in ms }; @@ -24,21 +43,11 @@ using stPointPosition = struct _stPointPosition { // axis position for each point (number of position MUST match number of axis) std::vector vecAxisPosition; + stPathSpeed PathSpeed; // speed for each point // 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