Add rotary control panel.
This commit is contained in:
@@ -2719,10 +2719,11 @@ SSI_STATUS_MOTION CSO7_Proto::_process_replay_capture_commands(char *inBuff, FIL
|
|||||||
};
|
};
|
||||||
|
|
||||||
//******************************************************************************
|
//******************************************************************************
|
||||||
usb_dev_handle* CSO7_Proto::_open_usb_dev(void)
|
usb_dev_handle* CSO7_Proto::_open_usb_dev(unsigned short sSeqNumber)
|
||||||
{
|
{
|
||||||
struct usb_bus *bus = NULL;
|
struct usb_bus *bus = NULL;
|
||||||
struct usb_device *dev = NULL;
|
struct usb_device *dev = NULL;
|
||||||
|
usb_dev_handle *udev = NULL;
|
||||||
|
|
||||||
for (bus = usb_get_busses(); bus; bus = bus->next)
|
for (bus = usb_get_busses(); bus; bus = bus->next)
|
||||||
{
|
{
|
||||||
@@ -2730,13 +2731,51 @@ usb_dev_handle* CSO7_Proto::_open_usb_dev(void)
|
|||||||
{
|
{
|
||||||
if (dev->descriptor.idVendor == SEVENOCEAN_VID && dev->descriptor.idProduct == SEVENOCEAN_PID)
|
if (dev->descriptor.idVendor == SEVENOCEAN_VID && dev->descriptor.idProduct == SEVENOCEAN_PID)
|
||||||
{
|
{
|
||||||
return usb_open(dev);
|
udev = usb_open(dev);
|
||||||
|
usb_claim_interface(udev, 0);
|
||||||
|
|
||||||
|
if(Get_SeqNumber(udev) != sSeqNumber)
|
||||||
|
{
|
||||||
|
usb_close(udev);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return udev;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
int CSO7_Proto::Get_SeqNumber(usb_dev_handle *udev)
|
||||||
|
{
|
||||||
|
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
|
||||||
|
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA;
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_READ_SEQ_NUMBER;
|
||||||
|
|
||||||
|
ep_buff[EP_02_CMD_IDX]._size = 0x02;
|
||||||
|
ep_buff[EP_82_DATA_IDX]._size = 0x01;
|
||||||
|
|
||||||
|
int _ret;
|
||||||
|
_ret = usb_bulk_write(udev, ep_buff[2]._ep, (char *)ep_buff[2]._buffer,(int) ep_buff[2]._size, 50);
|
||||||
|
if (_ret < 0)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
_ret = usb_bulk_read(udev, ep_buff[3]._ep, (char *)ep_buff[3]._buffer,(int) ep_buff[3]._size, 5000);
|
||||||
|
if (_ret < 0)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
g_machine.SEQ_NUMBER = -1;
|
||||||
|
g_machine.SEQ_NUMBER = *(ep_buff[EP_82_DATA_IDX]._buffer);
|
||||||
|
return g_machine.SEQ_NUMBER;
|
||||||
|
}
|
||||||
|
|
||||||
//******************************************************************************
|
//******************************************************************************
|
||||||
// Send is direct and async.
|
// Send is direct and async.
|
||||||
// The receive thread will receive data and interpret it.
|
// The receive thread will receive data and interpret it.
|
||||||
@@ -2755,7 +2794,7 @@ SSI_STATUS_MOTION CSO7_Proto::Init_SO7Usb()
|
|||||||
usb_init(); // initialize the library
|
usb_init(); // initialize the library
|
||||||
usb_status = usb_find_busses(); // find all busses
|
usb_status = usb_find_busses(); // find all busses
|
||||||
usb_status = usb_find_devices(); // find all connected devices
|
usb_status = usb_find_devices(); // find all connected devices
|
||||||
g_dev = _open_usb_dev();
|
g_dev = _open_usb_dev(USB_SEQ_NUMBER);
|
||||||
if (!g_dev)
|
if (!g_dev)
|
||||||
{
|
{
|
||||||
MessageBox(NULL, _T("Unable to open device"), _T("Message"), MB_OK|MB_ICONERROR);
|
MessageBox(NULL, _T("Unable to open device"), _T("Message"), MB_OK|MB_ICONERROR);
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
#define USB_DEVICE_DESCRIPTOR_TYPE 1
|
#define USB_DEVICE_DESCRIPTOR_TYPE 1
|
||||||
#define USB_CONFIGURATION_DESCRIPTOR_TYPE 2
|
#define USB_CONFIGURATION_DESCRIPTOR_TYPE 2
|
||||||
|
#define USB_SEQ_NUMBER 0
|
||||||
|
|
||||||
#define THREAD_RUNNING_STATE1 0
|
#define THREAD_RUNNING_STATE1 0
|
||||||
#define THREAD_RUNNING_STATE2 2
|
#define THREAD_RUNNING_STATE2 2
|
||||||
@@ -337,10 +338,11 @@ public:
|
|||||||
static struct_so7_machine g_machine;
|
static struct_so7_machine g_machine;
|
||||||
|
|
||||||
|
|
||||||
|
int Get_SeqNumber(usb_dev_handle *udev);
|
||||||
SSI_STATUS_MOTION Init_SO7Usb();
|
SSI_STATUS_MOTION Init_SO7Usb();
|
||||||
SSI_STATUS_MOTION Exit_SO7Usb();
|
SSI_STATUS_MOTION Exit_SO7Usb();
|
||||||
|
|
||||||
usb_dev_handle* _open_usb_dev(void);
|
usb_dev_handle* _open_usb_dev(unsigned short sSeqNumber);
|
||||||
SSI_STATUS_MOTION _do_single_threaded_usb_comm(int iEP);
|
SSI_STATUS_MOTION _do_single_threaded_usb_comm(int iEP);
|
||||||
|
|
||||||
SSI_STATUS_MOTION _read_data_8x(int iEP_Base);
|
SSI_STATUS_MOTION _read_data_8x(int iEP_Base);
|
||||||
|
|||||||
@@ -0,0 +1,752 @@
|
|||||||
|
|
||||||
|
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "SO7_Proto_Aux.h"
|
||||||
|
#include "math.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define MY_CONFIG 1
|
||||||
|
#define MAX_DEVPATH_LENGTH 256
|
||||||
|
#define ENDPOINT_TIMEOUT 500
|
||||||
|
#define MAX_IN_BUFF_SIZE 1024
|
||||||
|
|
||||||
|
//***** Static Data *****
|
||||||
|
static char *outBuff = NULL;
|
||||||
|
struct_so7_r_ep_buff CSO7_Proto_Aux::ep_buff[lEPSIZE];
|
||||||
|
//================================================================
|
||||||
|
int CSO7_Proto_Aux::g_hEP8x_Thread_State=THREAD_PAUSED;
|
||||||
|
HANDLE CSO7_Proto_Aux::g_hEP8x_Thread_Id=NULL;
|
||||||
|
|
||||||
|
//================================================================
|
||||||
|
int CSO7_Proto_Aux::g_hEP02_Thread_State=THREAD_PAUSED;
|
||||||
|
HANDLE CSO7_Proto_Aux::g_hEP02_Thread_Id=NULL;
|
||||||
|
HANDLE CSO7_Proto_Aux::g_hEP02_Serial_Mutex;
|
||||||
|
|
||||||
|
//================================================================
|
||||||
|
struct_so7_r_machine CSO7_Proto_Aux::g_machine;
|
||||||
|
usb_dev_handle *CSO7_Proto_Aux::g_dev=NULL;
|
||||||
|
CLogger *CSO7_Proto_Aux::g_pLogger1;
|
||||||
|
HANDLE CSO7_Proto_Aux::g_hHomedEvent = NULL;
|
||||||
|
CLogger* g_pLog1=NULL;
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
CSO7_Proto_Aux::CSO7_Proto_Aux()
|
||||||
|
{
|
||||||
|
ep_buff[EP_01_CMD_IDX]._ep = EP_S07_01;
|
||||||
|
ep_buff[EP_81_DATA_IDX]._ep = EP_S07_81;
|
||||||
|
ep_buff[EP_02_CMD_IDX]._ep = EP_S07_02;
|
||||||
|
ep_buff[EP_82_DATA_IDX]._ep = EP_S07_82;
|
||||||
|
|
||||||
|
for (int i=0;i<lEPSIZE;i++)
|
||||||
|
{
|
||||||
|
ep_buff[i]._size = 0;
|
||||||
|
ep_buff[i]._save_send_cmd = 99;
|
||||||
|
ep_buff[i]._async_context = NULL;
|
||||||
|
ep_buff[i]._buffer = (char *)malloc(MAX_BUFF_SIZE);
|
||||||
|
ep_buff[i]._hProtoPending = false;
|
||||||
|
ep_buff[i]._event = NULL;
|
||||||
|
};
|
||||||
|
for (int i=0;i<20;i++)
|
||||||
|
{
|
||||||
|
for (int j=0;j<2;j++)
|
||||||
|
{
|
||||||
|
g_machine.GetInterruptMsg[i][j]=0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
g_machine.IsSupportReadInterrputMsg=FALSE;
|
||||||
|
g_machine.IsOffline=TRUE;
|
||||||
|
g_machine.FPGAData=0;
|
||||||
|
g_machine.FirmwareVer=FirmwareVer_3_X_R;
|
||||||
|
g_machine.r._Move_Speed_Gear =2;
|
||||||
|
g_machine.r._MoveTo_Speed_Gear =0;
|
||||||
|
g_machine.r._pos_fixed._long_ =0;
|
||||||
|
g_machine.r._ZSignal_pos._long_=0;
|
||||||
|
|
||||||
|
g_machine.r._d_cur_pos_ = 0;
|
||||||
|
g_machine.ADC_Number=0;
|
||||||
|
g_machine.ADC_Value =0;
|
||||||
|
g_machine.Sys_Reset_Flag=0;
|
||||||
|
g_machine.cVerNumber=3;
|
||||||
|
g_machine.dRotaryCirclDis=100;
|
||||||
|
g_machine.SEQ_NUMBER=0;
|
||||||
|
g_machine.s_machine_r_config.r_axis._scale_resolution=0.5;
|
||||||
|
|
||||||
|
g_machine.s_machine_r_config.r_axis._neg_working_limit=0;
|
||||||
|
|
||||||
|
g_machine.s_machine_r_config.r_axis._MoveToSpeed[0]=0.0;
|
||||||
|
g_machine.s_machine_r_config.r_axis._MoveToSpeed[1]=0.0;
|
||||||
|
g_machine.s_machine_r_config.r_axis._MotionSpeedScale=1.0;
|
||||||
|
|
||||||
|
g_machine.s_machine_r_config.motion._EnCloseLoop=FALSE;
|
||||||
|
g_machine.s_machine_r_config.motion._RetryTimes=5;
|
||||||
|
g_machine.s_machine_r_config.motion._ShiftPositionR=0.0;
|
||||||
|
|
||||||
|
g_machine.s_machine_r_config.motion.GetInterruptMsgMethod=E_GET_INTERRUPT_MSG_INTERRUPT;//E_GET_INTERRUPT_MSG_INQUIRY;
|
||||||
|
g_machine.s_machine_r_config.motion.m_WriteDataSleepTime=0;
|
||||||
|
g_machine.s_machine_r_config.motion.m_AccuraErrPulseR=1;
|
||||||
|
g_machine.s_machine_r_config.motion.m_EQUIDIS_R=0;
|
||||||
|
|
||||||
|
g_machine.s_machine_r_config.motion.m_SDK3000_CntThreadSleepVal=550000;
|
||||||
|
g_machine.s_machine_r_config.motion.m_SV4000E_DenoisePara[0]=70;
|
||||||
|
g_machine.s_machine_r_config.motion.m_SV4000E_DenoisePara[1]=70;
|
||||||
|
g_machine.s_machine_r_config.motion.m_SV4000E_DenoisePara[2]=70;
|
||||||
|
g_machine.s_machine_r_config.motion.m_SV4000E_DenoisePara[3]=70;
|
||||||
|
|
||||||
|
g_machine.s_machine_r_config.motion.m_MachineType=MACHINE_SO7_R_CONTROLLER;
|
||||||
|
g_machine.s_machine_r_config.motion.m_VideoCardType=0;
|
||||||
|
|
||||||
|
g_machine.s_rstatus._bIsZMMotionFinished=0;
|
||||||
|
g_machine.r._scale_pos._long_ = 0;
|
||||||
|
g_machine.r._d_cur_pos_ = 0;
|
||||||
|
g_machine.r._dSet_Zero_Pos = 0.0;
|
||||||
|
g_machine.r._lSet_Zero_Pos = 0;
|
||||||
|
g_machine.s_machine_r_config._dRSpeed[0] = 50;
|
||||||
|
g_machine.s_machine_r_config._dRSpeed[1] = 50;
|
||||||
|
g_machine.InterruptFlag[0]=0;
|
||||||
|
g_machine.InterruptFlag[1]=0;
|
||||||
|
g_machine.InPortStatus=0;
|
||||||
|
m_bHomingActive = false;
|
||||||
|
g_pLogger1 = new CLogger(_T("\\UtilityDebug.Log"));
|
||||||
|
g_pLogger1->Send(_T("Construct Cso7_Proto.\r\n"));
|
||||||
|
};
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
CSO7_Proto_Aux::~CSO7_Proto_Aux()
|
||||||
|
{
|
||||||
|
for (int i=0;i<lEPSIZE;i++)
|
||||||
|
{
|
||||||
|
free(ep_buff[i]._buffer);
|
||||||
|
};
|
||||||
|
if (g_pLogger1)
|
||||||
|
g_pLogger1->Send(_T("Destruct Cso7_Proto.\r\n"));
|
||||||
|
delete g_pLogger1;
|
||||||
|
g_pLogger1 = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pragma warning(disable:4996)
|
||||||
|
//******************************************************************************
|
||||||
|
// Send is direct and async.
|
||||||
|
// The receive thread will receive data and interpret it.
|
||||||
|
//******************************************************************************
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::Init_SO7Usb()
|
||||||
|
{
|
||||||
|
//Set initial state of the machine
|
||||||
|
g_machine.s_rstatus._machine_running = false;
|
||||||
|
SSI_STATUS_MOTION rStatus=SSI_STATUS_MOTION_NORMAL;
|
||||||
|
g_machine.IsOffline=FALSE;
|
||||||
|
|
||||||
|
int usb_status = NULL;
|
||||||
|
usb_init(); // initialize the library
|
||||||
|
usb_status = usb_find_busses(); // find all busses
|
||||||
|
usb_status = usb_find_devices(); // find all connected devices
|
||||||
|
g_dev = _open_usb_dev(USB_R_SEQ_NUMBER);
|
||||||
|
if (!g_dev)
|
||||||
|
{
|
||||||
|
MessageBox(NULL, _T("Unable to open device"), _T("Message"), MB_OK|MB_ICONERROR);
|
||||||
|
g_pLogger1->SendAndFlushPerMode(_T("Unable to open device %s \r\n"), usb_strerror());
|
||||||
|
g_machine.IsOffline=TRUE;
|
||||||
|
rStatus= SSI_STATUS_MOTION_DATALINK_ERROR;
|
||||||
|
}
|
||||||
|
else if (usb_set_configuration(g_dev, MY_CONFIG) < 0)
|
||||||
|
{
|
||||||
|
MessageBox(NULL, _T("Unable to SET CONFIGURATION"), _T("Message"), MB_OK|MB_ICONERROR);
|
||||||
|
g_machine.IsOffline=TRUE;
|
||||||
|
rStatus=SSI_STATUS_MOTION_DATALINK_ERROR;
|
||||||
|
}
|
||||||
|
else if (usb_claim_interface(g_dev, 0) < 0)
|
||||||
|
{
|
||||||
|
usb_close(g_dev);
|
||||||
|
MessageBox(NULL, _T("Unable to CLAIM DEVICE"), _T("Message"), MB_OK|MB_ICONERROR);
|
||||||
|
g_machine.IsOffline=TRUE;
|
||||||
|
rStatus=SSI_STATUS_MOTION_DATALINK_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_pLogger1->SendAndFlushPerMode(_T("Init:Open device succeed .\r\n"));
|
||||||
|
|
||||||
|
// ********************************************************************
|
||||||
|
// This event is used to kick the Serial Usb Command process. This threading model
|
||||||
|
// is important because the underlying library is not thread-safe.
|
||||||
|
//
|
||||||
|
ep_buff[EP_02_CMD_IDX]._event = CreateEvent(NULL, // default security attributes
|
||||||
|
FALSE, // manual reset event object
|
||||||
|
NULL, // signaled
|
||||||
|
NULL); // unamed object
|
||||||
|
|
||||||
|
g_hEP02_Thread_Id = CreateThread( (LPSECURITY_ATTRIBUTES) NULL,
|
||||||
|
0,
|
||||||
|
(LPTHREAD_START_ROUTINE) g_EP02_Thread,
|
||||||
|
(LPVOID) this,
|
||||||
|
0,
|
||||||
|
NULL);
|
||||||
|
g_hEP02_Thread_State = THREAD_RUNNING_STATE1;
|
||||||
|
|
||||||
|
// ********************************************************************
|
||||||
|
// Prepare and start EP_S07_81 Thread - Use async commit.
|
||||||
|
//
|
||||||
|
ep_buff[EP_82_DATA_IDX]._event = CreateEvent(NULL, // default security attributes
|
||||||
|
FALSE, // manual reset event object
|
||||||
|
NULL, // signaled
|
||||||
|
NULL); // unamed object
|
||||||
|
g_hEP8x_Thread_State = THREAD_PAUSED;
|
||||||
|
g_hEP8x_Thread_Id = CreateThread( (LPSECURITY_ATTRIBUTES) NULL,
|
||||||
|
0,
|
||||||
|
(LPTHREAD_START_ROUTINE) g_EP8x_Thread,
|
||||||
|
(LPVOID) this,
|
||||||
|
0,
|
||||||
|
NULL);
|
||||||
|
g_hEP02_Serial_Mutex = CreateMutex(NULL, // default security attributes
|
||||||
|
FALSE, // initial owner
|
||||||
|
NULL); // name
|
||||||
|
|
||||||
|
// *********************************************************************
|
||||||
|
g_hHomedEvent = CreateEvent(NULL, // default security attributes
|
||||||
|
TRUE, // manual reset event object
|
||||||
|
FALSE, // initial state is signaled
|
||||||
|
NULL); // unamed object
|
||||||
|
|
||||||
|
return rStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::Exit_SO7Usb()
|
||||||
|
{
|
||||||
|
SSI_STATUS_MOTION Status=SSI_STATUS_MOTION_NORMAL;
|
||||||
|
|
||||||
|
g_hEP8x_Thread_State = THREAD_EXIT;
|
||||||
|
g_hEP02_Thread_State = THREAD_EXIT;
|
||||||
|
|
||||||
|
SetEvent(ep_buff[EP_82_DATA_IDX]._event);
|
||||||
|
if (g_hEP8x_Thread_Id)
|
||||||
|
{
|
||||||
|
DWORD dwCode = STILL_ACTIVE;
|
||||||
|
while (dwCode == STILL_ACTIVE)
|
||||||
|
{
|
||||||
|
GetExitCodeThread(g_hEP8x_Thread_Id,&dwCode);
|
||||||
|
Sleep(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SetEvent(ep_buff[EP_02_CMD_IDX]._event);
|
||||||
|
if (g_hEP02_Thread_Id)
|
||||||
|
{
|
||||||
|
DWORD dwCode = STILL_ACTIVE;
|
||||||
|
while (dwCode == STILL_ACTIVE)
|
||||||
|
{
|
||||||
|
GetExitCodeThread(g_hEP02_Thread_Id,&dwCode);
|
||||||
|
Sleep(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g_dev)
|
||||||
|
{
|
||||||
|
usb_release_interface(g_dev,0);
|
||||||
|
usb_close(g_dev);
|
||||||
|
g_dev = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetEvent(ep_buff[EP_82_DATA_IDX]._event);
|
||||||
|
CloseHandle(ep_buff[EP_82_DATA_IDX]._event);
|
||||||
|
SetEvent(ep_buff[EP_02_CMD_IDX]._event);
|
||||||
|
CloseHandle(ep_buff[EP_02_CMD_IDX]._event);
|
||||||
|
g_hEP02_Thread_State = THREAD_EXIT;
|
||||||
|
ReleaseMutex(g_hEP02_Serial_Mutex);
|
||||||
|
CloseHandle(g_hEP02_Serial_Mutex);
|
||||||
|
|
||||||
|
g_pLogger1->SendAndFlushPerMode(_T("Exit: Exit_SO7Usb \r\n"));
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
usb_dev_handle* CSO7_Proto_Aux::_open_usb_dev(unsigned short sSeqNumber)
|
||||||
|
{
|
||||||
|
struct usb_bus *bus = NULL;
|
||||||
|
struct usb_device *dev = NULL;
|
||||||
|
usb_dev_handle *udev = NULL;
|
||||||
|
|
||||||
|
for (bus = usb_get_busses(); bus; bus = bus->next)
|
||||||
|
{
|
||||||
|
for (dev = bus->devices; dev; dev = dev->next)
|
||||||
|
{
|
||||||
|
if (dev->descriptor.idVendor == SEVENOCEAN_VID && dev->descriptor.idProduct == SEVENOCEAN_PID)
|
||||||
|
{
|
||||||
|
udev = usb_open(dev);
|
||||||
|
usb_claim_interface(udev, 0);
|
||||||
|
|
||||||
|
if(Get_R_SeqNumber(udev) != sSeqNumber)
|
||||||
|
{
|
||||||
|
usb_close(udev);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return udev;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
int CSO7_Proto_Aux::Get_R_SeqNumber(usb_dev_handle *udev)
|
||||||
|
{
|
||||||
|
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
|
||||||
|
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA;
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_READ_SEQ_NUMBER;
|
||||||
|
|
||||||
|
ep_buff[EP_02_CMD_IDX]._size = 0x02;
|
||||||
|
ep_buff[EP_82_DATA_IDX]._size = 0x01;
|
||||||
|
|
||||||
|
int _ret;
|
||||||
|
_ret = usb_bulk_write(udev, ep_buff[2]._ep, (char *)ep_buff[2]._buffer,(int)ep_buff[2]._size, 50);
|
||||||
|
if (_ret < 0)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
_ret = usb_bulk_read(udev, ep_buff[3]._ep, (char *)ep_buff[3]._buffer,(int)ep_buff[3]._size, 5000);
|
||||||
|
if (_ret < 0)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_machine.SEQ_NUMBER = -1;
|
||||||
|
g_machine.SEQ_NUMBER = *(ep_buff[EP_82_DATA_IDX]._buffer);
|
||||||
|
return g_machine.SEQ_NUMBER;
|
||||||
|
}
|
||||||
|
|
||||||
|
//===========================================================================
|
||||||
|
// Worker Thread to serialize EP_S07_02 commands.
|
||||||
|
//===========================================================================
|
||||||
|
unsigned __stdcall CSO7_Proto_Aux::g_EP02_Thread(LPVOID pThis)
|
||||||
|
{
|
||||||
|
CSO7_Proto_Aux* _This = (CSO7_Proto_Aux*)pThis;
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
if (g_hEP02_Thread_State == THREAD_EXIT)
|
||||||
|
ExitThread(0);
|
||||||
|
WaitForSingleObject(ep_buff[EP_02_CMD_IDX]._event,INFINITE);
|
||||||
|
switch (g_hEP02_Thread_State)
|
||||||
|
{
|
||||||
|
case THREAD_EXIT:
|
||||||
|
{
|
||||||
|
ExitThread(0);
|
||||||
|
}
|
||||||
|
case THREAD_PAUSED:
|
||||||
|
break;
|
||||||
|
case THREAD_RUNNING_STATE1:
|
||||||
|
{
|
||||||
|
_This->_send_usb_cmd(EP_02_CMD_IDX);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case THREAD_RUNNING_STATE2:
|
||||||
|
{
|
||||||
|
_This->_write_usb_data_only(EP_02_CMD_IDX);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
ExitThread(0);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
g_hEP02_Thread_State = THREAD_EXIT;
|
||||||
|
ExitThread(0);
|
||||||
|
};
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
// This is the worker thread to process USBD_TRANSFER_DIRECTION_IN
|
||||||
|
//******************************************************************************
|
||||||
|
unsigned __stdcall CSO7_Proto_Aux::g_EP8x_Thread(LPVOID pThis)
|
||||||
|
{
|
||||||
|
CSO7_Proto_Aux* _This = (CSO7_Proto_Aux*)pThis;
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
if (g_hEP8x_Thread_State == THREAD_EXIT)
|
||||||
|
ExitThread(0);
|
||||||
|
WaitForSingleObject(ep_buff[EP_82_DATA_IDX]._event, INFINITE);
|
||||||
|
switch (g_hEP8x_Thread_State)
|
||||||
|
{
|
||||||
|
case THREAD_EXIT:
|
||||||
|
{
|
||||||
|
ExitThread(0);
|
||||||
|
}
|
||||||
|
case THREAD_PAUSED:
|
||||||
|
break;
|
||||||
|
case THREAD_RUNNING_STATE1:
|
||||||
|
{
|
||||||
|
_This->_read_data_8x(EP_81_DATA_IDX);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case THREAD_RUNNING_STATE2:
|
||||||
|
{
|
||||||
|
_This->_read_data_8x(EP_82_DATA_IDX);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
ExitThread(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//===============================================================================
|
||||||
|
// _send_usb_cmd(iEP) sends data to the corresponding iEP channel.
|
||||||
|
// iEP = EP_S07_01 / EP_S07_02 EP_S07_01 = 0x01; EP_S07_02 = 0x02;
|
||||||
|
//===============================================================================
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::_send_usb_cmd(int iEP_Base)
|
||||||
|
{
|
||||||
|
if (g_machine.IsOffline)
|
||||||
|
{
|
||||||
|
SetEvent(ep_buff[iEP_Base+1]._event);
|
||||||
|
ep_buff[iEP_Base]._hProtoPending = false;
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
}
|
||||||
|
int _ret;
|
||||||
|
ep_buff[iEP_Base]._save_send_cmd = ep_buff[iEP_Base]._buffer[0];
|
||||||
|
ep_buff[iEP_Base]._save_send_cmd0 = ep_buff[iEP_Base]._buffer[1];
|
||||||
|
ep_buff[iEP_Base]._save_send_cmd1 = ep_buff[iEP_Base]._buffer[2];
|
||||||
|
|
||||||
|
_ret = usb_bulk_write(g_dev, ep_buff[iEP_Base]._ep, (char *)ep_buff[iEP_Base]._buffer,(int) ep_buff[iEP_Base]._size, 50);
|
||||||
|
if (_ret < 0)
|
||||||
|
{
|
||||||
|
TRACE("Write Timeout \n");
|
||||||
|
ASSERT(0);
|
||||||
|
return SSI_STATUS_MOTION_TIMEOUT;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetEvent(ep_buff[iEP_Base+1]._event);
|
||||||
|
ep_buff[iEP_Base]._hProtoPending = false;
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
//===============================================================================
|
||||||
|
// _write_usb_data_only(iEP) sends data to the corresponding iEP channel.No need to
|
||||||
|
//process the reap async
|
||||||
|
// iEP = EP_S07_01 / EP_S07_02 EP_S07_01 = 0x01; EP_S07_02 = 0x02;
|
||||||
|
//===============================================================================
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::_write_usb_data_only(int iEP_Base)
|
||||||
|
{
|
||||||
|
if (g_machine.IsOffline)
|
||||||
|
{
|
||||||
|
ep_buff[iEP_Base]._hProtoPending = false;
|
||||||
|
ep_buff[iEP_Base+1]._hProtoPending = false;
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
}
|
||||||
|
int _ret;
|
||||||
|
ep_buff[iEP_Base]._save_send_cmd = ep_buff[iEP_Base]._buffer[0];
|
||||||
|
ep_buff[iEP_Base]._save_send_cmd0 = ep_buff[iEP_Base]._buffer[1];
|
||||||
|
ep_buff[iEP_Base]._save_send_cmd1 = ep_buff[iEP_Base]._buffer[2];
|
||||||
|
|
||||||
|
//TRACE3("_send_usb_cmd() iEP : %X - ep_buff[iEP]._save_send_cmd : %X ._buffer[0] : %X\r\n", iEP_Base, ep_buff[iEP_Base]._save_send_cmd, ep_buff[iEP_Base]._buffer[0]);
|
||||||
|
|
||||||
|
_ret = usb_bulk_write(g_dev, ep_buff[iEP_Base]._ep, (char *)ep_buff[iEP_Base]._buffer,(int) ep_buff[iEP_Base]._size, 50);
|
||||||
|
if (_ret < 0)
|
||||||
|
{
|
||||||
|
TRACE("Write Timeout \n");
|
||||||
|
ASSERT(0);
|
||||||
|
return SSI_STATUS_MOTION_TIMEOUT;
|
||||||
|
}
|
||||||
|
ep_buff[iEP_Base]._hProtoPending = false;
|
||||||
|
ep_buff[iEP_Base+1]._hProtoPending = false;
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
//===============================================================================
|
||||||
|
// iEP_Base : EP_81_DATA_IDX/EP_82_DATA_IDX
|
||||||
|
//===============================================================================
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::_read_data_8x(int iEP_Base)
|
||||||
|
{
|
||||||
|
if (g_machine.IsOffline)
|
||||||
|
{
|
||||||
|
ep_buff[EP_82_DATA_IDX]._hProtoPending = false;
|
||||||
|
ep_buff[EP_01_CMD_IDX]._hProtoPending = false;
|
||||||
|
ep_buff[EP_81_DATA_IDX]._hProtoPending = false;
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
}
|
||||||
|
if (iEP_Base == EP_82_DATA_IDX)
|
||||||
|
{
|
||||||
|
int _ret;
|
||||||
|
_ret = usb_bulk_read(g_dev, ep_buff[iEP_Base]._ep, (char *)ep_buff[iEP_Base]._buffer,(int) ep_buff[iEP_Base]._size, 5000);
|
||||||
|
if (_ret > 0)
|
||||||
|
{
|
||||||
|
_process_rcv_transfer_data(iEP_Base);
|
||||||
|
ep_buff[EP_82_DATA_IDX]._hProtoPending = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TRACE1("Read Timeout %xx\n", *((char *)ep_buff[iEP_Base]._buffer));
|
||||||
|
ASSERT(0);
|
||||||
|
return SSI_STATUS_MOTION_TIMEOUT;
|
||||||
|
}
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int _ret;
|
||||||
|
_ret = usb_interrupt_read(g_dev, ep_buff[iEP_Base]._ep, (char *)ep_buff[iEP_Base]._buffer,(int) ep_buff[iEP_Base]._size, 20);
|
||||||
|
if (_ret > 0)
|
||||||
|
{
|
||||||
|
_process_rcv_transfer_data(iEP_Base);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_machine.InterruptFlag[0] = 0;
|
||||||
|
TRACE1("There is no data interrupt read from controller. %xx\n", *((char *)ep_buff[iEP_Base]._buffer));
|
||||||
|
}
|
||||||
|
|
||||||
|
ep_buff[EP_01_CMD_IDX]._hProtoPending = false;
|
||||||
|
ep_buff[EP_81_DATA_IDX]._hProtoPending = false;
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
// Parse the data received based on the index (which EP are we processing).
|
||||||
|
// The CCmdObj should only have one CMD_STATUS_PROCESSING.
|
||||||
|
// Update CCmdObj _ep_01_status and _ep_81_status.
|
||||||
|
// Update _status to CMD_STATUS_COMPLETE when both _ep_01_status and _ep_81_status
|
||||||
|
// are CMD_STATUS_COMPLETE.
|
||||||
|
//
|
||||||
|
//******************************************************************************
|
||||||
|
void CSO7_Proto_Aux::_process_rcv_transfer_data(int iEP)
|
||||||
|
{
|
||||||
|
switch (iEP)
|
||||||
|
{
|
||||||
|
case EP_01_CMD_IDX :
|
||||||
|
TRACE0("_process_rcv_transfer_data() : Update EP_01_CMD_IDX.\r\n");
|
||||||
|
break;
|
||||||
|
case EP_82_DATA_IDX : //
|
||||||
|
if(ep_buff[EP_02_CMD_IDX]._save_send_cmd == CT_DATA)
|
||||||
|
{
|
||||||
|
switch (ep_buff[EP_02_CMD_IDX]._save_send_cmd0)
|
||||||
|
{
|
||||||
|
case CT_READ_AXISXYZ:
|
||||||
|
_process_SO7_CMD_READ_AXIS_R();
|
||||||
|
break;
|
||||||
|
case CT_READ_SEC_REALY:
|
||||||
|
_process_SO7_CMD_READ_ZSIGNAL_POS_R();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
TRACE1("_process_rcv_transfer_data() : Unknown ep_buff[EP_02_CMD_IDX]._save_send_cmd : %X \r\n", ep_buff[EP_02_CMD_IDX]._save_send_cmd);
|
||||||
|
TRACE1("_process_rcv_transfer_data() : Unknown ep_buff[EP_81_DATA_IDX]._buffer[0] : %X \r\n", ep_buff[EP_81_DATA_IDX]._buffer[0]);
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case EP_02_CMD_IDX :
|
||||||
|
TRACE0("_process_rcv_transfer_data() : Update EP_02_CMD_IDX.\r\n");
|
||||||
|
break;
|
||||||
|
case EP_81_DATA_IDX :
|
||||||
|
|
||||||
|
TRACE0("_process_rcv_transfer_data() : Update EP_81_DATA_IDX.\r\n");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
// Kick the g_hEP01_Thread_Event to get the g_EP01_Thread going.
|
||||||
|
// iEP = EP_S07_01 or EP_S07_02 = 0x01 or 0x02
|
||||||
|
//******************************************************************************
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::_do_single_threaded_usb_comm(int iEP_Base)
|
||||||
|
{
|
||||||
|
while ((ep_buff[iEP_Base]._hProtoPending == TRUE) || (ep_buff[iEP_Base+1]._hProtoPending == TRUE))
|
||||||
|
{
|
||||||
|
ASSERT(0);
|
||||||
|
Sleep(3);
|
||||||
|
}
|
||||||
|
ep_buff[iEP_Base]._hProtoPending = ep_buff[iEP_Base+1]._hProtoPending = TRUE;
|
||||||
|
|
||||||
|
if (iEP_Base == EP_01_CMD_IDX)
|
||||||
|
SetEvent(ep_buff[EP_82_DATA_IDX]._event);
|
||||||
|
else
|
||||||
|
SetEvent(ep_buff[iEP_Base]._event);
|
||||||
|
while ((ep_buff[iEP_Base]._hProtoPending == TRUE) || (ep_buff[iEP_Base+1]._hProtoPending == TRUE))
|
||||||
|
{
|
||||||
|
Sleep(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::_process_SO7_CMD_READ_AXIS_R()
|
||||||
|
{
|
||||||
|
g_machine.r._scale_pos._long_=0;
|
||||||
|
g_machine.r._scale_pos._char_[2] = *(ep_buff[EP_82_DATA_IDX]._buffer);
|
||||||
|
g_machine.r._scale_pos._char_[1] = *(ep_buff[EP_82_DATA_IDX]._buffer+1);
|
||||||
|
g_machine.r._scale_pos._char_[0] = *(ep_buff[EP_82_DATA_IDX]._buffer+2);
|
||||||
|
g_machine.r._scale_pos._char_[3] = 0;
|
||||||
|
if (g_machine.r._scale_pos._long_ > 8388608)
|
||||||
|
g_machine.r._scale_pos._long_ = g_machine.r._scale_pos._long_ - 16777216;
|
||||||
|
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
};
|
||||||
|
|
||||||
|
//==============================================================
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::_process_SO7_CMD_READ_ZSIGNAL_POS_R()
|
||||||
|
{
|
||||||
|
g_machine.r._ZSignal_pos._char_[2] = *(ep_buff[EP_82_DATA_IDX]._buffer);
|
||||||
|
g_machine.r._ZSignal_pos._char_[1] = *(ep_buff[EP_82_DATA_IDX]._buffer+1);
|
||||||
|
g_machine.r._ZSignal_pos._char_[0] = *(ep_buff[EP_82_DATA_IDX]._buffer+2);
|
||||||
|
g_machine.r._ZSignal_pos._char_[3] = 0;
|
||||||
|
|
||||||
|
if (g_machine.r._ZSignal_pos._long_ > 8388608)
|
||||||
|
g_machine.r._ZSignal_pos._long_=g_machine.r._ZSignal_pos._long_-16777216;
|
||||||
|
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
//==============================================================
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::_send_cmd_SO7_CMD_RESET_R(int iType)
|
||||||
|
{
|
||||||
|
iType++;
|
||||||
|
WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE);
|
||||||
|
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
|
||||||
|
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_SCALE;
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_SET_RESET_FLAG;
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+2) = 0x01;
|
||||||
|
|
||||||
|
ep_buff[EP_02_CMD_IDX]._size = 0x03;
|
||||||
|
ep_buff[EP_82_DATA_IDX]._size = 0x02;
|
||||||
|
|
||||||
|
g_hEP02_Thread_State=THREAD_RUNNING_STATE2;
|
||||||
|
_do_single_threaded_usb_comm(EP_02_CMD_IDX);
|
||||||
|
ReleaseMutex(g_hEP02_Serial_Mutex);
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
};
|
||||||
|
|
||||||
|
//==============================================================
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::_send_cmd_SO7_CMD_MOVE_R(int iType, int iMoveAngle)
|
||||||
|
{
|
||||||
|
WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE);
|
||||||
|
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
|
||||||
|
|
||||||
|
g_machine.r._pos_fixed._long_ = (ONE_R_PULSE * iMoveAngle / 360);
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_MOTOR;
|
||||||
|
if(iType)
|
||||||
|
{
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_MOVETOY;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_MOVETOX;
|
||||||
|
}
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+2)=(((g_machine.r._pos_fixed._char_[3])<0x80)?(g_machine.r._pos_fixed._char_[2]):((g_machine.r._pos_fixed._char_[2])|0x80));//×î¸ßλ
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+3)=(g_machine.r._pos_fixed._char_[1]);
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+4)=(g_machine.r._pos_fixed._char_[0]);
|
||||||
|
|
||||||
|
ep_buff[EP_02_CMD_IDX]._size = 0x07;
|
||||||
|
ep_buff[EP_81_DATA_IDX]._size = 0x07;
|
||||||
|
|
||||||
|
g_hEP02_Thread_State = THREAD_RUNNING_STATE2;
|
||||||
|
_do_single_threaded_usb_comm(EP_02_CMD_IDX);
|
||||||
|
ReleaseMutex(g_hEP02_Serial_Mutex);
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
};
|
||||||
|
|
||||||
|
//==============================================================
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::_send_cmd_SO7_CMD_READ_AXIS_R()
|
||||||
|
{
|
||||||
|
WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE);
|
||||||
|
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
|
||||||
|
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA;
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_READ_AXISXYZ;
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+2)=0x00;
|
||||||
|
|
||||||
|
ep_buff[EP_02_CMD_IDX]._size = 0x03;
|
||||||
|
ep_buff[EP_82_DATA_IDX]._size = 0x09;
|
||||||
|
|
||||||
|
g_hEP02_Thread_State=THREAD_RUNNING_STATE1;
|
||||||
|
g_hEP8x_Thread_State=THREAD_RUNNING_STATE2;
|
||||||
|
_do_single_threaded_usb_comm(EP_02_CMD_IDX);
|
||||||
|
ReleaseMutex(g_hEP02_Serial_Mutex);
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
};
|
||||||
|
|
||||||
|
//==============================================================
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::_send_cmd_SO7_CMD_READ_ZSIGNAL_POS_R(int iType)
|
||||||
|
{
|
||||||
|
WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE);
|
||||||
|
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
|
||||||
|
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA;
|
||||||
|
if(iType)
|
||||||
|
{
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_READ_SEC_REALY;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_READ_SEC_REALX;
|
||||||
|
}
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+2)=0;
|
||||||
|
|
||||||
|
ep_buff[EP_02_CMD_IDX]._size = 0x03;
|
||||||
|
ep_buff[EP_82_DATA_IDX]._size = 0x03;
|
||||||
|
|
||||||
|
g_hEP02_Thread_State=THREAD_RUNNING_STATE1;
|
||||||
|
g_hEP8x_Thread_State=THREAD_RUNNING_STATE2;
|
||||||
|
_do_single_threaded_usb_comm(EP_02_CMD_IDX);
|
||||||
|
ReleaseMutex(g_hEP02_Serial_Mutex);
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
long CSO7_Proto_Aux::GetRCurrentPosition(int iType)
|
||||||
|
{
|
||||||
|
long ztos = -1;
|
||||||
|
_send_cmd_SO7_CMD_READ_AXIS_R();
|
||||||
|
_send_cmd_SO7_CMD_READ_ZSIGNAL_POS_R(iType);
|
||||||
|
ztos = abs(g_machine.r._scale_pos._long_ - g_machine.r._ZSignal_pos._long_);
|
||||||
|
if(ztos > 8388608)
|
||||||
|
{
|
||||||
|
ztos = ztos - 9413433;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (ztos * 360 / 4720000);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//==============================================================
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::_send_cmd_SO7_CMD_STOP_R(int iType)
|
||||||
|
{
|
||||||
|
iType++;
|
||||||
|
WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE);
|
||||||
|
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
|
||||||
|
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_MOTOR;
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_STOPA;
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+2)=0x00;
|
||||||
|
|
||||||
|
TRACE("[STOP_R]\n");
|
||||||
|
|
||||||
|
ep_buff[EP_02_CMD_IDX]._size = 0x04;
|
||||||
|
ep_buff[EP_81_DATA_IDX]._size = 0x04;
|
||||||
|
|
||||||
|
g_hEP02_Thread_State=THREAD_RUNNING_STATE2;
|
||||||
|
_do_single_threaded_usb_comm(EP_02_CMD_IDX);
|
||||||
|
ReleaseMutex(g_hEP02_Serial_Mutex);
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
};
|
||||||
|
|
||||||
|
//==============================================================
|
||||||
|
SSI_STATUS_MOTION CSO7_Proto_Aux::_send_cmd_SO7_CMD_SET_SEQ_NUMBER()
|
||||||
|
{
|
||||||
|
WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE);
|
||||||
|
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
|
||||||
|
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA;
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_WRITE_SEQ_NUMBER;
|
||||||
|
*(ep_buff[EP_02_CMD_IDX]._buffer+2)=g_machine.SEQ_NUMBER;
|
||||||
|
|
||||||
|
ep_buff[EP_02_CMD_IDX]._size = 0x03;
|
||||||
|
ep_buff[EP_81_DATA_IDX]._size = 0x45;
|
||||||
|
|
||||||
|
g_hEP02_Thread_State=THREAD_RUNNING_STATE2;
|
||||||
|
_do_single_threaded_usb_comm(EP_02_CMD_IDX);
|
||||||
|
ReleaseMutex(g_hEP02_Serial_Mutex);
|
||||||
|
return SSI_STATUS_MOTION_NORMAL;
|
||||||
|
}
|
||||||
@@ -0,0 +1,304 @@
|
|||||||
|
// protocol for control SevenOcean's Machine
|
||||||
|
//
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
#ifndef AFX_SO7_Proto_Aux_H__B422904C_2CEB_495B_B7BD_B45AB30286DD__INCLUDED_
|
||||||
|
#define AFX_SO7_Proto_Aux_H__B422904C_2CEB_495B_B7BD_B45AB30286DD__INCLUDED_
|
||||||
|
|
||||||
|
#if _MSC_VER > 1000
|
||||||
|
#pragma once
|
||||||
|
#endif // _MSC_VER > 1000
|
||||||
|
|
||||||
|
#include "..\Tools\UsbUtility\logger.h"
|
||||||
|
#include "CMD_H.h"
|
||||||
|
#include "..\..\..\..\..\ThirdParty\UsbSupport\LibUsb_Win\Include\lusb0_usb.h"
|
||||||
|
#include "..\MicroVu\SsiStatus.h"
|
||||||
|
|
||||||
|
#define MAX_BUFF_SIZE 0x200
|
||||||
|
#define USB_R_SEQ_NUMBER 1
|
||||||
|
#define RSPEEDGEAR 1
|
||||||
|
#define ONE_R_PULSE 590000
|
||||||
|
#define TYPER1 0
|
||||||
|
#define TYPER2 1
|
||||||
|
|
||||||
|
#define USB_ENDPOINT_TYPE_CONTROL 0
|
||||||
|
#define USB_ENDPOINT_TYPE_ISOCHRONOUS 1
|
||||||
|
#define USB_ENDPOINT_TYPE_BULK 2
|
||||||
|
#define USB_ENDPOINT_TYPE_INTERRUPT 3
|
||||||
|
|
||||||
|
#define USB_DEVICE_DESCRIPTOR_TYPE 1
|
||||||
|
#define USB_CONFIGURATION_DESCRIPTOR_TYPE 2
|
||||||
|
|
||||||
|
#define THREAD_RUNNING_STATE1 0
|
||||||
|
#define THREAD_RUNNING_STATE2 2
|
||||||
|
#define THREAD_PAUSED 1
|
||||||
|
#define THREAD_EXIT -1
|
||||||
|
|
||||||
|
// Device configuration and interface id.
|
||||||
|
#define SO7_USB_CONFIG 1
|
||||||
|
#define SO7_USB_INTF 0
|
||||||
|
|
||||||
|
#define EP_S07_01 0x01
|
||||||
|
#define EP_S07_02 0x02
|
||||||
|
#define EP_S07_03 0x03
|
||||||
|
#define EP_S07_81 0x81
|
||||||
|
#define EP_S07_82 0x82
|
||||||
|
#define EP_S07_84 0x84
|
||||||
|
|
||||||
|
#define EP_01_CMD_IDX 0 // index to usb buffers
|
||||||
|
#define EP_81_DATA_IDX 1 //
|
||||||
|
#define EP_02_CMD_IDX 2 //
|
||||||
|
#define EP_82_DATA_IDX 3 //
|
||||||
|
#define EP_03_CMD_IDX 4 //
|
||||||
|
#define EP_84_DATA_IDX 5 //
|
||||||
|
|
||||||
|
#define lEPSIZE 6
|
||||||
|
#define MAXRINGS 5 // for MicroVu Vertex 220
|
||||||
|
#define MAXSEGS 8
|
||||||
|
|
||||||
|
#define TWO_RINGS 2
|
||||||
|
#define EIGHT_SEGS 8
|
||||||
|
#define FIVE_RINGS 5
|
||||||
|
|
||||||
|
enum EMACHINERTYPE
|
||||||
|
{
|
||||||
|
MACHINE_SO7_R_CONTROLLER,
|
||||||
|
MACHINE_METRONICS_CONTROLLER_R,
|
||||||
|
MACHINE_TOTAL_R=255
|
||||||
|
};
|
||||||
|
enum EFirmwareRVer
|
||||||
|
{
|
||||||
|
FirmwareVer_3_X_R=0,
|
||||||
|
FirmwareVer_6_X_R,
|
||||||
|
FirmwareVer_Total_R
|
||||||
|
};
|
||||||
|
|
||||||
|
#pragma pack(push)
|
||||||
|
#pragma pack(1)
|
||||||
|
//****************************************************************************************************
|
||||||
|
// Set the _status to Idle after reply data has been received.
|
||||||
|
// How to recover? In order to send data, _status must be Idle. If the system is not available
|
||||||
|
// for 1 second, assume something wrong and treat it as "TimeOut".
|
||||||
|
// Another way to do this is to lock this structure is to use a mutex to ensure single-threaded
|
||||||
|
// access.
|
||||||
|
//****************************************************************************************************
|
||||||
|
//====================================================================================================
|
||||||
|
|
||||||
|
typedef struct s_so7_r_axis // axis parameters
|
||||||
|
{
|
||||||
|
char _Move_Speed_Gear;
|
||||||
|
char _MoveTo_Speed_Gear;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
long _long_;
|
||||||
|
char _char_[4];
|
||||||
|
}_pos_fixed;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
long _long_;
|
||||||
|
char _char_[4];
|
||||||
|
}_scale_pos;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
long _long_;
|
||||||
|
char _char_[4];
|
||||||
|
}_ZSignal_pos;
|
||||||
|
double _d_cur_pos_;
|
||||||
|
long _scale_probe;
|
||||||
|
double _dSet_Zero_Pos;
|
||||||
|
long _lSet_Zero_Pos;
|
||||||
|
} SO7RAXIS;
|
||||||
|
|
||||||
|
struct s_so7_r_axis_config // axis configuration
|
||||||
|
{
|
||||||
|
double _motor_precision;//set precision
|
||||||
|
double _motor_wheelbase;//set wheelbase
|
||||||
|
char _speed_base[5];
|
||||||
|
char _speed_fresh[5];
|
||||||
|
char _speed_start[5];
|
||||||
|
char _speed_max[5];
|
||||||
|
double _speed_slow_dis[5];
|
||||||
|
|
||||||
|
double _MoveToSpeed[2];
|
||||||
|
double _MotionSpeedScale;
|
||||||
|
|
||||||
|
long _scale_range;
|
||||||
|
double _neg_working_limit;
|
||||||
|
double _pos_working_limit;
|
||||||
|
double _scale_resolution;
|
||||||
|
bool _bhomed;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct s_so7_r_machine_interface_config
|
||||||
|
{
|
||||||
|
BOOL _EnCloseLoop;
|
||||||
|
int _RetryTimes;
|
||||||
|
double _ShiftPositionR;
|
||||||
|
char GetInterruptMsgMethod;
|
||||||
|
INT m_WriteDataSleepTime;
|
||||||
|
INT m_AccuraErrPulseR;
|
||||||
|
INT m_EQUIDIS_R;
|
||||||
|
INT m_SDK3000_CntThreadSleepVal;
|
||||||
|
INT m_SV4000E_DenoisePara[4];
|
||||||
|
INT m_MachineType;
|
||||||
|
INT m_VideoCardType;
|
||||||
|
};
|
||||||
|
|
||||||
|
//======================
|
||||||
|
typedef struct s_so7_r
|
||||||
|
{
|
||||||
|
bool bFast;
|
||||||
|
long from;
|
||||||
|
long to;
|
||||||
|
long speed;
|
||||||
|
long acc;
|
||||||
|
long dec;
|
||||||
|
double dFromMM;
|
||||||
|
double dToMM;
|
||||||
|
} SO7RAXISMOVE;
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
struct struct_so7_r_machine
|
||||||
|
{ // g_machine structure
|
||||||
|
struct s_machine_r_config
|
||||||
|
{
|
||||||
|
double _dRSpeed[2];
|
||||||
|
|
||||||
|
struct s_so7_r_axis_config r_axis;
|
||||||
|
struct s_so7_r_machine_interface_config motion;
|
||||||
|
} s_machine_r_config;
|
||||||
|
|
||||||
|
struct s_rstatus
|
||||||
|
{
|
||||||
|
bool _homed;
|
||||||
|
bool _machine_running;
|
||||||
|
bool _bRMoving;
|
||||||
|
char _bIsZMMotionFinished;
|
||||||
|
bool _bRIdle;
|
||||||
|
} s_rstatus;
|
||||||
|
|
||||||
|
char ADC_Number;
|
||||||
|
int ADC_Value;
|
||||||
|
char Sys_Reset_Flag;
|
||||||
|
char cVerNumber;
|
||||||
|
char InterruptFlag[2];
|
||||||
|
char FPGAData;
|
||||||
|
char InPortStatus;
|
||||||
|
int _motor_pulse_num;
|
||||||
|
char FirmwareInfo[10];
|
||||||
|
int FirmwareVer;
|
||||||
|
char GetInterruptMsg[20][2];
|
||||||
|
BOOL IsOffline;
|
||||||
|
BOOL IsSupportReadInterrputMsg;
|
||||||
|
double dRotaryCirclDis;
|
||||||
|
char SEQ_NUMBER;
|
||||||
|
struct s_so7_r_axis r;
|
||||||
|
struct s_so7_r_axis r1;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define SEVENOCEAN_VID 0x4532
|
||||||
|
#define SEVENOCEAN_PID 0x5567
|
||||||
|
//****************************************************************************************************
|
||||||
|
// Binary SevenOcean command structure, out going
|
||||||
|
//
|
||||||
|
//****************************************************************************************************
|
||||||
|
#define pSO7_CMD_02 ((s_SO7_CMD_BUFF_02 *) ep_buff[EP_02_CMD_IDX]._buffer)
|
||||||
|
|
||||||
|
struct s_SO7_R_CMD_BUFF_02
|
||||||
|
{
|
||||||
|
UCHAR uCmdByte;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
BYTE uSubCmdByte;
|
||||||
|
char data[12];
|
||||||
|
}s_SO7_CMD_MOVE_TO_XYZ;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
BYTE uSubCmdByte;
|
||||||
|
char data[12];
|
||||||
|
}s_SO7_CMD_MOVETOXYZV;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
BYTE uSubCmdByte;
|
||||||
|
BYTE uStartCmdByte;
|
||||||
|
char _bottom_light;
|
||||||
|
char _top_light;
|
||||||
|
char _ring_light;
|
||||||
|
char _coaxial_light;
|
||||||
|
char _spare_light1;
|
||||||
|
char _outer_ring_light_switch;
|
||||||
|
char _inner_ring_light_switch;
|
||||||
|
BYTE uEndCmdByte;
|
||||||
|
}s_SO7_CMD_SET_LIGHT;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
//======================
|
||||||
|
struct struct_so7_r_ep_buff
|
||||||
|
{
|
||||||
|
int _ep;
|
||||||
|
BYTE _save_send_cmd;
|
||||||
|
BYTE _save_send_cmd0;
|
||||||
|
BYTE _save_send_cmd1;
|
||||||
|
char *_buffer; // MAX_BUFF_SIZE
|
||||||
|
int _size;
|
||||||
|
void *_async_context;
|
||||||
|
BOOL _hProtoPending;
|
||||||
|
HANDLE _event;
|
||||||
|
};
|
||||||
|
|
||||||
|
//======================================================================================
|
||||||
|
class CSO7_Proto_Aux
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// EP 81/82 channel threads.
|
||||||
|
static int g_hEP8x_Thread_State;
|
||||||
|
static unsigned __stdcall g_EP8x_Thread(LPVOID pThis);
|
||||||
|
static HANDLE g_hEP8x_Thread_Id;
|
||||||
|
|
||||||
|
// EP 02channel threads.
|
||||||
|
static int g_hEP02_Thread_State;
|
||||||
|
static unsigned __stdcall g_EP02_Thread(LPVOID pThis);
|
||||||
|
static HANDLE g_hEP02_Thread_Id;
|
||||||
|
static HANDLE g_hEP02_Serial_Mutex; // EP02
|
||||||
|
|
||||||
|
static HANDLE g_hHomedEvent;
|
||||||
|
|
||||||
|
static struct_so7_r_ep_buff ep_buff[lEPSIZE];
|
||||||
|
static struct_so7_r_machine g_machine;
|
||||||
|
|
||||||
|
static CLogger* g_pLogger1;
|
||||||
|
static usb_dev_handle *g_dev;
|
||||||
|
bool m_bHomingActive;
|
||||||
|
|
||||||
|
//
|
||||||
|
CSO7_Proto_Aux();
|
||||||
|
virtual ~CSO7_Proto_Aux();
|
||||||
|
|
||||||
|
// Global Structures
|
||||||
|
SSI_STATUS_MOTION Init_SO7Usb();
|
||||||
|
SSI_STATUS_MOTION Exit_SO7Usb();
|
||||||
|
|
||||||
|
usb_dev_handle* _open_usb_dev(unsigned short sSeqNumber);
|
||||||
|
int Get_R_SeqNumber(usb_dev_handle *udev);
|
||||||
|
SSI_STATUS_MOTION _send_usb_cmd(int iEP_Base);
|
||||||
|
SSI_STATUS_MOTION _write_usb_data_only(int iEP_Base);
|
||||||
|
SSI_STATUS_MOTION _read_data_8x(int iEP_Base);
|
||||||
|
static void _process_rcv_transfer_data(int iEP);
|
||||||
|
SSI_STATUS_MOTION _do_single_threaded_usb_comm(int iEP);
|
||||||
|
|
||||||
|
static SSI_STATUS_MOTION _process_SO7_CMD_READ_AXIS_R();
|
||||||
|
static SSI_STATUS_MOTION _process_SO7_CMD_READ_ZSIGNAL_POS_R();
|
||||||
|
SSI_STATUS_MOTION _send_cmd_SO7_CMD_RESET_R(int iType);
|
||||||
|
SSI_STATUS_MOTION _send_cmd_SO7_CMD_MOVE_R(int iType, int iMoveAngle);
|
||||||
|
SSI_STATUS_MOTION _send_cmd_SO7_CMD_READ_AXIS_R();
|
||||||
|
SSI_STATUS_MOTION _send_cmd_SO7_CMD_READ_ZSIGNAL_POS_R(int iType);
|
||||||
|
long GetRCurrentPosition(int iType);
|
||||||
|
SSI_STATUS_MOTION _send_cmd_SO7_CMD_STOP_R(int iType);
|
||||||
|
SSI_STATUS_MOTION _send_cmd_SO7_CMD_SET_SEQ_NUMBER();
|
||||||
|
};
|
||||||
|
#endif
|
||||||
@@ -4171,7 +4171,9 @@ _start_machine
|
|||||||
Exit: Exit_SO7Usb
|
Exit: Exit_SO7Usb
|
||||||
Destruct Cso7_Proto.
|
Destruct Cso7_Proto.
|
||||||
Construct Cso7_Proto.
|
Construct Cso7_Proto.
|
||||||
Init:Open device succeed .
|
Unable to open device Init:Open device succeed .
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Unable to open device Init:Open device succeed .
|
||||||
_start_machine
|
_start_machine
|
||||||
Exit: Exit_SO7Usb
|
Exit: Exit_SO7Usb
|
||||||
Destruct Cso7_Proto.
|
Destruct Cso7_Proto.
|
||||||
@@ -4182,29 +4184,74 @@ Exit: Exit_SO7Usb
|
|||||||
Destruct Cso7_Proto.
|
Destruct Cso7_Proto.
|
||||||
Construct Cso7_Proto.
|
Construct Cso7_Proto.
|
||||||
Init:Open device succeed .
|
Init:Open device succeed .
|
||||||
|
Unable to open device Init:Open device succeed .
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
_start_machine
|
_start_machine
|
||||||
Exit: Exit_SO7Usb
|
Exit: Exit_SO7Usb
|
||||||
Destruct Cso7_Proto.
|
Destruct Cso7_Proto.
|
||||||
Construct Cso7_Proto.
|
Construct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
Init:Open device succeed .
|
Init:Open device succeed .
|
||||||
_start_machine
|
_start_machine
|
||||||
Exit: Exit_SO7Usb
|
Exit: Exit_SO7Usb
|
||||||
Destruct Cso7_Proto.
|
Destruct Cso7_Proto.
|
||||||
Construct Cso7_Proto.
|
Construct Cso7_Proto.
|
||||||
Init:Open device succeed .
|
Init:Open device succeed .
|
||||||
_start_machine
|
Construct Cso7_Proto.
|
||||||
Exit: Exit_SO7Usb
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
Init:Open device succeed .
|
Init:Open device succeed .
|
||||||
_start_machine
|
_start_machine
|
||||||
Exit: Exit_SO7Usb
|
Exit: Exit_SO7Usb
|
||||||
Destruct Cso7_Proto.
|
Destruct Cso7_Proto.
|
||||||
Construct Cso7_Proto.
|
Construct Cso7_Proto.
|
||||||
Init:Open device succeed .
|
Init:Open device succeed .
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
_start_machine
|
_start_machine
|
||||||
Exit: Exit_SO7Usb
|
Exit: Exit_SO7Usb
|
||||||
Init:Open device succeed .
|
Init:Open device succeed .
|
||||||
_start_machine
|
_start_machine
|
||||||
Exit: Exit_SO7Usb
|
Exit: Exit_SO7Usb
|
||||||
|
Unable to open device Init:Open device succeed .
|
||||||
|
_start_machine
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
_start_machine
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
_start_machine
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
_start_machine
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
Init:Open device succeed .
|
Init:Open device succeed .
|
||||||
_start_machine
|
_start_machine
|
||||||
Exit: Exit_SO7Usb
|
Exit: Exit_SO7Usb
|
||||||
@@ -4226,6 +4273,25 @@ Exit: Exit_SO7Usb
|
|||||||
Destruct Cso7_Proto.
|
Destruct Cso7_Proto.
|
||||||
Construct Cso7_Proto.
|
Construct Cso7_Proto.
|
||||||
Init:Open device succeed .
|
Init:Open device succeed .
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
_start_machine
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
_start_machine
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
_start_machine
|
_start_machine
|
||||||
Exit: Exit_SO7Usb
|
Exit: Exit_SO7Usb
|
||||||
Destruct Cso7_Proto.
|
Destruct Cso7_Proto.
|
||||||
@@ -4236,6 +4302,33 @@ Exit: Exit_SO7Usb
|
|||||||
Destruct Cso7_Proto.
|
Destruct Cso7_Proto.
|
||||||
Construct Cso7_Proto.
|
Construct Cso7_Proto.
|
||||||
Init:Open device succeed .
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
_start_machine
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Init:Open device succeed .
|
||||||
|
_start_machine
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
_start_machine
|
_start_machine
|
||||||
Exit: Exit_SO7Usb
|
Exit: Exit_SO7Usb
|
||||||
Init:Open device succeed .
|
Init:Open device succeed .
|
||||||
@@ -4251,6 +4344,43 @@ Construct Cso7_Proto.
|
|||||||
Destruct Cso7_Proto.
|
Destruct Cso7_Proto.
|
||||||
Construct Cso7_Proto.
|
Construct Cso7_Proto.
|
||||||
Init:Open device succeed .
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
_start_machine
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Init:Open device succeed .
|
||||||
|
_start_machine
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Destruct Cso7_Proto.
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Init:Open device succeed .
|
||||||
|
Exit: Exit_SO7Usb
|
||||||
|
Construct Cso7_Proto.
|
||||||
|
Unable to open device Init:Open device succeed .
|
||||||
_start_machine
|
_start_machine
|
||||||
Exit: Exit_SO7Usb
|
Exit: Exit_SO7Usb
|
||||||
Destruct Cso7_Proto.
|
Destruct Cso7_Proto.
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
#undef APSTUDIO_READONLY_SYMBOLS
|
#undef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Chinese (Simplified, PRC) resources
|
// 中文(简体,中国) resources
|
||||||
|
|
||||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
|
||||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
||||||
@@ -401,24 +401,25 @@ CAPTION "Utility for SO7"
|
|||||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
CONTROL "SDK3000ÊÓÆµ¿¨",IDC_RADIO_VIDEOCARD_SDK3000,"Button",BS_AUTORADIOBUTTON | WS_GROUP,39,39,69,10
|
CONTROL "SDK3000ÊÓÆµ¿¨",IDC_RADIO_VIDEOCARD_SDK3000,"Button",BS_AUTORADIOBUTTON | WS_GROUP,39,39,69,10
|
||||||
CONTROL "SV2000E视频卡",IDC_RADIO_VIDEOCARD_SV2000E,"Button",BS_AUTORADIOBUTTON,39,56,69,10
|
CONTROL "SV2000E视频卡",IDC_RADIO_VIDEOCARD_SV2000E,"Button",BS_AUTORADIOBUTTON,39,55,69,10
|
||||||
CONTROL "SV4000E视频卡",IDC_RADIO_VIDEOCARD_SV4000E,"Button",BS_AUTORADIOBUTTON,39,73,68,10
|
CONTROL "SV4000E视频卡",IDC_RADIO_VIDEOCARD_SV4000E,"Button",BS_AUTORADIOBUTTON,39,71,68,10
|
||||||
CONTROL "TC4000视频卡",IDC_RADIO_VIDEOCARD_TC4000,"Button",BS_AUTORADIOBUTTON,39,90,69,10
|
CONTROL "TC4000视频卡",IDC_RADIO_VIDEOCARD_TC4000,"Button",BS_AUTORADIOBUTTON,39,87,69,10
|
||||||
CONTROL "IP Camera",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON,39,107,62,10
|
CONTROL "IP Camera",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON,39,103,62,10
|
||||||
CONTROL "USB Camera",IDC_RADIO_SO7_USB_CAMERA,"Button",BS_AUTORADIOBUTTON,39,124,62,10
|
CONTROL "USB Camera",IDC_RADIO_SO7_USB_CAMERA,"Button",BS_AUTORADIOBUTTON,39,119,62,10
|
||||||
CONTROL "¿ØÖÆÆ÷£¨USB£©",IDC_RADIO_CONTROLLER,"Button",BS_AUTORADIOBUTTON,166,39,69,10
|
CONTROL "¿ØÖÆÆ÷£¨USB£©",IDC_RADIO_CONTROLLER,"Button",BS_AUTORADIOBUTTON,166,39,69,10
|
||||||
CONTROL "控制器(RS232)",IDC_RADIO__SO7_RS232,"Button",BS_AUTORADIOBUTTON,166,56,77,10
|
CONTROL "控制器(RS232)",IDC_RADIO__SO7_RS232,"Button",BS_AUTORADIOBUTTON,166,71,77,10
|
||||||
CONTROL "LK_G激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,166,73,76,10
|
CONTROL "LK_G激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,166,87,76,10
|
||||||
CONTROL "LK_H激光(USB)",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,166,90,76,10
|
CONTROL "LK_H激光(USB)",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,166,103,76,10
|
||||||
CONTROL "LK_H¼¤¹â(ETHERNET)",IDC_RADIO_KEYENCE_LASER_LKH_ETHERNET,
|
CONTROL "LK_H¼¤¹â(ETHERNET)",IDC_RADIO_KEYENCE_LASER_LKH_ETHERNET,
|
||||||
"Button",BS_AUTORADIOBUTTON,166,107,85,10
|
"Button",BS_AUTORADIOBUTTON,166,119,85,10
|
||||||
CONTROL "LJ_G激光",IDC_RADIO_KEYENCE_LASER3,"Button",BS_AUTORADIOBUTTON,166,124,76,10
|
CONTROL "LJ_G激光",IDC_RADIO_KEYENCE_LASER3,"Button",BS_AUTORADIOBUTTON,166,135,76,10
|
||||||
CONTROL "Verifcation algorithm",IDC_RADIO_SO7_VERIFICATION_ALGORITHM,
|
CONTROL "Verifcation algorithm",IDC_RADIO_SO7_VERIFICATION_ALGORITHM,
|
||||||
"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,39,141,81,10
|
"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,39,135,81,10
|
||||||
CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,166,141,45,10
|
CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,39,151,45,10
|
||||||
DEFPUSHBUTTON "OK",IDOK,163,177,50,14
|
DEFPUSHBUTTON "OK",IDOK,163,177,50,14
|
||||||
PUSHBUTTON "Cancel",IDCANCEL,221,177,50,14
|
PUSHBUTTON "Cancel",IDCANCEL,221,177,50,14
|
||||||
GROUPBOX "测试选项",IDC_STATIC,20,15,242,146
|
GROUPBOX "测试选项",IDC_STATIC,20,15,242,157
|
||||||
|
CONTROL "控制器(USB R)",IDC_RADIO_CONTROLLER2,"Button",BS_AUTORADIOBUTTON,166,55,75,10
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_SO7_VIDEOCARD_SDK3000 DIALOGEX 0, 0, 488, 316
|
IDD_SO7_VIDEOCARD_SDK3000 DIALOGEX 0, 0, 488, 316
|
||||||
@@ -909,6 +910,37 @@ BEGIN
|
|||||||
PUSHBUTTON "Stop Scan",IDC_BTN_KEYENCE_LKG5000_ETHERNET_STOP_SCAN2,313,86,50,14
|
PUSHBUTTON "Stop Scan",IDC_BTN_KEYENCE_LKG5000_ETHERNET_STOP_SCAN2,313,86,50,14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
IDD_SO7_UTIL_USBCTLR DIALOGEX 0, 0, 216, 251
|
||||||
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
|
CAPTION "USB Control R1/R2"
|
||||||
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
|
BEGIN
|
||||||
|
PUSHBUTTON "Exit",IDCANCEL,170,230,39,14
|
||||||
|
GROUPBOX "USB_R Control",IDC_STATIC,17,12,181,216
|
||||||
|
CONTROL "Enable R1",IDC_CHECK_SO7_R1_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,31,58,48,10
|
||||||
|
PUSHBUTTON "Init_Machine",IDC_BUTTON_START_SO7_R_MACHINE,43,24,63,18
|
||||||
|
PUSHBUTTON "Stop_Machine",IDC_BUTTON_STOP_SO7_R_MACHINE,108,24,63,18
|
||||||
|
PUSHBUTTON "Home",IDC_BUTTON_R1_HOME,135,73,36,14
|
||||||
|
PUSHBUTTON "Go",IDC_BUTTON_R1_GO,135,113,36,14
|
||||||
|
EDITTEXT IDC_EDIT_R1_CURRENT_POSITION,96,73,36,14,ES_AUTOHSCROLL
|
||||||
|
EDITTEXT IDC_EDIT_R1_TARGET_POSITION,96,113,36,14,ES_CENTER | ES_AUTOHSCROLL
|
||||||
|
LTEXT "Current Position",IDC_STATIC,43,75,51,8
|
||||||
|
CTEXT "Target Position",IDC_STATIC,43,97,51,8
|
||||||
|
GROUPBOX "R1",IDC_STATIC,18,45,180,92
|
||||||
|
CONTROL "Enable R2",IDC_CHECK_SO7_R2_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,31,149,48,10
|
||||||
|
PUSHBUTTON "Home",IDC_BUTTON_R2_HOME,135,165,36,14
|
||||||
|
PUSHBUTTON "Go",IDC_BUTTON_R2_GO,135,205,36,14
|
||||||
|
EDITTEXT IDC_EDIT_R2_CURRENT_POSITION,96,165,36,14,ES_AUTOHSCROLL
|
||||||
|
EDITTEXT IDC_EDIT_R2_TARGET_POSITION,96,205,36,14,ES_CENTER | ES_AUTOHSCROLL
|
||||||
|
LTEXT "Current Position",IDC_STATIC,43,166,51,8
|
||||||
|
CTEXT "Target Position",IDC_STATIC,43,189,51,8
|
||||||
|
GROUPBOX "R2",IDC_STATIC,18,136,180,92
|
||||||
|
CONTROL "Rel",IDC_RADIO_R1_RELATIVE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,66,110,27,8
|
||||||
|
CONTROL "Abs",IDC_RADIO_R1_ABSOLUTE,"Button",BS_AUTORADIOBUTTON,66,121,28,8
|
||||||
|
CONTROL "Rel",IDC_RADIO_R2_RELATIVE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,66,201,27,8
|
||||||
|
CONTROL "Abs",IDC_RADIO_R2_ABSOLUTE,"Button",BS_AUTORADIOBUTTON,66,213,28,8
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
@@ -1056,6 +1088,14 @@ BEGIN
|
|||||||
TOPMARGIN, 7
|
TOPMARGIN, 7
|
||||||
BOTTOMMARGIN, 359
|
BOTTOMMARGIN, 359
|
||||||
END
|
END
|
||||||
|
|
||||||
|
IDD_SO7_UTIL_USBCTLR, DIALOG
|
||||||
|
BEGIN
|
||||||
|
LEFTMARGIN, 7
|
||||||
|
RIGHTMARGIN, 209
|
||||||
|
TOPMARGIN, 7
|
||||||
|
BOTTOMMARGIN, 244
|
||||||
|
END
|
||||||
END
|
END
|
||||||
#endif // APSTUDIO_INVOKED
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
||||||
@@ -1477,12 +1517,12 @@ IDB_BITMAP_Z_DOWN BITMAP "res\\bmp\\Z_DOWN.bmp"
|
|||||||
IDB_BITMAP_Z_UP BITMAP "res\\bmp\\Z_UP.bmp"
|
IDB_BITMAP_Z_UP BITMAP "res\\bmp\\Z_UP.bmp"
|
||||||
IDB_BITMAP_X_LEFT BITMAP "res\\bmp\\X_LEFT.BMP"
|
IDB_BITMAP_X_LEFT BITMAP "res\\bmp\\X_LEFT.BMP"
|
||||||
IDB_BITMAP_X_RIGHT BITMAP "res\\bmp\\X_RIGHT.bmp"
|
IDB_BITMAP_X_RIGHT BITMAP "res\\bmp\\X_RIGHT.bmp"
|
||||||
#endif // Chinese (Simplified, PRC) resources
|
#endif // 中文(简体,中国) resources
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// English (United States) resources
|
// 英语(美国) resources
|
||||||
|
|
||||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
@@ -2425,7 +2465,7 @@ BEGIN
|
|||||||
IDS_SO7_ABOUTBOX "&About Utility for SO7..."
|
IDS_SO7_ABOUTBOX "&About Utility for SO7..."
|
||||||
END
|
END
|
||||||
|
|
||||||
#endif // English (United States) resources
|
#endif // 英语(美国) resources
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#include "..\..\..\SevenOcean\CMMIO_SERIAL.H"
|
#include "..\..\..\SevenOcean\CMMIO_SERIAL.H"
|
||||||
#include "..\..\..\SevenOcean\EF8000_Interface.h"
|
#include "..\..\..\SevenOcean\EF8000_Interface.h"
|
||||||
#include "..\..\..\SevenOcean\SO7_Proto.h"
|
#include "..\..\..\SevenOcean\SO7_Proto.h"
|
||||||
|
#include "..\..\..\SevenOcean\SO7_Proto_Aux.h"
|
||||||
#include "ProcessButton.h"
|
#include "ProcessButton.h"
|
||||||
|
|
||||||
#ifdef _RELEASE_FULL_VERSION
|
#ifdef _RELEASE_FULL_VERSION
|
||||||
@@ -24,6 +25,7 @@
|
|||||||
#endif //_RELEASE_FULL_VERSION
|
#endif //_RELEASE_FULL_VERSION
|
||||||
|
|
||||||
#include "SO7_UtilDlg.h"
|
#include "SO7_UtilDlg.h"
|
||||||
|
#include "So7_UtilUsbCtlR.h"
|
||||||
#include "..\..\..\Keyence\Keyence_Laser.h"
|
#include "..\..\..\Keyence\Keyence_Laser.h"
|
||||||
#include "..\..\..\Keyence\Keyence_Laser_LK_H.h"
|
#include "..\..\..\Keyence\Keyence_Laser_LK_H.h"
|
||||||
#include "..\..\..\Keyence\\Keyence_Proto.h"
|
#include "..\..\..\Keyence\\Keyence_Proto.h"
|
||||||
@@ -49,6 +51,7 @@
|
|||||||
//CSerial* m_pSO7_Serial=NULL;
|
//CSerial* m_pSO7_Serial=NULL;
|
||||||
CPSerial* m_pSO7_PCDSerial=NULL;
|
CPSerial* m_pSO7_PCDSerial=NULL;
|
||||||
CSO7_Proto* m_pSO7_Proto=NULL;
|
CSO7_Proto* m_pSO7_Proto=NULL;
|
||||||
|
CSO7_Proto_Aux* m_pSO7_Proto_Aux=NULL;
|
||||||
CKeyence_Laser* m_pKeyence_Laser=NULL;
|
CKeyence_Laser* m_pKeyence_Laser=NULL;
|
||||||
CKeyence_Laser_LK_H* m_pKeyence_Laser_LK_H=NULL;
|
CKeyence_Laser_LK_H* m_pKeyence_Laser_LK_H=NULL;
|
||||||
CKeyence_Proto* m_pKeyence_Proto=NULL;
|
CKeyence_Proto* m_pKeyence_Proto=NULL;
|
||||||
@@ -188,18 +191,38 @@ void CSo7_Option::OnBnClickedOk()
|
|||||||
delete m_pSO7_Proto;
|
delete m_pSO7_Proto;
|
||||||
m_pSO7_Proto=NULL;
|
m_pSO7_Proto=NULL;
|
||||||
}
|
}
|
||||||
|
if (m_pSO7_Proto_Aux)
|
||||||
|
{
|
||||||
|
delete m_pSO7_Proto_Aux;
|
||||||
|
m_pSO7_Proto_Aux = NULL;
|
||||||
|
}
|
||||||
if (m_pEF8000_Interface)
|
if (m_pEF8000_Interface)
|
||||||
{
|
{
|
||||||
delete m_pEF8000_Interface;
|
delete m_pEF8000_Interface;
|
||||||
m_pEF8000_Interface=NULL;
|
m_pEF8000_Interface=NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (((CButton *)GetDlgItem(IDC_RADIO_CONTROLLER2))->GetCheck())
|
||||||
|
{
|
||||||
|
if (!m_pSO7_Proto_Aux)
|
||||||
|
{
|
||||||
|
m_pSO7_Proto_Aux = new CSO7_Proto_Aux();
|
||||||
|
}
|
||||||
|
|
||||||
|
So7_UtilUsbCtlR* pSo7_UtilUsbCtlR=new So7_UtilUsbCtlR();
|
||||||
|
pSo7_UtilUsbCtlR->DoModal();
|
||||||
|
delete pSo7_UtilUsbCtlR;
|
||||||
|
}
|
||||||
else if (((CButton *)GetDlgItem(IDC_RADIO__SO7_RS232))->GetCheck())
|
else if (((CButton *)GetDlgItem(IDC_RADIO__SO7_RS232))->GetCheck())
|
||||||
{
|
{
|
||||||
if (!m_pSO7_Proto)
|
if (!m_pSO7_Proto)
|
||||||
{
|
{
|
||||||
m_pSO7_Proto = new CSO7_Proto();
|
m_pSO7_Proto = new CSO7_Proto();
|
||||||
}
|
}
|
||||||
|
if (!m_pSO7_Proto_Aux)
|
||||||
|
{
|
||||||
|
m_pSO7_Proto_Aux = new CSO7_Proto_Aux();
|
||||||
|
}
|
||||||
if (!m_pSO7_PCDSerial)
|
if (!m_pSO7_PCDSerial)
|
||||||
{
|
{
|
||||||
m_pSO7_PCDSerial = new CPSerial();
|
m_pSO7_PCDSerial = new CPSerial();
|
||||||
@@ -219,6 +242,11 @@ void CSo7_Option::OnBnClickedOk()
|
|||||||
delete m_pSO7_Proto;
|
delete m_pSO7_Proto;
|
||||||
m_pSO7_Proto=NULL;
|
m_pSO7_Proto=NULL;
|
||||||
}
|
}
|
||||||
|
if (m_pSO7_Proto_Aux)
|
||||||
|
{
|
||||||
|
delete m_pSO7_Proto_Aux;
|
||||||
|
m_pSO7_Proto_Aux = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER))->GetCheck())
|
else if(((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER))->GetCheck())
|
||||||
{
|
{
|
||||||
@@ -226,6 +254,10 @@ void CSo7_Option::OnBnClickedOk()
|
|||||||
{
|
{
|
||||||
m_pSO7_Proto = new CSO7_Proto();
|
m_pSO7_Proto = new CSO7_Proto();
|
||||||
}
|
}
|
||||||
|
if (!m_pSO7_Proto_Aux)
|
||||||
|
{
|
||||||
|
m_pSO7_Proto_Aux = new CSO7_Proto_Aux();
|
||||||
|
}
|
||||||
if (!m_pKeyence_Proto)
|
if (!m_pKeyence_Proto)
|
||||||
{
|
{
|
||||||
m_pKeyence_Proto=new CKeyence_Proto();
|
m_pKeyence_Proto=new CKeyence_Proto();
|
||||||
@@ -245,6 +277,8 @@ void CSo7_Option::OnBnClickedOk()
|
|||||||
m_pKeyence_Proto=NULL;
|
m_pKeyence_Proto=NULL;
|
||||||
delete m_pSO7_Proto;
|
delete m_pSO7_Proto;
|
||||||
m_pSO7_Proto=NULL;
|
m_pSO7_Proto=NULL;
|
||||||
|
delete m_pSO7_Proto_Aux;
|
||||||
|
m_pSO7_Proto_Aux = NULL;
|
||||||
}
|
}
|
||||||
else if(((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER_LK_H))->GetCheck())
|
else if(((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER_LK_H))->GetCheck())
|
||||||
{
|
{
|
||||||
@@ -252,6 +286,10 @@ void CSo7_Option::OnBnClickedOk()
|
|||||||
{
|
{
|
||||||
m_pSO7_Proto = new CSO7_Proto();
|
m_pSO7_Proto = new CSO7_Proto();
|
||||||
}
|
}
|
||||||
|
if (!m_pSO7_Proto_Aux)
|
||||||
|
{
|
||||||
|
m_pSO7_Proto_Aux = new CSO7_Proto_Aux();
|
||||||
|
}
|
||||||
if (!m_pKeyence_Laser_LK_H)
|
if (!m_pKeyence_Laser_LK_H)
|
||||||
{
|
{
|
||||||
m_pKeyence_Laser_LK_H=new CKeyence_Laser_LK_H();
|
m_pKeyence_Laser_LK_H=new CKeyence_Laser_LK_H();
|
||||||
@@ -265,6 +303,8 @@ void CSo7_Option::OnBnClickedOk()
|
|||||||
m_pKeyence_Laser_LK_H=NULL;
|
m_pKeyence_Laser_LK_H=NULL;
|
||||||
delete m_pSO7_Proto;
|
delete m_pSO7_Proto;
|
||||||
m_pSO7_Proto=NULL;
|
m_pSO7_Proto=NULL;
|
||||||
|
delete m_pSO7_Proto_Aux;
|
||||||
|
m_pSO7_Proto_Aux = NULL;
|
||||||
}
|
}
|
||||||
else if(((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER_LKH_ETHERNET))->GetCheck())
|
else if(((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER_LKH_ETHERNET))->GetCheck())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,182 @@
|
|||||||
|
// So7_UtilUsbCtlR.cpp : 实现文件
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "So7_UtilUsbCtlR.h"
|
||||||
|
#include "afxdialogex.h"
|
||||||
|
#include "..\..\..\SevenOcean\SO7_Proto_Aux.h"
|
||||||
|
|
||||||
|
extern CSO7_Proto_Aux* m_pSO7_Proto_Aux;
|
||||||
|
extern CLogger* g_pLoggerDebug;
|
||||||
|
|
||||||
|
|
||||||
|
// So7_UtilUsbCtlR 对话框
|
||||||
|
|
||||||
|
IMPLEMENT_DYNAMIC(So7_UtilUsbCtlR, CDialogEx)
|
||||||
|
|
||||||
|
So7_UtilUsbCtlR::So7_UtilUsbCtlR(CWnd* pParent /*=NULL*/)
|
||||||
|
: CDialogEx(So7_UtilUsbCtlR::IDD, pParent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
So7_UtilUsbCtlR::~So7_UtilUsbCtlR()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void So7_UtilUsbCtlR::DoDataExchange(CDataExchange* pDX)
|
||||||
|
{
|
||||||
|
CDialogEx::DoDataExchange(pDX);
|
||||||
|
|
||||||
|
DDX_Text(pDX, IDC_EDIT_R1_TARGET_POSITION, m_R1_Rotary_Edit_Position);
|
||||||
|
DDX_Text(pDX, IDC_EDIT_R2_TARGET_POSITION, m_R2_Rotary_Edit_Position);
|
||||||
|
}
|
||||||
|
|
||||||
|
BEGIN_MESSAGE_MAP(So7_UtilUsbCtlR, CDialogEx)
|
||||||
|
ON_BN_CLICKED(IDCANCEL, &So7_UtilUsbCtlR::OnBnClickedCancel)
|
||||||
|
ON_BN_CLICKED(IDC_BUTTON_START_SO7_R_MACHINE, &So7_UtilUsbCtlR::OnBnClickedButtonStartSo7RMachine)
|
||||||
|
ON_BN_CLICKED(IDC_BUTTON_STOP_SO7_R_MACHINE, &So7_UtilUsbCtlR::OnBnClickedButtonStopSo7RMachine)
|
||||||
|
ON_BN_CLICKED(IDC_BUTTON_R2_GO, &So7_UtilUsbCtlR::OnBnClickedButtonR2Go)
|
||||||
|
ON_BN_CLICKED(IDC_BUTTON_R2_HOME, &So7_UtilUsbCtlR::OnBnClickedButtonR2Home)
|
||||||
|
ON_BN_CLICKED(IDC_CHECK_SO7_R2_ENABLE, &So7_UtilUsbCtlR::OnBnClickedCheckSo7R2Enable)
|
||||||
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
|
||||||
|
// So7_UtilUsbCtlR 消息处理程序
|
||||||
|
|
||||||
|
BOOL So7_UtilUsbCtlR::OnInitDialog()
|
||||||
|
{
|
||||||
|
CDialog::OnInitDialog();
|
||||||
|
|
||||||
|
UpdateCtrlsStatus(FALSE);
|
||||||
|
UpdateR1CtrlsStatus(FALSE);
|
||||||
|
UpdateR2CtrlsStatus(FALSE);
|
||||||
|
//R1 is x motor,is not enabled now.
|
||||||
|
GetDlgItem(IDC_CHECK_SO7_R1_ENABLE)->EnableWindow(FALSE);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
//=====================================================================================
|
||||||
|
void So7_UtilUsbCtlR::OnBnClickedButtonStartSo7RMachine()
|
||||||
|
{
|
||||||
|
if (m_pSO7_Proto_Aux)
|
||||||
|
{
|
||||||
|
m_pSO7_Proto_Aux->Init_SO7Usb();
|
||||||
|
}
|
||||||
|
|
||||||
|
m_pSO7_Proto_Aux->_send_cmd_SO7_CMD_RESET_R(0);
|
||||||
|
|
||||||
|
UpdateCtrlsStatus(TRUE);
|
||||||
|
UpdateR1CtrlsStatus(FALSE);
|
||||||
|
UpdateR2CtrlsStatus(FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
//=====================================================================================
|
||||||
|
void So7_UtilUsbCtlR::UpdateCtrlsStatus(bool _bEnable)
|
||||||
|
{
|
||||||
|
GetDlgItem(IDC_BUTTON_START_SO7_R_MACHINE)->EnableWindow(!_bEnable);
|
||||||
|
GetDlgItem(IDCANCEL)->EnableWindow(!_bEnable);
|
||||||
|
GetDlgItem(IDC_BUTTON_STOP_SO7_R_MACHINE)->EnableWindow(_bEnable);
|
||||||
|
//GetDlgItem(IDC_CHECK_SO7_R1_ENABLE)->EnableWindow(_bEnable);
|
||||||
|
GetDlgItem(IDC_CHECK_SO7_R2_ENABLE)->EnableWindow(_bEnable);
|
||||||
|
}
|
||||||
|
|
||||||
|
//=====================================================================================
|
||||||
|
void So7_UtilUsbCtlR::UpdateR1CtrlsStatus(bool _bEnable)
|
||||||
|
{
|
||||||
|
GetDlgItem(IDC_BUTTON_R1_GO)->EnableWindow(_bEnable);
|
||||||
|
GetDlgItem(IDC_BUTTON_R1_HOME)->EnableWindow(_bEnable);
|
||||||
|
GetDlgItem(IDC_RADIO_R1_RELATIVE)->EnableWindow(_bEnable);
|
||||||
|
GetDlgItem(IDC_RADIO_R1_ABSOLUTE)->EnableWindow(_bEnable);
|
||||||
|
GetDlgItem(IDC_EDIT_R1_CURRENT_POSITION)->EnableWindow(_bEnable);
|
||||||
|
GetDlgItem(IDC_EDIT_R1_TARGET_POSITION)->EnableWindow(_bEnable);
|
||||||
|
}
|
||||||
|
|
||||||
|
//=====================================================================================
|
||||||
|
void So7_UtilUsbCtlR::UpdateR2CtrlsStatus(bool _bEnable)
|
||||||
|
{
|
||||||
|
GetDlgItem(IDC_BUTTON_R2_GO)->EnableWindow(_bEnable);
|
||||||
|
GetDlgItem(IDC_BUTTON_R2_HOME)->EnableWindow(_bEnable);
|
||||||
|
GetDlgItem(IDC_RADIO_R2_RELATIVE)->EnableWindow(_bEnable);
|
||||||
|
GetDlgItem(IDC_RADIO_R2_ABSOLUTE)->EnableWindow(_bEnable);
|
||||||
|
GetDlgItem(IDC_EDIT_R2_CURRENT_POSITION)->EnableWindow(_bEnable);
|
||||||
|
GetDlgItem(IDC_EDIT_R2_TARGET_POSITION)->EnableWindow(_bEnable);
|
||||||
|
((CButton *)GetDlgItem(IDC_RADIO_R2_RELATIVE))->SetCheck(_bEnable);
|
||||||
|
}
|
||||||
|
|
||||||
|
//=====================================================================================
|
||||||
|
void So7_UtilUsbCtlR::OnBnClickedButtonStopSo7RMachine()
|
||||||
|
{
|
||||||
|
UpdateCtrlsStatus(FALSE);
|
||||||
|
((CButton *)GetDlgItem(IDC_CHECK_SO7_R1_ENABLE))->SetCheck(0);
|
||||||
|
((CButton *)GetDlgItem(IDC_CHECK_SO7_R2_ENABLE))->SetCheck(0);
|
||||||
|
UpdateR1CtrlsStatus(FALSE);
|
||||||
|
UpdateR2CtrlsStatus(FALSE);
|
||||||
|
m_pSO7_Proto_Aux->Exit_SO7Usb();
|
||||||
|
}
|
||||||
|
|
||||||
|
//=====================================================================================
|
||||||
|
void So7_UtilUsbCtlR::OnBnClickedCancel()
|
||||||
|
{
|
||||||
|
CDialogEx::OnCancel();
|
||||||
|
}
|
||||||
|
|
||||||
|
//=====================================================================================
|
||||||
|
//*************************************************************************************
|
||||||
|
//=====================================================================================
|
||||||
|
void So7_UtilUsbCtlR::OnBnClickedCheckSo7R2Enable()
|
||||||
|
{
|
||||||
|
if (((CButton *)GetDlgItem(IDC_CHECK_SO7_R2_ENABLE))->GetCheck())
|
||||||
|
{
|
||||||
|
UpdateR2CtrlsStatus(TRUE);
|
||||||
|
m_pSO7_Proto_Aux->_send_cmd_SO7_CMD_MOVE_R(TYPER2, 360);
|
||||||
|
Sleep(4000);
|
||||||
|
CString csPosition;
|
||||||
|
csPosition.Format(_T("%8ld"),(m_pSO7_Proto_Aux->GetRCurrentPosition(TYPER2)));
|
||||||
|
GetDlgItem(IDC_EDIT_R2_CURRENT_POSITION)->SetWindowText(csPosition);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UpdateR2CtrlsStatus(FALSE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//=====================================================================================
|
||||||
|
void So7_UtilUsbCtlR::OnBnClickedButtonR2Home()
|
||||||
|
{
|
||||||
|
int iHomeAngle = -1;
|
||||||
|
iHomeAngle = 360 - m_pSO7_Proto_Aux->GetRCurrentPosition(TYPER2);
|
||||||
|
if(iHomeAngle != 0 && iHomeAngle != 360)
|
||||||
|
{
|
||||||
|
m_pSO7_Proto_Aux->_send_cmd_SO7_CMD_MOVE_R(TYPER2, iHomeAngle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//=====================================================================================
|
||||||
|
void So7_UtilUsbCtlR::OnBnClickedButtonR2Go()
|
||||||
|
{
|
||||||
|
UpdateData(TRUE);
|
||||||
|
USES_CONVERSION;
|
||||||
|
|
||||||
|
const char* cR2_Move_to_Rotary = T2A(m_R2_Rotary_Edit_Position);
|
||||||
|
int iAngle = atoi(cR2_Move_to_Rotary);
|
||||||
|
if (((CButton *)GetDlgItem(IDC_RADIO_R2_RELATIVE))->GetCheck())
|
||||||
|
{
|
||||||
|
m_pSO7_Proto_Aux->_send_cmd_SO7_CMD_MOVE_R(TYPER2, iAngle);
|
||||||
|
}
|
||||||
|
else if(((CButton *)GetDlgItem(IDC_RADIO_R2_ABSOLUTE))->GetCheck())
|
||||||
|
{
|
||||||
|
int iCurrentAngle = -1;
|
||||||
|
iCurrentAngle = m_pSO7_Proto_Aux->GetRCurrentPosition(TYPER2);
|
||||||
|
if(iAngle > iCurrentAngle)
|
||||||
|
{
|
||||||
|
iAngle = iAngle - iCurrentAngle;
|
||||||
|
m_pSO7_Proto_Aux->_send_cmd_SO7_CMD_MOVE_R(TYPER2, iAngle);
|
||||||
|
}
|
||||||
|
else if(iAngle < iCurrentAngle)
|
||||||
|
{
|
||||||
|
iAngle = 360 - iCurrentAngle + iAngle;
|
||||||
|
m_pSO7_Proto_Aux->_send_cmd_SO7_CMD_MOVE_R(TYPER2, iAngle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "resource.h"
|
||||||
|
|
||||||
|
|
||||||
|
// So7_UtilUsbCtlR 对话框
|
||||||
|
|
||||||
|
class So7_UtilUsbCtlR : public CDialogEx
|
||||||
|
{
|
||||||
|
DECLARE_DYNAMIC(So7_UtilUsbCtlR)
|
||||||
|
|
||||||
|
public:
|
||||||
|
So7_UtilUsbCtlR(CWnd* pParent = NULL); // 标准构造函数
|
||||||
|
virtual ~So7_UtilUsbCtlR();
|
||||||
|
|
||||||
|
// 对话框数据
|
||||||
|
enum { IDD = IDD_SO7_UTIL_USBCTLR };
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||||
|
|
||||||
|
DECLARE_MESSAGE_MAP()
|
||||||
|
|
||||||
|
virtual BOOL OnInitDialog();
|
||||||
|
void UpdateCtrlsStatus(bool _bEnable);
|
||||||
|
void UpdateR1CtrlsStatus(bool _bEnable);
|
||||||
|
void UpdateR2CtrlsStatus(bool _bEnable);
|
||||||
|
public:
|
||||||
|
CString m_OutMessage;
|
||||||
|
CString m_R1_Rotary_Edit_Position;
|
||||||
|
CString m_R2_Rotary_Edit_Position;
|
||||||
|
|
||||||
|
afx_msg void OnBnClickedButtonStartSo7RMachine();
|
||||||
|
afx_msg void OnBnClickedButtonStopSo7RMachine();
|
||||||
|
afx_msg void OnBnClickedCancel();
|
||||||
|
afx_msg void OnBnClickedCheckSo7R2Enable();
|
||||||
|
afx_msg void OnBnClickedButtonR2Go();
|
||||||
|
afx_msg void OnBnClickedButtonR2Home();
|
||||||
|
};
|
||||||
@@ -321,6 +321,7 @@
|
|||||||
<ClCompile Include="..\..\..\SevenOcean\Serial.cpp" />
|
<ClCompile Include="..\..\..\SevenOcean\Serial.cpp" />
|
||||||
<ClCompile Include="..\..\..\SevenOcean\So7_Interface.cpp" />
|
<ClCompile Include="..\..\..\SevenOcean\So7_Interface.cpp" />
|
||||||
<ClCompile Include="..\..\..\SevenOcean\SO7_Proto.cpp" />
|
<ClCompile Include="..\..\..\SevenOcean\SO7_Proto.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\SevenOcean\SO7_Proto_Aux.cpp" />
|
||||||
<ClCompile Include="..\..\..\Tesa\TesaStarE.cpp" />
|
<ClCompile Include="..\..\..\Tesa\TesaStarE.cpp" />
|
||||||
<ClCompile Include="..\LOGGER.CPP" />
|
<ClCompile Include="..\LOGGER.CPP" />
|
||||||
<ClCompile Include="..\Proto_Util.cpp" />
|
<ClCompile Include="..\Proto_Util.cpp" />
|
||||||
@@ -358,6 +359,7 @@
|
|||||||
<ClCompile Include="So7_Option.cpp" />
|
<ClCompile Include="So7_Option.cpp" />
|
||||||
<ClCompile Include="SO7_Send_Parameter.cpp" />
|
<ClCompile Include="SO7_Send_Parameter.cpp" />
|
||||||
<ClCompile Include="SO7_UtilDlg.cpp" />
|
<ClCompile Include="SO7_UtilDlg.cpp" />
|
||||||
|
<ClCompile Include="So7_UtilUsbCtlR.cpp" />
|
||||||
<ClCompile Include="So7_Util_ImageDll.cpp" />
|
<ClCompile Include="So7_Util_ImageDll.cpp" />
|
||||||
<ClCompile Include="So7_Util_Program.cpp" />
|
<ClCompile Include="So7_Util_Program.cpp" />
|
||||||
<ClCompile Include="SO7_Verfication_Algorithm.cpp" />
|
<ClCompile Include="SO7_Verfication_Algorithm.cpp" />
|
||||||
@@ -402,6 +404,7 @@
|
|||||||
<ClInclude Include="..\..\..\SevenOcean\Serial.h" />
|
<ClInclude Include="..\..\..\SevenOcean\Serial.h" />
|
||||||
<ClInclude Include="..\..\..\SevenOcean\So7_Interface.h" />
|
<ClInclude Include="..\..\..\SevenOcean\So7_Interface.h" />
|
||||||
<ClInclude Include="..\..\..\SevenOcean\SO7_Proto.h" />
|
<ClInclude Include="..\..\..\SevenOcean\SO7_Proto.h" />
|
||||||
|
<ClInclude Include="..\..\..\SevenOcean\SO7_Proto_Aux.h" />
|
||||||
<ClInclude Include="..\..\..\Tesa\TesaStarE.h" />
|
<ClInclude Include="..\..\..\Tesa\TesaStarE.h" />
|
||||||
<ClInclude Include="..\..\..\Videocard\SDK3000\sdk3000_7130.h" />
|
<ClInclude Include="..\..\..\Videocard\SDK3000\sdk3000_7130.h" />
|
||||||
<ClInclude Include="..\Proto_Util.h" />
|
<ClInclude Include="..\Proto_Util.h" />
|
||||||
@@ -440,6 +443,7 @@
|
|||||||
<ClInclude Include="So7_Option.h" />
|
<ClInclude Include="So7_Option.h" />
|
||||||
<ClInclude Include="SO7_Send_Parameter.h" />
|
<ClInclude Include="SO7_Send_Parameter.h" />
|
||||||
<ClInclude Include="SO7_UtilDlg.h" />
|
<ClInclude Include="SO7_UtilDlg.h" />
|
||||||
|
<ClInclude Include="So7_UtilUsbCtlR.h" />
|
||||||
<ClInclude Include="So7_Util_ImageDll.h" />
|
<ClInclude Include="So7_Util_ImageDll.h" />
|
||||||
<ClInclude Include="So7_Util_Program.h" />
|
<ClInclude Include="So7_Util_Program.h" />
|
||||||
<ClInclude Include="SO7_Verfication_Algorithm.h" />
|
<ClInclude Include="SO7_Verfication_Algorithm.h" />
|
||||||
|
|||||||
@@ -196,6 +196,10 @@
|
|||||||
<ClCompile Include="So7_XBoxController.cpp">
|
<ClCompile Include="So7_XBoxController.cpp">
|
||||||
<Filter>Sources Files</Filter>
|
<Filter>Sources Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="So7_UtilUsbCtlR.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\SevenOcean\SO7_Proto_Aux.cpp">
|
||||||
|
<Filter>Sources Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="CaptureDataDlg.h">
|
<ClInclude Include="CaptureDataDlg.h">
|
||||||
@@ -426,6 +430,10 @@
|
|||||||
<ClInclude Include="So7_XBoxController.h">
|
<ClInclude Include="So7_XBoxController.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="So7_UtilUsbCtlR.h" />
|
||||||
|
<ClInclude Include="..\..\..\SevenOcean\SO7_Proto_Aux.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="ReadMe.txt" />
|
<None Include="ReadMe.txt" />
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
#define IDC_BUTTON_INIT_MVUSB 146
|
#define IDC_BUTTON_INIT_MVUSB 146
|
||||||
#define IDD_DIALOG_TESA_STAR_E 188
|
#define IDD_DIALOG_TESA_STAR_E 188
|
||||||
#define IDD_DIALOG_KEYENCE_LKG5000_ETHERNET 190
|
#define IDD_DIALOG_KEYENCE_LKG5000_ETHERNET 190
|
||||||
|
#define IDD_SO7_UTIL_USBCTLR 191
|
||||||
#define IDC_BUTTON_START_MACHINE 1000
|
#define IDC_BUTTON_START_MACHINE 1000
|
||||||
#define IDC_BUTTON_START_MACHINE3 1001
|
#define IDC_BUTTON_START_MACHINE3 1001
|
||||||
#define IDC_BUTTON_START_POLL_58 1002
|
#define IDC_BUTTON_START_POLL_58 1002
|
||||||
@@ -332,6 +333,7 @@
|
|||||||
#define IDC_RADIO_SELECT_Z 1264
|
#define IDC_RADIO_SELECT_Z 1264
|
||||||
#define IDC_BUTTON_SO7_GET_SEQ_NUMBER 1265
|
#define IDC_BUTTON_SO7_GET_SEQ_NUMBER 1265
|
||||||
#define IDC_BUTTON_SO7_SET_SEQ_NUMBER 1266
|
#define IDC_BUTTON_SO7_SET_SEQ_NUMBER 1266
|
||||||
|
#define IDC_BUTTON_SO7_SET_SEQ_NUMBER2 1267
|
||||||
#define IDC_BUTTON_SO7_SET_VER_NUMBER 1267
|
#define IDC_BUTTON_SO7_SET_VER_NUMBER 1267
|
||||||
#define IDC_BUTTON_SET_OUT_PORT 1269
|
#define IDC_BUTTON_SET_OUT_PORT 1269
|
||||||
#define IDC_EDIT_SET_VER_NO 1271
|
#define IDC_EDIT_SET_VER_NO 1271
|
||||||
@@ -666,6 +668,7 @@
|
|||||||
#define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_HLASER 1553
|
#define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_HLASER 1553
|
||||||
#define IDC_RADIO_CONTROLLER 1554
|
#define IDC_RADIO_CONTROLLER 1554
|
||||||
#define IDC_BUTTON_DO_MEASURE 1555
|
#define IDC_BUTTON_DO_MEASURE 1555
|
||||||
|
#define IDC_RADIO_CONTROLLER2 1555
|
||||||
#define IDC_BUTTON_INIT_PROGRAM 1556
|
#define IDC_BUTTON_INIT_PROGRAM 1556
|
||||||
#define IDC_RADIO_VIDEOCARD_SV2000E 1557
|
#define IDC_RADIO_VIDEOCARD_SV2000E 1557
|
||||||
#define IDC_BUTTON_SETTINGS 1558
|
#define IDC_BUTTON_SETTINGS 1558
|
||||||
@@ -702,8 +705,14 @@
|
|||||||
#define IDC_BUTTON_INIT_SCAN_KEYENCE_LK_GLASER 1586
|
#define IDC_BUTTON_INIT_SCAN_KEYENCE_LK_GLASER 1586
|
||||||
#define IDC_BUTTON_GO 1586
|
#define IDC_BUTTON_GO 1586
|
||||||
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STORAGEDATA1 1586
|
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STORAGEDATA1 1586
|
||||||
|
#define IDC_BUTTON_HOME2 1586
|
||||||
|
#define IDC_BUTTON_R2_HOME 1586
|
||||||
#define IDC_EDIT_MEASURE_VALUE 1587
|
#define IDC_EDIT_MEASURE_VALUE 1587
|
||||||
|
#define IDC_BUTTON_GO2 1587
|
||||||
|
#define IDC_BUTTON_R1_GO 1587
|
||||||
#define IDC_RADIO_OUT_EXTRACT 1588
|
#define IDC_RADIO_OUT_EXTRACT 1588
|
||||||
|
#define IDC_BUTTON_GO3 1588
|
||||||
|
#define IDC_BUTTON_R2_GO 1588
|
||||||
#define IDC_RADIO_KEYENCE_LASER 1589
|
#define IDC_RADIO_KEYENCE_LASER 1589
|
||||||
#define IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_GLASER 1590
|
#define IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_GLASER 1590
|
||||||
#define IDC_EDIT_TEST_KEYENCE_MESSAGE 1591
|
#define IDC_EDIT_TEST_KEYENCE_MESSAGE 1591
|
||||||
@@ -717,6 +726,7 @@
|
|||||||
#define IDC_RADIO_KEYENCE_LASER_LKH_ETHERNET 1596
|
#define IDC_RADIO_KEYENCE_LASER_LKH_ETHERNET 1596
|
||||||
#define IDC_BUTTON_TEST_KEYENCE_SAVE_LOG 1597
|
#define IDC_BUTTON_TEST_KEYENCE_SAVE_LOG 1597
|
||||||
#define IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA 1598
|
#define IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA 1598
|
||||||
|
#define IDC_RADIO_TEST_IMAGE_DLL3 1598
|
||||||
#define IDC_BUTTON_SO7_CNC_PROGRAM 1599
|
#define IDC_BUTTON_SO7_CNC_PROGRAM 1599
|
||||||
#define IDC_BUTTON_PROGRAM_SET_ZERO_Z 1600
|
#define IDC_BUTTON_PROGRAM_SET_ZERO_Z 1600
|
||||||
#define IDC_BUTTON_IMAGEDLL_STOP_SCAN_LASER 1601
|
#define IDC_BUTTON_IMAGEDLL_STOP_SCAN_LASER 1601
|
||||||
@@ -909,6 +919,8 @@
|
|||||||
#define IDC_CHECK_SO7_TOP_LIGHT_ON 1819
|
#define IDC_CHECK_SO7_TOP_LIGHT_ON 1819
|
||||||
#define IDC_LIST_SO7_MOTION_CONFIG 1820
|
#define IDC_LIST_SO7_MOTION_CONFIG 1820
|
||||||
#define IDC_CHECK_SO7_BOTTOM_LIGHT_ON 1820
|
#define IDC_CHECK_SO7_BOTTOM_LIGHT_ON 1820
|
||||||
|
#define IDC_CHECK_SO7_TOP_LIGHT_ON2 1820
|
||||||
|
#define IDC_CHECK_SO7_R2_ENABLE 1820
|
||||||
#define IDC_EDIT_SO7_MOTION_CONFIG_MSGOUT 1821
|
#define IDC_EDIT_SO7_MOTION_CONFIG_MSGOUT 1821
|
||||||
#define IDC_CHECK_SO7_RING_LIGHT_ON 1821
|
#define IDC_CHECK_SO7_RING_LIGHT_ON 1821
|
||||||
#define IDC_EDIT_SO7_PROGEAM_INTERCAL_TIME_PER_CNC 1822
|
#define IDC_EDIT_SO7_PROGEAM_INTERCAL_TIME_PER_CNC 1822
|
||||||
@@ -916,14 +928,25 @@
|
|||||||
#define IDC_CHECK_SO7_RING_LIGHT_SEG_ON2 1823
|
#define IDC_CHECK_SO7_RING_LIGHT_SEG_ON2 1823
|
||||||
#define IDC_EDIT_POSITION 1824
|
#define IDC_EDIT_POSITION 1824
|
||||||
#define IDC_RADIO_RELATIVE 1825
|
#define IDC_RADIO_RELATIVE 1825
|
||||||
|
#define IDC_EDIT_POSITION2 1825
|
||||||
|
#define IDC_EDIT_R1_TARGET_POSITION 1825
|
||||||
#define IDC_RADIO_ABS 1826
|
#define IDC_RADIO_ABS 1826
|
||||||
#define IDC_RADIO_ABSOLUTE 1826
|
#define IDC_RADIO_ABSOLUTE 1826
|
||||||
|
#define IDC_EDIT_POSITION3 1826
|
||||||
|
#define IDC_EDIT_R2_CURRENT_POSITION 1826
|
||||||
#define IDC_KEYENCE_LKG5000_IPADDRESS1 1827
|
#define IDC_KEYENCE_LKG5000_IPADDRESS1 1827
|
||||||
#define IDC_CHECK_SO7_COAXIAL_LIGHT_ON 1827
|
#define IDC_CHECK_SO7_COAXIAL_LIGHT_ON 1827
|
||||||
|
#define IDC_EDIT_POSITION4 1827
|
||||||
|
#define IDC_EDIT_R2_TARGET_POSITION 1827
|
||||||
#define IDC_KEYENCE_LKG5000_IPADDRESS2 1828
|
#define IDC_KEYENCE_LKG5000_IPADDRESS2 1828
|
||||||
#define IDC_CHECK_SO7_SPARE_LIGHT_ON 1828
|
#define IDC_CHECK_SO7_SPARE_LIGHT_ON 1828
|
||||||
|
#define IDC_RADIO_R1_RELATIVE 1828
|
||||||
|
#define IDC_RADIO_R1_ABSOLUTE 1829
|
||||||
#define IDC_EDIT_KEYENCE_LKG5000_MSG 1830
|
#define IDC_EDIT_KEYENCE_LKG5000_MSG 1830
|
||||||
|
#define IDC_RADIO_R2_RELATIVE 1830
|
||||||
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_START_SCAN 1831
|
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_START_SCAN 1831
|
||||||
|
#define IDC_RADIO_ABSOLUTE3 1831
|
||||||
|
#define IDC_RADIO_R2_ABSOLUTE 1831
|
||||||
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STOP_SCAN 1832
|
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STOP_SCAN 1832
|
||||||
#define IDC_RADIO_SO7_MOVE_SPEED_GEAR1 1832
|
#define IDC_RADIO_SO7_MOVE_SPEED_GEAR1 1832
|
||||||
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_START_SCAN2 1833
|
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_START_SCAN2 1833
|
||||||
@@ -938,6 +961,12 @@
|
|||||||
#define IDC_STATIC_IO_ADDR4 1840
|
#define IDC_STATIC_IO_ADDR4 1840
|
||||||
#define IDC_STATIC_IO_ADDR5 1841
|
#define IDC_STATIC_IO_ADDR5 1841
|
||||||
#define IDC_STATIC_IO_ADDR6 1842
|
#define IDC_STATIC_IO_ADDR6 1842
|
||||||
|
#define IDC_BUTTON_START_SO7_R_MACHINE 1843
|
||||||
|
#define IDC_BUTTON_STOP_SO7_R_MACHINE 1844
|
||||||
|
#define IDC_BUTTON_R1_HOME 1845
|
||||||
|
#define IDC_CHECK_SO7_R1_ENABLE 1846
|
||||||
|
#define IDC_EDIT_R1_CURRENT_POSITION 1847
|
||||||
|
|
||||||
#define IDC_BUTTON_DIY_EXIT_BUTTON 32740
|
#define IDC_BUTTON_DIY_EXIT_BUTTON 32740
|
||||||
#define ID_EDIT_SO7_CONFIG_MOTION 32741
|
#define ID_EDIT_SO7_CONFIG_MOTION 32741
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user