// DynamicCNC.cpp : Defines the entry point for the console application. // #include "stdafx.h" //#include "CNCUSBControllerAPI.h" const int STEPSPERMM = 400; // const double ACCEL = 25; //25 mm/sec^2 const double INITSPEED = 100; //100 mm/minute enum CNC_ERROR : int { CNC_SUCCESS = 0x00000000, CNC_ERROR_FAIL = 0x00000001, CNC_ERROR_NOT_IMPLEMENTED = 0x00000002, CNC_ERROR_NOT_INITIALIZED = 0x00000003, CNC_ERROR_DEVICE_NOT_FOUND = 0x00000004, CNC_ERROR_DEVICE_NOT_READY = 0x00000005, CNC_ERROR_DEVICE_NOT_CONNECTED = 0x00000006, CNC_ERROR_SEND_FAILED = 0x00000007, CNC_ERROR_LICENSE = 0x00000008, CNC_ERROR_RAWDATA = 0x00000009, CNC_ERROR_DEVICE_PARAMS = 0x0000000A, }; typedef CNC_ERROR (__stdcall *PFN_HidInitialize)(); typedef BOOL (__stdcall *PFN_CheckHidInitialized)(); typedef CNC_ERROR (__stdcall *PFN_HidFinalize)(); typedef CNC_ERROR (__stdcall *PFN_Connect)(); typedef BOOL (__stdcall *PFN_IsConnected)(); typedef CNC_ERROR (__stdcall *PFN_SetDeviceParams)( int, int, int, int, unsigned char, double, double, double, double, double, double, double, double, double, double, double, double); typedef CNC_ERROR (__stdcall *PFN_CmdMoveAxesDelta)(int*, double, double, double, double, double, BOOL, BOOL ); int _tmain(int argc, _TCHAR* argv[]) { double delta = 0.5; HMODULE hMyDll=LoadLibrary("CNCUSBControllerAPI.dll"); PFN_HidInitialize pfn_HidInitialize =(PFN_HidInitialize)GetProcAddress(hMyDll,"CmdMoveAxesDelta"); PFN_CheckHidInitialized pfn_CheckHidInitialized =(PFN_CheckHidInitialized)GetProcAddress(hMyDll,"CheckHidInitialized"); PFN_HidFinalize pfn_HidFinalize =(PFN_HidFinalize)GetProcAddress(hMyDll,"HidFinalize"); PFN_Connect pfn_Connect =(PFN_Connect)GetProcAddress(hMyDll,"Connect"); PFN_IsConnected pfn_IsConnected =(PFN_IsConnected)GetProcAddress(hMyDll,"IsConnected"); PFN_SetDeviceParams pfn_SetDeviceParams =(PFN_SetDeviceParams)GetProcAddress(hMyDll,"SetDeviceParams"); PFN_CmdMoveAxesDelta pfn_CmdMoveAxesDelta =(PFN_CmdMoveAxesDelta)GetProcAddress(hMyDll,"CmdMoveAxesDelta"); int num = 0; pfn_HidInitialize(); //pfn_CheckHidInitialized(); pfn_HidFinalize(); //pfn_CheckHidInitialized(); pfn_Connect(); //pfn_IsConnected(); pfn_SetDeviceParams(STEPSPERMM, STEPSPERMM, STEPSPERMM, STEPSPERMM, 0, 0, 0, 0, 0, 25.0, 25.0, 25.0, 25.0, INITSPEED / 60.0, INITSPEED / 60.0, INITSPEED / 60.0, INITSPEED / 60.0); double speed = 800.0 / 60.0; pfn_CmdMoveAxesDelta(&num, delta, delta, delta, delta, speed, true, true); FreeLibrary(hMyDll); return 0; }