⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c-motion.h

📁 一个机器人的源代码.软件设计得超级好!是商业级代码.
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef PMD_CMotion
#define	PMD_CMotion

//  c-motion.h -- C-Motion API
//
//  Performance Motion Devices, Inc.
//

/* --------------------------------

  Refer to "c-motion bug-change list.doc" for file history.

*/

#define _CRT_SECURE_NO_DEPRECATE

#define PILOT

#define CMOTION_MAJOR_VERSION	1
#define CMOTION_MINOR_VERSION	5

#if defined(__cplusplus)
extern "C" {
#endif

#include "PMDtypes.h"
#include "PMDecode.h"
#include "PMDtrans.h"



// Profile Generation
extern PMDresult PMDSetProfileMode            (PMDAxisInterface axis_intf, PMDuint16 mode);
extern PMDresult PMDGetProfileMode            (PMDAxisInterface axis_intf, PMDuint16* mode);
extern PMDresult PMDSetPosition               (PMDAxisInterface axis_intf, PMDint32 position);
extern PMDresult PMDGetPosition               (PMDAxisInterface axis_intf, PMDint32* position);
extern PMDresult PMDSetVelocity               (PMDAxisInterface axis_intf, PMDint32 velocity);
extern PMDresult PMDGetVelocity               (PMDAxisInterface axis_intf, PMDint32* velocity);
extern PMDresult PMDSetStartVelocity          (PMDAxisInterface axis_intf, PMDuint32 velocity);
extern PMDresult PMDGetStartVelocity          (PMDAxisInterface axis_intf, PMDuint32* velocity);
extern PMDresult PMDSetAcceleration           (PMDAxisInterface axis_intf, PMDuint32 acceleration);
extern PMDresult PMDGetAcceleration           (PMDAxisInterface axis_intf, PMDuint32* acceleration);
extern PMDresult PMDSetDeceleration           (PMDAxisInterface axis_intf, PMDuint32 deceleration);
extern PMDresult PMDGetDeceleration           (PMDAxisInterface axis_intf, PMDuint32* deceleration);
extern PMDresult PMDSetJerk                   (PMDAxisInterface axis_intf, PMDuint32 jerk);
extern PMDresult PMDGetJerk                   (PMDAxisInterface axis_intf, PMDuint32* jerk);
extern PMDresult PMDSetGearRatio              (PMDAxisInterface axis_intf, PMDint32 ratio);
extern PMDresult PMDGetGearRatio              (PMDAxisInterface axis_intf, PMDint32* ratio);
extern PMDresult PMDSetGearMaster             (PMDAxisInterface axis_intf, PMDAxis masterAxis, PMDuint8 source);
extern PMDresult PMDGetGearMaster             (PMDAxisInterface axis_intf, PMDAxis* masterAxis, PMDuint8* source);
extern PMDresult PMDSetStopMode               (PMDAxisInterface axis_intf, PMDuint16 mode);
extern PMDresult PMDGetStopMode               (PMDAxisInterface axis_intf, PMDuint16* mode);
extern PMDresult PMDGetCommandedPosition      (PMDAxisInterface axis_intf, PMDint32* position);
extern PMDresult PMDGetCommandedVelocity      (PMDAxisInterface axis_intf, PMDint32* velocity);
extern PMDresult PMDGetCommandedAcceleration  (PMDAxisInterface axis_intf, PMDint32* acceleration);


// Servo Filter
extern PMDresult PMDSetKp                     (PMDAxisInterface axis_intf, PMDuint16 kp);
extern PMDresult PMDGetKp                     (PMDAxisInterface axis_intf, PMDuint16* kp);
extern PMDresult PMDSetKd                     (PMDAxisInterface axis_intf, PMDuint16 kd);
extern PMDresult PMDGetKd                     (PMDAxisInterface axis_intf, PMDuint16* kd);
extern PMDresult PMDSetKi                     (PMDAxisInterface axis_intf, PMDuint16 ki);
extern PMDresult PMDGetKi                     (PMDAxisInterface axis_intf, PMDuint16* ki);
extern PMDresult PMDSetKvff                   (PMDAxisInterface axis_intf, PMDuint16 kvff);
extern PMDresult PMDGetKvff                   (PMDAxisInterface axis_intf, PMDuint16* kvff);
extern PMDresult PMDSetKaff                   (PMDAxisInterface axis_intf, PMDuint16 kaff);
extern PMDresult PMDGetKaff                   (PMDAxisInterface axis_intf, PMDuint16* kaff);
extern PMDresult PMDSetKout                   (PMDAxisInterface axis_intf, PMDuint16 kout);
extern PMDresult PMDGetKout                   (PMDAxisInterface axis_intf, PMDuint16* kout);
extern PMDresult PMDSetIntegrationLimit       (PMDAxisInterface axis_intf, PMDuint32 limit);
extern PMDresult PMDGetIntegrationLimit       (PMDAxisInterface axis_intf, PMDuint32* limit);
extern PMDresult PMDSetLimitSwitchMode        (PMDAxisInterface axis_intf, PMDuint16 mode);
extern PMDresult PMDGetLimitSwitchMode        (PMDAxisInterface axis_intf, PMDuint16* mode);
extern PMDresult PMDSetMotorLimit             (PMDAxisInterface axis_intf, PMDuint16 limit);
extern PMDresult PMDGetMotorLimit             (PMDAxisInterface axis_intf, PMDuint16* limit);
extern PMDresult PMDSetMotorBias              (PMDAxisInterface axis_intf, PMDint16 bias);
extern PMDresult PMDGetMotorBias              (PMDAxisInterface axis_intf, PMDint16* bias);
extern PMDresult PMDSetPositionErrorLimit     (PMDAxisInterface axis_intf, PMDuint32 limit);
extern PMDresult PMDGetPositionErrorLimit     (PMDAxisInterface axis_intf, PMDuint32* limit);
extern PMDresult PMDSetAutoStopMode           (PMDAxisInterface axis_intf, PMDuint16 mode);
extern PMDresult PMDGetAutoStopMode           (PMDAxisInterface axis_intf, PMDuint16* mode);
extern PMDresult PMDSetDerivativeTime         (PMDAxisInterface axis_intf, PMDuint16 derivativeTime);
extern PMDresult PMDGetDerivativeTime         (PMDAxisInterface axis_intf, PMDuint16* derivativeTime);
extern PMDresult PMDSetSettleTime             (PMDAxisInterface axis_intf, PMDuint16 settleTime);
extern PMDresult PMDGetSettleTime             (PMDAxisInterface axis_intf, PMDuint16* settleTime);
extern PMDresult PMDSetSettleWindow           (PMDAxisInterface axis_intf, PMDuint16 settleWindow);
extern PMDresult PMDGetSettleWindow           (PMDAxisInterface axis_intf, PMDuint16* settleWindow);
extern PMDresult PMDSetTrackingWindow         (PMDAxisInterface axis_intf, PMDuint16 trackingWindow);
extern PMDresult PMDGetTrackingWindow         (PMDAxisInterface axis_intf, PMDuint16* trackingWindow);
extern PMDresult PMDSetMotionCompleteMode     (PMDAxisInterface axis_intf, PMDuint16 mode);
extern PMDresult PMDGetMotionCompleteMode     (PMDAxisInterface axis_intf, PMDuint16* mode);
extern PMDresult PMDClearPositionError        (PMDAxisInterface axis_intf);
extern PMDresult PMDGetDerivative             (PMDAxisInterface axis_intf, PMDint16* derivative);
extern PMDresult PMDGetIntegral               (PMDAxisInterface axis_intf, PMDint32* integral);
extern PMDresult PMDGetPositionError          (PMDAxisInterface axis_intf, PMDint32* positionError);
#ifdef PILOT
extern PMDresult PMDSetSampleTime             (PMDAxisInterface axis_intf, PMDuint16 sampleTime);
extern PMDresult PMDGetSampleTime             (PMDAxisInterface axis_intf, PMDuint16* sampleTime);
#endif
#ifdef MAGELLAN
extern PMDresult PMDSetSampleTime             (PMDAxisInterface axis_intf, PMDuint32 sampleTime);
extern PMDresult PMDGetSampleTime             (PMDAxisInterface axis_intf, PMDuint32* sampleTime);
#endif
extern PMDresult PMDSetBiQuadCoefficient      (PMDAxisInterface axis_intf, PMDuint16 coefficientID, PMDuint16 filterID, PMDint16 value);
extern PMDresult PMDGetBiQuadCoefficient      (PMDAxisInterface axis_intf, PMDuint16 coefficientID, PMDuint16 filterID, PMDint16* value);


// Parameter Update & Breakpoints
extern PMDresult PMDSetBreakpoint             (PMDAxisInterface axis_intf, PMDuint16 breakpointID, PMDAxis sourceAxis, PMDuint8 action, PMDuint8 trigger);
extern PMDresult PMDGetBreakpoint             (PMDAxisInterface axis_intf, PMDuint16 breakpointID, PMDAxis *sourceAxis, PMDuint8* action, PMDuint8* trigger);
extern PMDresult PMDSetBreakpointValue        (PMDAxisInterface axis_intf, PMDuint16 breakpointID, PMDint32 breakpointValue);
extern PMDresult PMDGetBreakpointValue        (PMDAxisInterface axis_intf, PMDuint16 breakpointID, PMDint32* breakpointValue);
extern PMDresult PMDUpdate                    (PMDAxisInterface axis_intf);
extern PMDresult PMDMultiUpdate               (PMDAxisInterface axis_intf, PMDuint16 axisMask);


// Interrupt Processing
extern PMDresult PMDSetInterruptMask          (PMDAxisInterface axis_intf, PMDuint16 interruptMask);
extern PMDresult PMDGetInterruptMask          (PMDAxisInterface axis_intf, PMDuint16* interruptMask);
extern PMDresult PMDClearInterrupt            (PMDAxisInterface axis_intf);
extern PMDresult PMDGetInterruptAxis          (PMDAxisInterface axis_intf, PMDuint16* interruptingAxisMask);


// Status Register Control
extern PMDresult PMDResetEventStatus          (PMDAxisInterface axis_intf, PMDuint16 eventStatus);
extern PMDresult PMDGetEventStatus            (PMDAxisInterface axis_intf, PMDuint16* eventStatus);
extern PMDresult PMDGetActivityStatus         (PMDAxisInterface axis_intf, PMDuint16* activityStatus);
extern PMDresult PMDSetSignalSense            (PMDAxisInterface axis_intf, PMDuint16 mask);
extern PMDresult PMDGetSignalSense            (PMDAxisInterface axis_intf, PMDuint16* mask);
extern PMDresult PMDGetSignalStatus           (PMDAxisInterface axis_intf, PMDuint16* signalStatus);


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -