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

📄 m5.h

📁 模块化机器人远程控制客户端
💻 H
📖 第 1 页 / 共 3 页
字号:
M5DLL_API int WINAPI PCube_getDeltaPos( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getMaxDeltaPos( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getActVel( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getIPolVel( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getDeltaVel( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getMaxDeltaVel( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getMinPos( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getMaxPos( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getMinVel( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getMaxVel( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getMinAcc( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getMaxAcc( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getMinCur( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getMaxCur( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_getCur( int dev, int cube, float* pValue );

M5DLL_API int WINAPI PCube_getActPosInc( int dev, int cube, Int32* pValue );
M5DLL_API int WINAPI PCube_getMaxDeltaPosInc( int dev, int cube, Int32* pValue );
M5DLL_API int WINAPI PCube_getMinPosInc( int dev, int cube, Int32* pValue );
M5DLL_API int WINAPI PCube_getMaxPosInc( int dev, int cube, Int32* pValue );
M5DLL_API int WINAPI PCube_getMaxVelInc( int dev, int cube, Int32* pValue );
M5DLL_API int WINAPI PCube_getMaxAccInc( int dev, int cube, Int32* pValue );
M5DLL_API int WINAPI PCube_getVelInc( int dev, int cube, Int32* pValue );
M5DLL_API int WINAPI PCube_getDeltaPosInc( int dev, int cube, Int32* pValue );
M5DLL_API int WINAPI PCube_getTargetVelInc( int dev, int cube, Int32* pValue );

M5DLL_API int WINAPI PCube_setDioSetup( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setDioData( int dev, int cube, UInt32 value );
M5DLL_API int WINAPI PCube_setTargetPos( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setTargetVel( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setTargetAcc( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setKpPosControl( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setTnPosControl( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setTvPosControl( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setT1PosControl( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setKpVelControl( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setTnVelControl( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setTvVelControl( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setT1VelControl( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setRawCurrent( int dev, int cube, Int16 pValue );
M5DLL_API int WINAPI PCube_setAdeRawDAC( int dev, int cube, Int16 pValue );
M5DLL_API int WINAPI PCube_setConfig( int dev, int cube, UInt32 pValue );
M5DLL_API int WINAPI PCube_setMaxDeltaPos( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setMaxDeltaVel( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setMinPos( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setMaxPos( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setMinVel( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setMaxVel( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setMinAcc( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setMaxAcc( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setMinCur( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setMaxCur( int dev, int cube, float value );
M5DLL_API int WINAPI PCube_setCur( int dev, int cube, float value );

M5DLL_API int WINAPI PCube_setMaxDeltaPosInc( int dev, int cube, Int32 value );
M5DLL_API int WINAPI PCube_setMinPosInc( int dev, int cube, Int32 value );
M5DLL_API int WINAPI PCube_setMaxPosInc( int dev, int cube, Int32 value );
M5DLL_API int WINAPI PCube_setMaxVelInc( int dev, int cube, Int32 value );
M5DLL_API int WINAPI PCube_setMaxAccInc( int dev, int cube, Int32 value );
M5DLL_API int WINAPI PCube_setHomeOffsetInc( int dev, int cube, Int32 value );

M5DLL_API int WINAPI PCube_recalcPIDParams( int dev, int cube);
M5DLL_API int WINAPI PCube_queryEndPos( int dev, int cube, Bool* pbool );
M5DLL_API int WINAPI PCube_querySyncEnd( int dev, int cube, Bool* pbool );


// MOVE-COMMANDS

M5DLL_API int WINAPI PCube_moveStep( int dev, int cube, float pos, UInt16);
M5DLL_API int WINAPI PCube_moveStepContinue( int dev, int cube, float pos, UInt16);
M5DLL_API int WINAPI PCube_moveRamp( int dev, int cube, float, float, float);
M5DLL_API int WINAPI PCube_moveRampExtended( int dev, int cube, float pos, float vel, float acc, 
								   unsigned long *stateRet,unsigned char *dioRet, float *posRet);
M5DLL_API int WINAPI PCube_movePos(int dev, int cube, float);
M5DLL_API int WINAPI PCube_moveTorque( int dev, int cube, float);
M5DLL_API int WINAPI PCube_moveVel( int dev, int cube, float);
M5DLL_API int WINAPI PCube_moveCurrent( int dev, int cube, float);
M5DLL_API int WINAPI PCube_moveCurrentExtended( int dev, int cube, float cur, 
								   unsigned long *stateRet,unsigned char *dioRet, float *posRet);
M5DLL_API UInt32 WINAPI PCube_getStepStatus(int dev,int cube, int *stepitems);
M5DLL_API int WINAPI PCube_setStepQueueMode(int dev,int cube, int stepquemode);
M5DLL_API int WINAPI PCube_getStepPosState(int dev, int cube, float *pos, UInt32 *state);

M5DLL_API int WINAPI PCube_moveRampInc( int dev, int cube, Int32, Int32, Int32);
M5DLL_API int WINAPI PCube_moveVelInc( int dev, int cube, Int32);
M5DLL_API int WINAPI PCube_moveStepInc( int dev, int cube, Int32 pos, UInt16);
M5DLL_API int WINAPI PCube_moveStepExtended( int dev, int cube, float pos, unsigned short itime, 
								   unsigned long *stateRet,unsigned char *dioRet, float *posRet);
M5DLL_API int WINAPI PCube_moveCurrentInc( int dev, int cube, Int16);
M5DLL_API int WINAPI PCube_moveStepIncFast( int dev, int cube, Int32 pos, UInt16);




M5DLL_API int PCube_getModuleType( int dev, int cube, UInt8* type );

// Special Functions
M5DLL_API int PCube_xmit8Bytes( int dev, int cube, void* bytes);
M5DLL_API int PCube_xack8Bytes( int dev, int cube, void* bytes);
M5DLL_API int PCube_doInternal( int dev, int cube, void* bytes);
M5DLL_API int PCube_getStatusInternal( int dev, int cube, unsigned int *pStat);


M5DLL_API int WINAPI PCube_getPosState(int dev, int cube, float *pos, UInt32 *state);

M5DLL_API int WINAPI M5dll_setAckMode(int dev, short mode);


M5DLL_API int WINAPI PCube_setC0( int dev, int cube, Int16 value );
M5DLL_API int WINAPI PCube_setDamp( int dev, int cube, Int16 value );
M5DLL_API int WINAPI PCube_setA0( int dev, int cube, Int16 value );
M5DLL_API int WINAPI PCube_getC0( int dev, int cube, Int16* pValue );
M5DLL_API int WINAPI PCube_getDamp( int dev, int cube, Int16* pValue );
M5DLL_API int WINAPI PCube_getA0( int dev, int cube, Int16* pValue );
M5DLL_API int WINAPI PCube_getDefC0( int dev, int cube, Int16* pValue );
M5DLL_API int WINAPI PCube_getDefDamp( int dev, int cube, Int16* pValue );
M5DLL_API int WINAPI PCube_getDefA0( int dev, int cube, Int16* pValue );

M5DLL_API int WINAPI MYTRACE( int dev, char* text );

M5DLL_API int WINAPI PCube_getDefBurncount( int dev, int cube, UInt8* pValue );
M5DLL_API int WINAPI PCube_getDefSetup( int dev, int cube, UInt32* pValue );

M5DLL_API int WINAPI PCube_getHomeOffset( int dev, int cube, float* pValue );
M5DLL_API int WINAPI PCube_setHomeOffset( int dev, int cube, float Value );


//###########################################################
// M3 Backward Compatibility
//###########################################################

typedef struct _tagConfigDrive
{ float posLimit;	/* pos. LimitPos [rad or m] */
  float negLimit;	/* neg. LimitPos [rad or m] */
  float maxVel;		/* max. drive velocity [rad/s or m/s] */
  float maxAcc;		/* max. drive acceleration [rad/s^2 or m/s^2] */
  float maxTow;		/* max. allowed drive tow [rad or m] */
  float maxCurrent;	/* critical current [A] */
  float maxTemperature;	/* critical temperature [K] */
  float incrPerUnit;	/* increments per unit [1/rad or 1/m] */
  Int16 defRegCoeff0;	/* default RegCoeff */
  Int16 defRegCoeff1;	/* " */
  Int16 defRegCoeff2;	/* " */
  UInt16 romVersion;	/* version of ROM code (3.21.08 == 0x3218) */
  UInt16 serNum;	/* serial number */
  UInt8 type;		/* type of the drive [ROTARY_DRIVE or LINEAR_DRIVE]*/
  UInt8 _realId;	/* real ID of drive module - NOT FOR LATER USE !!! */
  UInt8 pProdNum[ 8 ];	/* product number as string */
  UInt8 pVersion[ 8 ];	/* ROM version as string */
} ConfigDrive;


M5DLL_API CLDRet CLDXtrnl_init( CLDXtrnlID* pXtrnlId, const char* pInitString );
M5DLL_API CLDRet  CLDXtrnl_exit( CLDXtrnlID xtrnlId );
M5DLL_API CLDRet  CLDXtrnl_reset( CLDXtrnlID xtrnlId );
M5DLL_API CLDRet  CLDXtrnl_getStatus( CLDXtrnlID xtrnlId, BYTE* pStat );
M5DLL_API CLDRet  CLDXtrnl_getTime( CLDXtrnlID xtrnlId, UInt32* pTime );
M5DLL_API CLDRet  CLDXtrnl_getXtrnlSpec( CLDXtrnlID xtrnlId, XtrnlSpec* pSpec );
M5DLL_API CLDRet  CLDDrive_initManip( int* pNumDrives, const char* pInitString );
M5DLL_API CLDRet  CLDDrive_exitManip( void );
M5DLL_API CLDRet  CLDDrive_commResetManip( void );
M5DLL_API CLDRet  CLDDrive_initModule( CLDDriveID driveId );
M5DLL_API CLDRet  CLDDrive_syncModule( CLDDriveID driveId );
M5DLL_API CLDRet  CLDDrive_haltModule( CLDDriveID driveId );
M5DLL_API CLDRet  CLDDrive_resetModule( CLDDriveID driveId );
M5DLL_API CLDRet  CLDDrive_commResetModule( CLDDriveID driveId );
M5DLL_API CLDRet  CLDDrive_freeDriveModule( CLDDriveID driveId );
M5DLL_API CLDRet  CLDDrive_getStatus( CLDDriveID driveId, UInt32* pValue );
M5DLL_API CLDRet  CLDDrive_getStatusM5( CLDDriveID driveId, UInt32* pStat );
M5DLL_API CLDRet  CLDDrive_querySyncEnd( CLDDriveID driveId, Bool* pbool );
M5DLL_API CLDRet  CLDDrive_queryEndPos( CLDDriveID driveId, Bool* pbool );
M5DLL_API CLDRet  CLDDrive_queryFreeDrive( CLDDriveID driveId, Bool* pbool );
M5DLL_API CLDRet  CLDDrive_getRegCoeff( CLDDriveID driveId, Int16* pCoeff0, Int16* pCoeff1, Int16* pCoeff2 );
M5DLL_API CLDRet  CLDDrive_setRegCoeff( CLDDriveID driveId, Int16 coeff0, Int16 coeff1, Int16 coeff2 );
M5DLL_API CLDRet  CLDDrive_setPidParams( CLDDriveID driveId, float valK, float valTi, float valTd );
M5DLL_API CLDRet  CLDDrive_moveRamp( CLDDriveID driveId, float pos, float vel, float acc );
M5DLL_API CLDRet  CLDDrive_movePos( CLDDriveID driveId, float pos );
M5DLL_API CLDRet  CLDDrive_moveStep( CLDDriveID driveId, float pos, UInt16 step );
M5DLL_API CLDRet  CLDDrive_moveVel( CLDDriveID driveId, float vel );
M5DLL_API CLDRet  CLDDrive_getPos( CLDDriveID driveId, float* pPos );
M5DLL_API CLDRet  CLDDrive_getVel( CLDDriveID driveId, float* pVel );
M5DLL_API CLDRet  CLDDrive_getMaxDyn( CLDDriveID driveId, float* pVel, float* pAcc );
M5DLL_API CLDRet  CLDDrive_setMaxDyn( CLDDriveID driveId, float vel, float acc );
M5DLL_API CLDRet  CLDDrive_getActDyn( CLDDriveID driveId, float* pVel, float* pAcc );
M5DLL_API CLDRet  CLDDrive_setActDyn( CLDDriveID driveId, float vel, float acc );
M5DLL_API CLDRet  CLDDrive_getRange( CLDDriveID driveId, float* pPosLimit, float* pNegLimit );
M5DLL_API CLDRet  CLDDrive_setRange( CLDDriveID driveId, float posLimit, float negLimit );
M5DLL_API CLDRet  CLDDrive_getTow( CLDDriveID driveId, float* pTow );
M5DLL_API CLDRet  CLDDrive_getMaxTow( CLDDriveID driveId, float* pMaxTow );
M5DLL_API CLDRet  CLDDrive_setMaxTow( CLDDriveID driveId, float maxTow );
M5DLL_API CLDRet  CLDDrive_getCurrent( CLDDriveID driveId, float* pCurrent );
M5DLL_API CLDRet  CLDDrive_getMaxCurrent( CLDDriveID driveId, float* pMaxCurrent );
M5DLL_API CLDRet  CLDDrive_setMaxCurrent( CLDDriveID driveId, float maxCurrent );
M5DLL_API CLDRet  CLDDrive_setLimCurrent( CLDDriveID driveId, float limCurrent );
M5DLL_API CLDRet  CLDDrive_getTemperature( CLDDriveID driveId, float* pTemperature );
M5DLL_API CLDRet  CLDDrive_getMaxTemperature( CLDDriveID driveId, float* pMaxTemperature );
M5DLL_API CLDRet  CLDDrive_setMaxTemperature( CLDDriveID driveId, float maxTemperature );
M5DLL_API CLDRet  CLDDrive_getConfigDrive( CLDDriveID driveId, ConfigDrive* pDrive );
M5DLL_API CLDRet  CLDDrive_configDigitalIO( CLDDriveID driveId, UInt32 mask );
M5DLL_API CLDRet  CLDDrive_setDigitalOutput( CLDDriveID driveId, UInt32 out );
M5DLL_API CLDRet  CLDDrive_getDigitalInput( CLDDriveID driveId, UInt32* pIn );
M5DLL_API CLDRet  CLDDrive_doInternal( CLDDriveID driveId, void* pBytes );
M5DLL_API CLDRet  CLDDrive_doWatchdog( CLDDriveID driveId, UInt8 pBytes );
M5DLL_API CLDRet  CLDDrive_xmit8Bytes( CLDDriveID driveId, void* pBytes );
M5DLL_API CLDRet  CLDDrive_xack8Bytes( CLDDriveID driveId, void* pBytes );
M5DLL_API CLDRet  CLDDrive_moveTorque( CLDDriveID driveId, float Curr);
M5DLL_API CLDRet  CLDDrive_setBrakeState( CLDDriveID driveId, UInt16 state );
M5DLL_API CLDRet CLDev_openDevice( unsigned short int* pDev, const char* pInitString );
M5DLL_API CLDRet CLDev_closeDevice( unsigned short int dev );
M5DLL_API CLDRet CLDev_resetDevice( unsigned short int dev );


//M5DLL_API int TW_getModuleCount(int dev, int *count);
M5DLL_API int WINAPI TW_addModule(int dev,UInt8 type, UInt32 sernr, int *index);
M5DLL_API int WINAPI TW_initModules(int dev);
M5DLL_API int WINAPI TW_setIO(int dev,int index, int port, Float newval);
M5DLL_API int WINAPI TW_getIO(int dev, int index, int port, Float *val);
M5DLL_API int WINAPI TW_setDigIOall(int dev, int index, UInt8 val);
M5DLL_API int WINAPI TW_getDigIOall(int dev, int index, UInt8* val);


//Common usefull functions
M5DLL_API int WINAPI M5dll_getBuildVersion(char *ptr);
M5DLL_API int WINAPI M5dll_getRevision(int dev, char *ptr);
M5DLL_API int WINAPI M5dll_AddError( int dev, int level, char *errorstring);
M5DLL_API int WINAPI M5dll_getCANstatus( int dev, int* cpu_load, int* bus_load, UInt8* can_stat);

M5DLL_API int WINAPI M5dll_AddForward( int devsource, int devdest);


#ifdef __cplusplus
 }
#endif


//***************************************************************************
//
//  ERRORFLAGS
//


#define CLD_OK							0
#define CLD_ERR							-1					// Some Error

#define CLDERR_ERROR									(100)
#define CLDERR_LIBRARYNOTFOUND			(CLDERR_ERROR + 1)	
#define CLDERR_INITIALIZATIONERROR		(CLDERR_ERROR + 2)	
#define CLDERR_TRANSMISSIONERROR		(CLDERR_ERROR + 3)
#define CLDERR_RECEIVEERROR				(CLDERR_ERROR + 4)
#define CLERR_TOOMANYDEVICES			(CLDERR_ERROR + 5)	//Error no longer supported
#define CLERR_BADPARAM					(CLDERR_ERROR + 6)
#define CLERR_NOINITSTRING				(CLDERR_ERROR + 7)
#define CLERR_NODEVICENAME				(CLDERR_ERROR + 8)
#define CLERR_NODEVICEINITSTRING		(CLDERR_ERROR + 9)	//Error no longer supported
#define CLERR_BADDEVICEINITSTRING		(CLDERR_ERROR + 10)
#define CLERR_HARDWARENOTFOUND			(CLDERR_ERROR + 11)
#define CLERR_HARDWARETIMEOUT			(CLDERR_ERROR + 12)	//Error no longer supported
#define CLERR_NODUALPORTRAM  			(CLDERR_ERROR + 13)	//Error no longer supported
#define CLERR_MSGBUFFEROVERFLOW     	(CLDERR_ERROR + 14)	//Error no longer supported
#define CLERR_RECEIVERTIMEOUT			(CLDERR_ERROR + 15)	//Error no longer supported
#define CLERR_DEVICENOTOPEN				(CLDERR_ERROR + 16)
#define CLERR_FUNCTIONNOTAVAILABLE  	(CLDERR_ERROR + 17)	
#define CLDERR_THREADNOTCREATED	  		(CLDERR_ERROR + 18)
#define CLERR_TIMEREVENTNOTCREATED		(CLDERR_ERROR + 19)
#define	CLERR_STEPMODEUNKNOWN			(CLDERR_ERROR + 20)

#define CLERR_HARDWARENOTINSTALLED 	(CLDERR_ERROR+21)
#define CLERR_COMM_OVERRUN					(CLDERR_ERROR+22)
#define CLERR_COMM_PARITY						(CLDERR_ERROR+23)
#define CLERR_COMM_FRAME            (CLDERR_ERROR+24)
#define CLERR_COMM_BREAK            (CLDERR_ERROR+25)
#define CLERR_UNKNOWNERROR          (CLDERR_ERROR+26)
#define CLERR_COMM_RECVTIMEOUT			(CLDERR_ERROR+27)
#define CLERR_COMM_NODATA						(CLDERR_ERROR+28)
#define CLERR_SLAVECONFIG_MISMATCH	(CLDERR_ERROR+29)
#define CLERR_NODATASTRUCT					(CLDERR_ERROR+30)
#define CLERR_COMM_SENDTIMEOUT			(CLDERR_ERROR+31)
#define	CLERR_WRONGHANDLE				(CLDERR_ERROR + 32)


#define CLDERR_DRIVE									(200)
#define CLDERR_DRIVE_RECEIVE				(CLDERR_DRIVE + 1)	//Error no longer supported
#define CLDERR_DRIVE_BADPARAM				(CLDERR_DRIVE + 2)	//Error no longer supported
#define CLDERR_DRIVE_BADANSWER				(CLDERR_DRIVE + 3)	//Error no longer supported
#define CLDERR_DRIVE_MODULENOTREADY			(CLDERR_DRIVE + 4)	//Error no longer supported
#define CLDERR_DRIVE_MODULEERROR			(CLDERR_DRIVE + 5)	//Error no longer supported
#define CLDERR_DRIVE_NOMODULEFOUND			(CLDERR_DRIVE + 6)
#define CLDERR_DRIVE_MODULETIMEOUT			(CLDERR_DRIVE + 7)
#define CLDERR_DRIVE_MANIPNOTINITIALIZED	(CLDERR_DRIVE + 8)	//Error no longer supported
#define CLDERR_DRIVE_COMMUNICATIONOVERRUN	(CLDERR_DRIVE + 9)	//Error no longer supported



#define NET_ERR											(300)
#define NET_SOCKET_ERR					(NET_ERR + 1 )
#define NET_HOST_ERR					(NET_ERR + 2 )
#define NET_CONNECT_ERR					(NET_ERR + 3 )




//***************************************************************************
//
//  Messages
//

/********************************************************************************/

#define CANID_CMDALLHIGHPRIO	0x0000	/* (07):	in/out */
	/* (UInt8)cmd (0..7)data */
#define CANID_MODULEACK		0x0020	/* (15):	out */
	/* (UInt8)theModuleNumber */
#define CANID_MODULEREQ		0x0040	/* (14):	in */
	/* (UInt8)theModuleNumber */
#define	CANID_STATE		0x0060	/* (13):	out */
	/* (UInt32)theState */
#define	CANID_SETMOTION		0x0080	/* (12):	in */
	/* (UInt8)theMotionMode */
	/* (float/Int32)theTargetValue */
	/* (UInt16)theStepWidth */
#define CANID_CMDACK		0x00a0	/* (11):	out */
	/* (UInt8)cmd (0..7)data */
#define CANID_CMDGET		0x00c0	/* (10):	in */
	/* (UInt8)cmd */
#define CANID_CMDPUT		0x00e0	/* (09):	in */
	/* (UInt8)cmd (0..7)data */
#define CANID_CMDALL		0x0100	/* (08):	in */

#define CANID_CMDPOSSTATE	0x0120	


#define CMDCAN_DORESET			0x00
#define CMDCAN_DOSYNC			0x01
#define CMDCAN_DOHALT			0x02
#define CMDCAN_DOFREEDRIVE		0x03
#define CMDCAN_DOINTERNAL		0x04
#define CMDCAN_DOCOMMRESET		0x05
#define CMDCAN_DOCOMMRESETALL	0x06
#define CMDCAN_DOWATCHDOG		0x07

//#define CMDCAN_EXTENDEDPARAMSET		0x08



#define CMDCAN_SET_EXTENDEDPARAMSET		0x08
#define CMDCAN_RECALCPIDPARAMS			0x09
#define CMDCAN_GET_EXTENDEDPARAMSET		0x0a
#define CMDCAN_SETMOTIONMODE			0x0b
#define CMDCAN_GETPOSSTATE				0x0c



/*------ motion parameters ------ */
#define CMDCAN_POS			0x10	/* out */
	/* (float/Int32)theTargetPos */
#define CMDCAN_VEL			0x11	/* out */
	/* (float/Int32)theTargetVel */
#define CMDCAN_MOVEINCR			0x12
	/* (Int32)theAbsIncrPos */

#define CMDCAN_MAXACC			0x20
	/* (float/Int32)theMaxAcc */
#define CMDCAN_MAXVEL			0x21
	/* (float/Int32)theMaxVel */
#define CMDCAN_ACTACC			0x22
	/* (float/Int32)theActualAcc */
#define CMDCAN_ACTVEL			0x23
	/* (float/Int32)theActualVel */

⌨️ 快捷键说明

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