1、合并master与2021.1

This commit is contained in:
xiejunjie
2021-12-03 11:25:35 +08:00
parent dc07b8879b
commit 4bd7d1b80b
981 changed files with 384342 additions and 6470 deletions
+59 -46
View File
@@ -1,46 +1,59 @@
syntax: glob
*.~h
*.~CPP
*.sdf
*.dll
*.aps
*.pch
*.ilk
*.pdb
*.exe
*.obj
*.jpg
*.~*
*.orig
PcDmis/Base/Interfac/Msi/Hsi/MicroVu/Win32/Release
PcDmis/Base/Interfac/Msi/Hsi/MicroVu/Win32/Debug
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Debug
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Release
PcDmis/UsbSupport/libusb-win32-src-1.2.4.0/projects/Win32
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/LITE/Utility_Lite/Debug/
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/LITE/Utility_Lite/Release
*.lnk
*.bak
*.ORIG
*.log
*.txt
*.db
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Release/
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ReleaseSO7/
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ReleaseSO7/
PcDmis/Base/Interfac/Msi/Hsi/KeyenceTM065/LKIF_Multi_USÓ¢ÕZ°æ
PcDmis/Base/Interfac/Msi/Hsi/KeyenceTM065/LK-GͨÐÅÓÃDLL-20090427
*.ipch
*.opensdf
*.tmp
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/Debug
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/Release
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Debug
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Release
PcDmis/Base/Interfac/Msi/Hsi/Videocard/TC4000/V6.0
PcDmis/Base/Interfac/Msi/Hsi/Videocard/TC4000/V7.5
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ConsoleTestDll/bin
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ConsoleTestDll/obj
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DebugS07/
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/DebugS07/
*.~h
*.~CPP
*.sdf
*.dll
*.aps
*.pch
*.ilk
*.pdb
*.exe
*.obj
*.jpg
*.~*
*.orig
PcDmis/Base/Interfac/Msi/Hsi/MicroVu/Win32/Release
PcDmis/Base/Interfac/Msi/Hsi/MicroVu/Win32/Debug
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Debug
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Release
PcDmis/UsbSupport/libusb-win32-src-1.2.4.0/projects/Win32
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/LITE/Utility_Lite/Debug/
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/LITE/Utility_Lite/Release
*.lnk
*.bak
*.ORIG
*.log
*.txt
*.db
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Release/
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ReleaseSO7/
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ReleaseSO7/
PcDmis/Base/Interfac/Msi/Hsi/KeyenceTM065/LKIF_Multi_USӢZ
PcDmis/Base/Interfac/Msi/Hsi/KeyenceTM065/LK-GͨDLL-20090427
*.ipch
*.opensdf
*.tmp
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/Debug
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/Release
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Debug
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Release
PcDmis/Base/Interfac/Msi/Hsi/Videocard/TC4000/V6.0
PcDmis/Base/Interfac/Msi/Hsi/Videocard/TC4000/V7.5
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ConsoleTestDll/bin
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/ConsoleTestDll/obj
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/DebugS07/
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/DebugS07/
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/RobotControlDll/Debug
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/RobotDll/Debug
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/RobotDll/Release
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/RobotControlDll/Release/
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/RS232_DLL/Debug
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/RS232_DLL/Release/
*/Debug/*
*/Release/*
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Utility_Config.ini
PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UtilityDebug.Log
*.suo
PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/UtilityForSo7Light/Debug/
PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/UtilityForSo7Light/UtilityForSo7Light/Debug/
*.opendb
@@ -118,9 +118,9 @@ BOOL CART_PCI8622::SetSamplePara(int _Mode,int _ReadDataSize)
m_ADPara.ADMode = PCI8622_ADMODE_GROUP; // AD模式为连续模式
m_ADPara.FirstChannel = m_iFirstChannel; // 首通道
m_ADPara.LastChannel = m_iLastChannel; // 末通道
m_ADPara.Frequency = 10000; // 采样频率(Hz)
m_ADPara.Frequency = 250000; // 采样频率(Hz)
m_ADPara.GroupInterval = 50; // 组间间隔(uS)
m_ADPara.LoopsOfGroup = 1; // 组内各通道点数
m_ADPara.LoopsOfGroup = 10; // 组内各通道点数
m_ADPara.Gains = PCI8622_GAINS_1MULT;
m_ADPara.InputRange = m_InputRange; // 模拟量输入量程范围
@@ -395,8 +395,16 @@ BOOL CART_PCI8622::GetData(double (*_Data)[HALF_SIZE_WORDS],int* _DataNumber)
break;
}
m_SegmentID=0;
LONG nReadSizeWords = m_iReadDataSize;
LONG nReadSizeWords = (m_iReadDataSize+1)*(1+m_iLastChannel-m_iFirstChannel)*10;
LONG nRetSizeWords(0);
//if (ADStatus.nRemainWords<nReadSizeWords)
//{
// nReadSizeWords=ADStatus.nRemainWords;
// rStatus=FALSE;
//}
PCI8622_ReadDeviceProAD_Npt(m_hDevice, ADBuffer[m_SegmentID], nReadSizeWords, &nRetSizeWords);
if(!PCI8622_GetDevStatusProAD(m_hDevice, &ADStatus))
+587
View File
@@ -0,0 +1,587 @@
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using HSI_Sevenocean_EF1_WPFTest.Properties;
namespace HSI_Sevenocean_EF1_WPFTest.HSI
{
internal class Interface
{
// >>>> In Interfaces
public delegate void PEventCallback(
Def.HSI_EVENT_TYPE eventType, Def.HSI_EVENT_RESPONSE_TYPE responseType, uint eventId, string eventData,
ref uint eventCallbackId);
public static PEventCallback HsiCallback;
[DllImport("HSI.dll", EntryPoint = "HSI_GET_INTERFACE_VERSION", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS GetInterfaceVersion(ref uint apiVersionMajor, ref uint apiVersionMinor);
[DllImport("HSI.dll", EntryPoint = "HSI_STARTUP", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS Startup(IntPtr hWnd, bool bOfflineOnly);
[DllImport("HSI.dll", EntryPoint = "HSI_GET_INTERFACE_VERSION", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS GetInterfaceVersion();
[DllImport("HSI.dll", EntryPoint = "HSI_GET_MACHINE_INFO", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS GetMachineInfo(ref int numMachineTypes);
[DllImport("HSI.dll", EntryPoint = "HSI_SET_EVENT_CALLBACK", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS SetEventCallback(PEventCallback pCallback);
[DllImport("HSI.dll", EntryPoint = "HSI_SHUTDOWM", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS Shutdown();
// <<<< Out Interfacess
public static void EventCallback(Def.HSI_EVENT_TYPE eventType, Def.HSI_EVENT_RESPONSE_TYPE responseType,
uint eventId, string eventData, ref uint eventCallbackId)
{
var msgBtn = MessageBoxButtons.OK;
switch (responseType)
{
case Def.HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_RESPONSE_OK:
msgBtn = MessageBoxButtons.OK;
break;
case Def.HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_RESPONSE_RETRY:
msgBtn = MessageBoxButtons.RetryCancel;
break;
case Def.HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_RESPONSE_CANCEL:
msgBtn = MessageBoxButtons.OKCancel;
break;
case Def.HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_RESPONSE_YES:
msgBtn = MessageBoxButtons.YesNo;
break;
}
switch (eventType)
{
case Def.HSI_EVENT_TYPE.HSI_EVENT_NONE:
break;
case Def.HSI_EVENT_TYPE.HSI_EVENT_ERROR:
break;
case Def.HSI_EVENT_TYPE.HSI_EVENT_FUNCTION:
var eventFunctionId = (Def.HSI_EVENT_FUNCTION_ID) eventId;
switch (eventFunctionId)
{
case Def.HSI_EVENT_FUNCTION_ID.HSI_EVENT_MOTION_DCC_HOME:
{
System.Windows.Forms.MessageBox.Show(Resources.Interface_Tips_Home_Machine, Resources.Interface_Tips,
msgBtn, MessageBoxIcon.Information);
break;
}
case Def.HSI_EVENT_FUNCTION_ID.HSI_EVENT_DEBUG_LOG:
{
System.Windows.Forms.MessageBox.Show(eventData, Resources.Interface_Tips,
msgBtn, MessageBoxIcon.Information);
break;
}
case Def.HSI_EVENT_FUNCTION_ID.HSI_EVENT_MOVE_POINT:
{
System.Windows.Forms.MessageBox.Show(Resources.Interface_Tips_Motion_Finished, Resources.Interface_Tips,
msgBtn, MessageBoxIcon.Information);
; //Motion completed
break;
}
}
break;
}
}
}
internal class Motion
{
// >>>> In Interfaces
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS IsSupported(ref uint types);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_STARTUP", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS Startup(bool bHome);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_HOMED", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS IsHomed(ref bool bHomed);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_SPEED_XYZ", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS GetSpeedXyz(ref double speed);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_SPEED_XYZ", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS SetSpeedXyz(double speed);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_SPEED_R", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS GetSpeedR(ref double speed);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_SPEED_R", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS SetSpeedR(double speed);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_SCALE_RESOLUTION", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS GetScaleResolution(
ref double scaleX, ref double scaleY, ref double scaleZ);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_SCALE_RESOLUTION", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS SetScaleResolution(double scaleX, double scaleY, double scaleZ);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_DEADBAND", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS GetDeadBand(
ref double deadbandX, ref double deadbandY, ref double deadbandZ, ref double deadbandR);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_REFRESH_DEADBAND", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS GetRefreshDeadBand(ref double deadband);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_JOG", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS Jog(uint axisTypes, double speed);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_STOP_JOG", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS StopJog();
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_POSITION_XYZ", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS GetPositionXyz(
uint axisTypes, ref double positionX, ref double positionY, ref double positionZ, ref double time);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_POSITION_XYZ", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS SetPositionXyz(
uint axisTypes, double positionX, double positionY, double positionZ, Def.HSI_MOTION_MOVE_TYPE eType,
double dFlyRadius);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_POSITION_R", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS GetPositionR(uint axisTypes, ref double positionR, ref double time);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_POSITION_R", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS SetPositionR(
uint axisTypes, double positionR, Def.HSI_MOTION_AXIS_R_MOVE_TYPE directionType, bool bWait);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_ABORT_MOTION", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS AbortMotion();
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_GET_DIO", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS GetDIO(uint ioChannel, ref uint status);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SET_DIO", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS SetDIO(uint ioChannel, uint status);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_SHUTDOWN", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS Shutdown();
// <<<< Out Interfaces
public Motion()
{
_supported = 0;
_bFirst = true;
}
public static bool IsActive(bool bForce = false)
{
if (_bFirst || bForce)
{
IsSupported(ref _supported);
_bFirst = false;
}
return (_supported != 0);
}
private static bool _bFirst;
private static uint _supported;
}
internal class Illumination
{
// >>>> In Interfaces
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS IsSupported(ref uint types);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS HSI_ILLUMINATION_STARTUP();
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS HSI_ILLUMINATION_GET_LAMP_COUNT(ref int nLamps);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS HSI_ILLUMINATION_GET_LAMP_INFO(ref int lampInfo, ref int numLamps,
int[] lampsType,
int[] numRings, int[] numSectors, int[] color, double[] angle, ref bool bCanBeCalibrated);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS HSI_ILLUMINATION_GET_LAMP_STATE(
int nLamp, bool[] bBulbStates, double[] intensities, ref int color, ref double angle);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS HSI_ILLUMINATION_SET_LAMP_STATE(
int nLamp, bool[] bBulbStates, double[] intensities, int color, double angle, bool bWait);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS HSI_ILLUMINATION_GET_LAMP_STATE_ALL(
int lampInfo, int numLamps, int[] lampsType, int[,] bBulbStates, double[,] intensities);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS HSI_ILLUMINATION_SET_LAMP_STATE_ALL(
int lampInfo, int numLamps, int[] lampsType, int[,] bBulbStates, double[,] intensities, bool bWait);
[DllImport("HSI.dll", EntryPoint = "HSI_MOTION_IS_SUPPORTED", CharSet = CharSet.Unicode)]
public static extern Def.HSI_STATUS HSI_ILLUMINATION_SHUTDOWN();
// <<<< Out Interfaces
public Illumination()
{
_supported = 0;
_bFirst = true;
}
public static bool IsActive(bool bForce = false)
{
if (_bFirst || bForce)
{
IsSupported(ref _supported);
_bFirst = false;
}
return (_supported != 0);
}
private static bool _bFirst;
private static uint _supported;
}
internal class Def
{
public const int HSI_APIVersionMajor = 1;
public const int HSI_APIVersionMinor = 3;
public const int HSI_MaxStringLength = 255; // Maximum string length (buffer size - 1)
///////////////////////////////////////////////////////////////////////////////
// Interface API
///////////////////////////////////////////////////////////////////////////////
public enum HSI_STATUS
{
HSI_STATUS_NOT_SUPPORTED = -1,
HSI_STATUS_NORMAL = 0,
HSI_STATUS_FAILED,
HSI_FAILED_DLL_LOAD,
HSI_STATUS_PORTLOCK_HSI_MISMATCH,
HSI_STATUS_FILE_NOT_FOUND,
HSI_STATUS_HARDWARE_NOT_FOUND,
HSI_STATUS_INVALID_PARAMETERS,
HSI_STATUS_INVALID_POINTS,
HSI_STATUS_PART_NOT_DETECTED,
HSI_STATUS_MEASURE_ERROR,
HSI_STATUS_TEMPERATURE_ERROR,
HSI_STATUS_ILLUMINATION_COMM = 50,
HSI_STATUS_OPTICS_COMM = 100,
HSI_STATUS_OPTICS_HOMING,
HSI_STATUS_OPTICS_TIMEOUT,
HSI_STATUS_OPTICS_CALIBRATIONDATA,
HSI_STATUS_OPTICS_CALIBRATIONDATADEFAULT,
HSI_STATUS_OPTICS_CALFILEDATACOUNTMISMATCH,
HSI_STATUS_MOTION_COMM = 150,
HSI_STATUS_MOTION_HOMING,
HSI_STATUS_MOTION_TIMEOUT,
HSI_STATUS_MOTION_EMERGENCY_STOP,
HSI_STATUS_MOTION_EXCEED_LIMIT,
HSI_STATUS_MOTION_UNKNOWN_ERROR,
HSI_STATUS_MOTION_EXCEED_SW_LIMIT,
HSI_STATUS_MOTION_POSITION_ERROR,
HSI_STATUS_MOTION_MOVING,
HSI_STATUS_TP_UNEXPECTED_HIT = 200,
HSI_STATUS_TP_TIMEOUT = 201,
HSI_STATUS_TP_APPROACH_TIMEOUT = 202,
HSI_STATUS_TP_WRIST_ERROR,
HSI_STATUS_FG_COMM = 250,
HSI_STATUS_FG_TIMEOUT,
HSI_STATUS_FG_DIRECTX,
HSI_STATUS_FG_COLORDEPTH,
HSI_STATUS_LP_TIMEOUT = 300,
HSI_STATUS_LP_EXCEED_LIMIT = 301,
HSI_STATUS_VP_TIMEOUT = 350,
HSI_STATUS_VP_IMAGEPROCESS_FAIL
};
public enum HSI_MACHINE_TYPE
{
HSI_MACHINE_UNKNOWN = 0,
HSI_MACHINE_SO7 = 1,
HSI_MACHINE_TYPE_TOTAL,
};
public enum HSI_EVENT_TYPE
{
HSI_EVENT_NONE = 0,
HSI_EVENT_ERROR = 1,
HSI_EVENT_FUNCTION = 2
};
public enum HSI_EVENT_FUNCTION_ID //EventData
{
//SendReceive
// V4.2 & V4.3 +
HSI_EVENT_DONE = 0, //N/A N/A
HSI_EVENT_TAKE_HIT = 1, //N/A N/A
HSI_EVENT_ERASE_HIT = 2, //N/AN/A
HSI_EVENT_TIME_CRITICAL = 3, //"ON", or "OFF" N/A
HSI_EVENT_ZOOM_IN = 4, //"MAX", "COARSE", or "FINE" N/A
HSI_EVENT_ZOOM_OUT = 5, //"MAX", "COARSE", or "FINE" N/A
HSI_EVENT_REFRESH_LIVE_VIEW = 6, //N/AN/A
HSI_EVENT_UPDATE_READOUTS = 7, //"AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r}"N/A
HSI_EVENT_READ_MC_POSITION = 8, //"AxisFlags""AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r}"
HSI_EVENT_MOVE_MC_POSITION = 9, //"AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r},%lf{speed},%1d{bWait}"N/A
HSI_EVENT_CONVERT_MC_TO_GLOBAL = 10, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
HSI_EVENT_UPDATE_STATUS_MESSAGE = 11, //N/AN/A
HSI_EVENT_OPENFILE_DLG = 12, //N/A"FileName"
HSI_EVENT_DISPLAY_YESNO_MESSAGE = 13, //N/AN/A
HSI_EVENT_DISPLAY_OKCANCEL_MESSAGE = 14, //N/AN/A
HSI_EVENT_DISPLAY_OK_MESSAGE = 15, //N/AN/A
// V4.3 + Only
HSI_EVENT_DEBUG_LOG = 20, //"%s" N/A
HSI_EVENT_MOVE_MC_POSITION_AND_SETTLE = 21, //"AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r},%lf{speed}" N/A
HSI_EVENT_CONVERT_GLOBAL_TO_MM = 22, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
HSI_EVENT_CONVERT_ROT_TO_TABLE_POINT = 23, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
HSI_EVENT_CONVERT_ROT_OUT_TABLE_POINT = 24, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
HSI_EVENT_CONVERT_ROT_TO_TABLE_VECTOR = 25, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
HSI_EVENT_CONVERT_ROT_OUT_TABLE_VECTOR = 26, //"%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
HSI_EVENT_ILLUMINATION_REFRESH = 27,
HSI_EVENT_ILLUMINATION_LOCK = 28,
HSI_EVENT_ILLUMINATION_STORE_SET = 29,
HSI_EVENT_ILLUMINATION_RESTORE_SET = 30,
HSI_EVENT_ILLUMINATION_DECREASE_ACTIVE = 31, // "%d"
HSI_EVENT_ILLUMINATION_INCREASE_ACTIVE = 32, // "%d"
HSI_EVENT_ILLUMINATION_DECREASE_ALL = 33, // "%d"
HSI_EVENT_ILLUMINATION_INCREASE_ALL = 34, // "%d"
HSI_EVENT_ILLUMINATION_SELECT_LAMP = 35, // "%d"
HSI_EVENT_ILLUMINATION_SET_LAMP_INTENSITY = 36, // "%d"
HSI_EVENT_ILLUMINATION_GET_LAMP_INTENSITY = 37, // "%d"
HSI_EVENT_ILLUMINATION_SET_LAMP_CALIBRATION_OVERRIDE = 38, // "%d"
HSI_EVENT_ILLUMINATION_NEXT_RING = 39,
HSI_EVENT_ILLUMINATION_PREV_RING = 40,
HSI_EVENT_ILLUMINATION_NEXT_SECTOR = 41,
HSI_EVENT_ILLUMINATION_PREV_SECTOR = 42,
HSI_EVENT_ILLUMINATION_NUM_LAMPS_INSTALLED = 43,
HSI_EVENT_ILLUMINATION_IS_LAMP_INSTALLED = 44,
HSI_EVENT_ILLUMINATION_APPLY = 45,
HSI_EVENT_ILLUMINATION_ALLOFF = 46,
HSI_EVENT_ILLUMINATION_ALLON = 47,
HSI_EVENT_ILLUMINATION_UNLOCK = 48,
HSI_EVENT_IS_PROGRAMMING_MODE = 49, //1/0
HSI_EVENT_IS_PORTLOCK_DCC = 50, //1/0
HSI_EVENT_IS_ROTAB_ENABLED = 51, //1/0
HSI_EVENT_IS_TIME_CRITICAL = 52, // 1/0
HSI_EVENT_CONVERT_MM_TO_GLOBAL = 53,
HSI_EVENT_CONVERT_GLOBAL_TO_MC = 54,
HSI_EVENT_LASER_FOCUS_ENABLE = 55, // "%d" 0 = not available, 1 = available
HSI_EVENT_MOVE_POINT = 56, //N/AN/A
HSI_EVENT_MAG_CHANGED = 57,
HSI_EVENT_ILLUMINATION_SET_LAMP_INTENSITY_IN_MACHINE_LEVELx100 = 58,
// "%d" //PR251359-- Instructed to "Please focus on slide" but it's rather unhelpfully turned the lights off for us.
HSI_EVENT_DCC_SCAN_POINTS_AVAILABLE = 59, //"%d"= more to come, 1 = last set N/A
HSI_EVENT_ILLUMINATION_IS_ALL_OFF = 60,
//1/0//PR253777-- Sensilight does not work if the target has 'ALL OFF' for illum setting--4/16/2008
HSI_EVENT_ILLUMINATION_DECREASE_ALL_NONZERO = 61,
// Sensilight command that wont change a lamp currently set to zero
HSI_EVENT_ILLUMINATION_INCREASE_ALL_NONZERO = 62,
// Sensilight command that wont change a lamp currently set to zero22
HSI_EVENT_LP_QUALITY = 63, //"%d" 0-100%
HSI_EVENT_TP_QUALITY = 64, //"%d" 0-100%
HSI_EVENT_VP_QUALITY = 65, //"%d" 0-100%
HSI_EVENT_FLYMODE_MOVE_COMPLETE = 66, // A queued flymode move has completed
HSI_EVENT_PENDANT_SPEED_PERCENT = 67, // 108336 HMV : Add calls to HSI.H for Speed
HSI_EVENT_PENDANT_AXES_SELECTED = 68, // 108335 HMV : Need to add calls to the HSI.H for Stacked Rotary
HSI_EVENT_MOTION = 500,
HSI_EVENT_MOTION_DCC_HOME = 501,
HSI_EVENT_SHUTDOWN_ = 999 //N/AN/A
};
public enum HSI_NOTIFY_TYPE
{
HSI_NOTIFY_PROGRAM_EXECUTION_START = 0,
HSI_NOTIFY_PROGRAM_EXECUTION_STOP = 1,
HSI_NOTIFY_TIME_CRITICAL_EVENT_START = 2,
HSI_NOTIFY_TIME_CRITICAL_EVENT_STOP = 3,
HSI_NOTIFY_PROGRAM_OPEN = 4,
HSI_NOTIFY_PROGRAM_CLOSE = 5,
HSI_NOTIFY_PCDMIS_SHUTDOWN = 6
};
public enum HSI_EVENT_RESPONSE_TYPE
{
HSI_EVENT_CALLBACK = 0,
HSI_EVENT_RESPONSE_OK = 1,
HSI_EVENT_RESPONSE_RETRY = 2,
HSI_EVENT_RESPONSE_CANCEL = 3,
HSI_EVENT_RESPONSE_YES = 4,
HSI_EVENT_RESPONSE_NO = 5,
HSI_EVENT_FUNCTION_OK = 6,
HSI_EVENT_FUNCTION_FAILED = 7
};
public struct SHsiEventProperties
{
public uint EventId;
public uint EventCallbackId;
public HSI_EVENT_TYPE EventType;
public HSI_EVENT_RESPONSE_TYPE EventResponse;
public char[] EventData;
public void Init()
{
EventId = (uint) HSI_EVENT_FUNCTION_ID.HSI_EVENT_DONE;
EventCallbackId = 0;
EventType = HSI_EVENT_TYPE.HSI_EVENT_NONE;
EventResponse = HSI_EVENT_RESPONSE_TYPE.HSI_EVENT_CALLBACK;
EventData = new char[HSI_MaxStringLength + 1];
}
};
///////////////////////////////////////////////////////////////////////////////
// Motion API
///////////////////////////////////////////////////////////////////////////////
public enum HSI_MOTION_TYPE
{
HSI_MOTION_SUPPORTS_DCC_CONTROL = 0x0001,
HSI_MOTION_SUPPORTS_MANUAL_CONTROL = 0x0002,
HSI_MOTION_SUPPORTS_HOMING = 0x0004,
HSI_MOTION_SUPPORTS_CIRCULAR_MOVES = 0x0008,
HSI_MOTION_SUPPORTS_CMM_WRIST = 0x0010,
HSI_MOTION_SUPPORTS_BUFFERED_MOVES = 0x0020,
HSI_MOTION_SUPPORTS_FLY_MOVES = 0x0040,
HSI_MOTION_SUPPORTS_SCAN = 0x0080,
HSI_MOTION_SUPPORTS_ALL_AXIS_MOVE = 0x0100,
HSI_MOTION_SUPPORTS_MEASPOINT_VW = 0x0200
};
public enum HSI_MOTION_AXIS_TYPE
{
HSI_MOTION_AXIS_X = 0x0001, // This is the default "Sensor level" X Axis - use on single X axis machines
HSI_MOTION_AXIS_Y = 0x0002, // This is the default "Sensor level" Y Axis - use on single Y axis machines
HSI_MOTION_AXIS_Z = 0x0004, // This is the default "Sensor level" Z Axis - use on single Z axis machines
HSI_MOTION_AXIS_R = 0x0008, // This is the default "Sensor level" R Axis - use on single R axis machines
HSI_MOTION_AXIS_X1 = 0x0010, // This is the 1st X Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_Y1 = 0x0020, // This is the 1st Y Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_Z1 = 0x0040, // This is the 1st Z Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_R1 = 0x0080, // This is the 1st R Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_X2 = 0x0100, // This is the 2nd X Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_Y2 = 0x0200, // This is the 2nd Y Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_Z2 = 0x0400, // This is the 2nd Z Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_R2 = 0x0800, // This is the 2nd R Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_X3 = 0x1000, // This is the 3rd X Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_Y3 = 0x2000, // This is the 3rd Y Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_Z3 = 0x4000, // This is the 3rd Z Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_R3 = 0x8000 // This is the 3rd R Axis - use on multiple axis machines when specific axis needed
};
public enum HSI_MOTION_IO_TYPE
{
HSI_MOTION_INPUT1 = 0x0001,
HSI_MOTION_INPUT2,
HSI_MOTION_OUTPUT1 = 0x0100,
HSI_MOTION_OUTPUT2
};
public const uint HSI_MOTION_AXIS_ALL =
(uint)
(HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_X | HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Y |
HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Z);
public enum HSI_MOTION_MOVE_TYPE
{
HSI_MOTION_MOVE_WAIT = 1,
HSI_MOTION_MOVE_NOWAIT = 2,
HSI_MOTION_MOVE_INTERMEDIATE_POSITION = 3,
HSI_MOTION_MOVE_FINAL_POSITION = 4,
HSI_MOTION_IN_POSITION_EVENT = 5,
HSI_MOTION_MOVE_FLYMODE = 6,
HSI_MOTION_MOVE_START_POSITION = 7,
HSI_MOTION_MOVE_START_FINAL_POSITION = 8
};
public enum HSI_MOTION_AXIS_R_MOVE_TYPE
{
HSI_MOTION_AXIS_R_CLOCKWISE = 1,
HSI_MOTION_AXIS_R_ANTICLOCKWISE = 2,
HSI_MOTION_AXIS_R_FASTEST = 3
};
public const int HSI_MAX_POSITIONS_STORED = 500;
///////////////////////////////////////////////////////////////////////////////
//Illumination API
///////////////////////////////////////////////////////////////////////////////
public enum HSI_ILLUMINATION_INFO
{
HSI_ILLUMINATION_INFO_UNKNOWN = 0,
HSI_ILLUMINATION_INFO_HSI = 0x01,
HSI_ILLUMINATION_INFO_HSI_II = 0x02, //lvgang
HSI_ILLUMINATION_INFO_HSI_III = 0x04, //shixuyong
HSI_ILLUMINATION_INFO_TOTAL
};
public enum HSI_ILLUMINATION_BULB_TYPE
{
HSI_ILLUMINATION_BULB_ROUND = 1,
HSI_ILLUMINATION_BULB_SQUARE = 2,
HSI_ILLUMINATION_BULB_RING = 3,
HSI_ILLUMINATION_BULB_GRID = 4
};
public enum HSI_ILLUMINATION_LAMP_TYPE
{
HSI_ILLUMINATION_LAMP_NONE = 0,
HSI_ILLUMINATION_LAMP_COAXIAL = 1,
HSI_ILLUMINATION_LAMP_SURFACE = 2,
HSI_ILLUMINATION_LAMP_PROFILE = 3,
HSI_ILLUMINATION_LAMP_PROFILE_OUTER = 4
};
public enum HSI_ILLUMINATION_LAMP_CONTROL_TYPE
{
HSI_ILLUMINATION_LAMP_CONTROL_NONE = 0x0000,
HSI_ILLUMINATION_LAMP_CONTROL_BY_WHOLE_LAMP = 0x0001,
HSI_ILLUMINATION_LAMP_CONTROL_BY_RINGS = 0x0002,
HSI_ILLUMINATION_LAMP_CONTROL_BY_OCTANTS = 0x0004,
HSI_ILLUMINATION_LAMP_CONTROL_BY_SEGMENTS = 0x0008,
HSI_ILLUMINATION_LAMP_CONTROL_BY_OTHER
};
public enum HSI_ILLUMINATION_BULB_STATE
{
HSI_ILLUMINATION_BULB_STATE_TURN_ON = 0,
HSI_ILLUMINATION_BULB_STATE_TURN_OFF = 1,
HSI_ILLUMINATION_BULB_STATE_TOTAL
};
public enum HSI_ILLUMINATION_TYPE
{
HSI_ILLUMINATION_SUPPORTS_DCC_CONTROL = 0x0001,
HSI_ILLUMINATION_SUPPORTS_MANUAL_CONTROL = 0x0002
};
public enum HSI_ILLUMINATION_LAMP_LOCATION_TYPE
{
HSI_ILLUMINATION_LAMP_LOCATION_NONE = 0,
HSI_ILLUMINATION_LAMP_LOCATION_TOP_ON_AXIS = 1,
HSI_ILLUMINATION_LAMP_LOCATION_TOP_ANGLED = 2,
HSI_ILLUMINATION_LAMP_LOCATION_BOTTOM = 3,
HSI_ILLUMINATION_LAMP_LOCATION_MOVABLE = 4
};
public const int HSI_ILLUMINATION_MAX_LAMPS = 6;
public const int HSI_ILLUMINATION_MAX_BULB_COLORS = 3;
public const int HSI_ILLUMINATION_MAX_RINGS = 12;
public const int HSI_ILLUMINATION_MAX_SECTORS = 16;
public const int HSI_ILLUMINATION_MAX_BULBS = HSI_ILLUMINATION_MAX_RINGS*HSI_ILLUMINATION_MAX_SECTORS;
public const int HSI_MaxLampNameLength = 29, HSI_MaxLampDescriptionLength = 255;
// Maximum string length (buffer size - 1)
}
}
+503
View File
@@ -0,0 +1,503 @@
#ifndef HSI_H_INCLUDED_
#define HSI_H_INCLUDED_
#include <Windows.h>
#include <tchar.h>
#pragma once
///////////////////////////////////////////////////////////////////////////////
//
// HSI.h
//
///////////////////////////////////////////////////////////////////////////////
//
// Definition for Hardware Specific Interface DLL (HSI)
//
///////////////////////////////////////////////////////////////////////////////
#ifdef HSI_EXPORTS
#define HSI_API extern "C" __declspec(dllexport)
#else
#define HSI_API extern "C" __declspec(dllimport)
#endif
const int HSI_APIVersionMajor = 1;
const int HSI_APIVersionMinor = 9;
const int HSI_MaxStringLength = 255; // Maximum string length (buffer size - 1)
///////////////////////////////////////////////////////////////////////////////
// Interface API
///////////////////////////////////////////////////////////////////////////////
enum HSI_STATUS
{
HSI_STATUS_NOT_SUPPORTED = -1,
HSI_STATUS_NORMAL = 0,
HSI_STATUS_FAILED,
HSI_FAILED_DLL_LOAD,
HSI_STATUS_PORTLOCK_HSI_MISMATCH,
HSI_STATUS_FILE_NOT_FOUND,
HSI_STATUS_HARDWARE_NOT_FOUND,
HSI_STATUS_INVALID_PARAMETERS,
HSI_STATUS_INVALID_POINTS,
HSI_STATUS_PART_NOT_DETECTED,
HSI_STATUS_MEASURE_ERROR,
HSI_STATUS_TEMPERATURE_ERROR,
HSI_STATUS_ILLUMINATION_COMM = 50,
HSI_STATUS_OPTICS_COMM = 100,
HSI_STATUS_OPTICS_HOMING,
HSI_STATUS_OPTICS_TIMEOUT,
HSI_STATUS_OPTICS_CALIBRATIONDATA,
HSI_STATUS_OPTICS_CALIBRATIONDATADEFAULT,
HSI_STATUS_OPTICS_CALFILEDATACOUNTMISMATCH,
HSI_STATUS_MOTION_COMM = 150,
HSI_STATUS_MOTION_HOMING,
HSI_STATUS_MOTION_TIMEOUT,
HSI_STATUS_MOTION_EMERGENCY_STOP,
HSI_STATUS_MOTION_EXCEED_LIMIT,
HSI_STATUS_MOTION_UNKNOWN_ERROR,
HSI_STATUS_MOTION_EXCEED_SW_LIMIT,
HSI_STATUS_MOTION_POSITION_ERROR,
HSI_STATUS_MOTION_MOVING,
HSI_STATUS_TP_UNEXPECTED_HIT = 200,
HSI_STATUS_TP_TIMEOUT = 201,
HSI_STATUS_TP_APPROACH_TIMEOUT = 202,
HSI_STATUS_TP_WRIST_ERROR,
HSI_STATUS_FG_COMM = 250,
HSI_STATUS_FG_TIMEOUT,
HSI_STATUS_FG_DIRECTX,
HSI_STATUS_FG_COLORDEPTH,
HSI_STATUS_LP_TIMEOUT = 300,
HSI_STATUS_LP_EXCEED_LIMIT = 301,
HSI_STATUS_VP_TIMEOUT = 350,
HSI_STATUS_VP_IMAGEPROCESS_FAIL
};
enum HSI_MACHINE_TYPE
{
HSI_MACHINE_UNKNOWN = 0,
HSI_MACHINE_SO7 = 1,
HSI_MACHINE_NAVITAR_AUTOZOOM = 2,
HSI_MACHINE_EF3 = 3,
HSI_MACHINE_GOOGOL = 4,
HSI_MACHINE_TYPE_TOTAL,
};
enum HSI_EVENT_TYPE
{
HSI_EVENT_NONE = 0,
HSI_EVENT_ERROR = 1,
HSI_EVENT_FUNCTION = 2,
HSI_EVENT_NOTIFY = 3,
HSI_EVENT_SAFETY = 4,
HSI_EVENT_SAFETY_KEEP = 5
};
enum HSI_EVENT_FUNCTION_ID // EventData
{ // Send Receive
// V4.2 & V4.3 +
HSI_EVENT_DONE = 0, // N/A N/A
HSI_EVENT_TAKE_HIT = 1, // N/A N/A
HSI_EVENT_ERASE_HIT = 2, // N/A N/A
HSI_EVENT_TIME_CRITICAL = 3, // "ON", or "OFF" N/A
HSI_EVENT_ZOOM_IN = 4, // "MAX", "COARSE", or "FINE" N/A
HSI_EVENT_ZOOM_OUT = 5, // "MAX", "COARSE", or "FINE" N/A
HSI_EVENT_REFRESH_LIVE_VIEW = 6, // N/A N/A
HSI_EVENT_UPDATE_READOUTS = 7, // "AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r}" N/A
HSI_EVENT_READ_MC_POSITION = 8, // "AxisFlags" "AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r}"
HSI_EVENT_MOVE_MC_POSITION = 9, // "AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r},%lf{speed},%1d{bWait}" N/A
HSI_EVENT_CONVERT_MC_TO_GLOBAL = 10, // "%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
HSI_EVENT_UPDATE_STATUS_MESSAGE = 11, // N/A N/A
HSI_EVENT_OPENFILE_DLG = 12, // N/A "FileName"
HSI_EVENT_DISPLAY_YESNO_MESSAGE = 13, // N/A N/A
HSI_EVENT_DISPLAY_OKCANCEL_MESSAGE = 14, // N/A N/A
HSI_EVENT_DISPLAY_OK_MESSAGE = 15, // N/A N/A
// V4.3 + Only
HSI_EVENT_DEBUG_LOG = 20, // "%s" N/A
HSI_EVENT_MOVE_MC_POSITION_AND_SETTLE = 21, // "AxisFlags,%lf{x},%lf{y},%lf{z},%lf{r},%lf{speed}" N/A
HSI_EVENT_CONVERT_GLOBAL_TO_MM = 22, // "%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
HSI_EVENT_CONVERT_ROT_TO_TABLE_POINT = 23, // "%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
HSI_EVENT_CONVERT_ROT_OUT_TABLE_POINT = 24, // "%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
HSI_EVENT_CONVERT_ROT_TO_TABLE_VECTOR = 25, // "%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
HSI_EVENT_CONVERT_ROT_OUT_TABLE_VECTOR = 26, // "%lf{x},%lf{y},%lf{z}" "%lf{x},%lf{y},%lf{z}"
HSI_EVENT_ILLUMINATION_REFRESH = 27,
HSI_EVENT_ILLUMINATION_LOCK = 28,
HSI_EVENT_ILLUMINATION_STORE_SET = 29,
HSI_EVENT_ILLUMINATION_RESTORE_SET = 30,
HSI_EVENT_ILLUMINATION_DECREASE_ACTIVE = 31, // "%d"
HSI_EVENT_ILLUMINATION_INCREASE_ACTIVE = 32, // "%d"
HSI_EVENT_ILLUMINATION_DECREASE_ALL = 33, // "%d"
HSI_EVENT_ILLUMINATION_INCREASE_ALL = 34, // "%d"
HSI_EVENT_ILLUMINATION_SELECT_LAMP = 35, // "%d"
HSI_EVENT_ILLUMINATION_SET_LAMP_INTENSITY = 36, // "%d"
HSI_EVENT_ILLUMINATION_GET_LAMP_INTENSITY = 37, // "%d"
HSI_EVENT_ILLUMINATION_SET_LAMP_CALIBRATION_OVERRIDE = 38, // "%d"
HSI_EVENT_ILLUMINATION_NEXT_RING = 39,
HSI_EVENT_ILLUMINATION_PREV_RING = 40,
HSI_EVENT_ILLUMINATION_NEXT_SECTOR = 41,
HSI_EVENT_ILLUMINATION_PREV_SECTOR = 42,
HSI_EVENT_ILLUMINATION_NUM_LAMPS_INSTALLED = 43,
HSI_EVENT_ILLUMINATION_IS_LAMP_INSTALLED = 44,
HSI_EVENT_ILLUMINATION_APPLY = 45,
HSI_EVENT_ILLUMINATION_ALLOFF = 46,
HSI_EVENT_ILLUMINATION_ALLON = 47,
HSI_EVENT_ILLUMINATION_UNLOCK = 48,
HSI_EVENT_IS_PROGRAMMING_MODE = 49, // 1/0
HSI_EVENT_IS_PORTLOCK_DCC = 50, // 1/0
HSI_EVENT_IS_ROTAB_ENABLED = 51, // 1/0
HSI_EVENT_IS_TIME_CRITICAL = 52, // 1/0
HSI_EVENT_CONVERT_MM_TO_GLOBAL = 53,
HSI_EVENT_CONVERT_GLOBAL_TO_MC = 54,
HSI_EVENT_LASER_FOCUS_ENABLE = 55, // "%d" 0 = not available, 1 = available
HSI_EVENT_MOVE_POINT = 56, // N/A N/A
HSI_EVENT_MAG_CHANGED = 57,
HSI_EVENT_ILLUMINATION_SET_LAMP_INTENSITY_IN_MACHINE_LEVELx100 = 58, // "%d" //PR251359-- Instructed to "Please focus on slide" but it's rather unhelpfully turned the lights off for us.
HSI_EVENT_DCC_SCAN_POINTS_AVAILABLE = 59, // "%d" = more to come, 1 = last set N/A
HSI_EVENT_ILLUMINATION_IS_ALL_OFF = 60, // 1/0 //PR253777-- Sensilight does not work if the target has 'ALL OFF' for illum setting--4/16/2008
HSI_EVENT_ILLUMINATION_DECREASE_ALL_NONZERO = 61, // Sensilight command that wont change a lamp currently set to zero
HSI_EVENT_ILLUMINATION_INCREASE_ALL_NONZERO = 62, // Sensilight command that wont change a lamp currently set to zero22
HSI_EVENT_LP_QUALITY = 63, // "%d" 0-100%
HSI_EVENT_TP_QUALITY = 64, // "%d" 0-100%
HSI_EVENT_VP_QUALITY = 65, // "%d" 0-100%
HSI_EVENT_FLYMODE_MOVE_COMPLETE = 66, // A queued flymode move has completed
HSI_EVENT_PENDANT_SPEED_PERCENT = 67, // 108336 HMV : Add calls to HSI.H for Speed
HSI_EVENT_PENDANT_AXES_SELECTED = 68, // 108335 HMV : Need to add calls to the HSI.H for Stacked Rotary
HSI_EVENT_MOTION = 500,
HSI_EVENT_MOTION_DCC_HOME = 501,
HSI_EVENT_MOTION_FOCUS_HOME = 502,
HSI_EVENT_MOTION_EMERGENT_STOP = 503,
HSI_EVENT_SHUTDOWN_ = 999, // N/A N/A
HSI_EVENT_MOTION_DRIVER_ALARM = 1000,
HSI_EVENT_MOTION_PROBE = 1001,
HSI_EVENT_MOTION_DISPENSER = 1002
};
enum HSI_NOTIFY_TYPE
{
HSI_NOTIFY_PROGRAM_EXECUTION_START = 0,
HSI_NOTIFY_PROGRAM_EXECUTION_STOP = 1,
HSI_NOTIFY_TIME_CRITICAL_EVENT_START = 2,
HSI_NOTIFY_TIME_CRITICAL_EVENT_STOP = 3,
HSI_NOTIFY_PROGRAM_OPEN = 4,
HSI_NOTIFY_PROGRAM_CLOSE = 5,
HSI_NOTIFY_PCDMIS_SHUTDOWN = 6,
HSI_NOTIFY_CLEAR_ITERATIONS = 7,
HSI_NOTIFY_EMERGENCY_STATE = 9
};
enum HSI_EVENT_RESPONSE_TYPE
{
HSI_EVENT_CALLBACK = 0,
HSI_EVENT_RESPONSE_OK = 1,
HSI_EVENT_RESPONSE_RETRY = 2,
HSI_EVENT_RESPONSE_CANCEL = 3,
HSI_EVENT_RESPONSE_YES = 4,
HSI_EVENT_RESPONSE_NO = 5,
HSI_EVENT_FUNCTION_OK = 6,
HSI_EVENT_FUNCTION_FAILED = 7
};
const int HSI_THREAD_EXIT = -1;
const int HSI_THREAD_RUNNING = 0;
const int HSI_THREAD_PAUSED = 1;
struct sHSIEventProperties
{
UINT EventID;
UINT EventCallbackID;
HSI_EVENT_TYPE EventType;
HSI_EVENT_RESPONSE_TYPE EventResponse;
char EventData[HSI_MaxStringLength + 1];
void Init()
{
EventID = 0;
EventCallbackID = 0;
EventType = HSI_EVENT_NONE;
EventResponse = HSI_EVENT_CALLBACK;
memset(EventData, 0, (HSI_MaxStringLength + 1)*sizeof(char));
};
sHSIEventProperties()
{
Init();
}
};
// >>>> In Interfaces
typedef VOID(WINAPI *pEventCallback)(HSI_EVENT_TYPE EventType, HSI_EVENT_RESPONSE_TYPE ResponseType, UINT EventID, char EventData[HSI_MaxStringLength + 1], UINT &EventCallbackID);
HSI_API HSI_STATUS WINAPI HSI_STARTUP(HWND _hWnd, bool _bOfflineOnly);
HSI_API HSI_STATUS WINAPI HSI_GET_INTERFACE_VERSION(UINT &APIVersionMajor, UINT &APIVersionMinor);
HSI_API HSI_STATUS WINAPI HSI_GET_MACHINE_INFO(int &_NumMachineTypes);
HSI_API HSI_STATUS WINAPI HSI_SET_EVENT_CALLBACK(pEventCallback _pCallback);
HSI_API HSI_STATUS WINAPI HSI_SHUTDOWM();
// <<<< Out Interfaces
///////////////////////////////////////////////////////////////////////////////
// Motion API
///////////////////////////////////////////////////////////////////////////////
enum HSI_MOTION_TYPE
{
HSI_MOTION_SUPPORTS_DCC_CONTROL = 0x0001,
HSI_MOTION_SUPPORTS_MANUAL_CONTROL = 0x0002,
HSI_MOTION_SUPPORTS_HOMING = 0x0004,
HSI_MOTION_SUPPORTS_CIRCULAR_MOVES = 0x0008,
HSI_MOTION_SUPPORTS_CMM_WRIST = 0x0010,
HSI_MOTION_SUPPORTS_BUFFERED_MOVES = 0x0020,
HSI_MOTION_SUPPORTS_FLY_MOVES = 0x0040,
HSI_MOTION_SUPPORTS_SCAN = 0x0080,
HSI_MOTION_SUPPORTS_ALL_AXIS_MOVE = 0x0100,
HSI_MOTION_SUPPORTS_MEASPOINT_VW = 0x0200
};
enum HSI_MOTION_AXIS_TYPE
{
HSI_MOTION_AXIS_X = 0x0001, // This is the default "Sensor level" X Axis - use on single X axis machines
HSI_MOTION_AXIS_Y = 0x0002, // This is the default "Sensor level" Y Axis - use on single Y axis machines
HSI_MOTION_AXIS_Z = 0x0004, // This is the default "Sensor level" Z Axis - use on single Z axis machines
HSI_MOTION_AXIS_R = 0x0008, // This is the default "Sensor level" R Axis - use on single R axis machines
HSI_MOTION_AXIS_X1 = 0x0010, // This is the 1st X Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_Y1 = 0x0020, // This is the 1st Y Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_Z1 = 0x0040, // This is the 1st Z Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_R1 = 0x0080, // This is the 1st R Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_X2 = 0x0100, // This is the 2nd X Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_Y2 = 0x0200, // This is the 2nd Y Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_Z2 = 0x0400, // This is the 2nd Z Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_R2 = 0x0800, // This is the 2nd R Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_X3 = 0x1000, // This is the 3rd X Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_Y3 = 0x2000, // This is the 3rd Y Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_Z3 = 0x4000, // This is the 3rd Z Axis - use on multiple axis machines when specific axis needed
HSI_MOTION_AXIS_R3 = 0x8000 // This is the 3rd R Axis - use on multiple axis machines when specific axis needed
};
enum HSI_MOTION_IO_TYPE
{
HSI_MOTION_INPUT = 0x0001,
HSI_MOTION_INPUT_LIMIT_SWITCH,
HSI_MOTION_INPUT_CH1,//固高、众为兴、EF1输入
HSI_MOTION_INPUT_CH2,
HSI_MOTION_INPUT_CH3,//串口控制器输入
HSI_MOTION_INPUT_CH4,//众为兴运动控制卡测试输入
HSI_MOTION_INPUT_ALARM,//驱动报警
HSI_MOTION_OUTPUT = 0x0100,
HSI_MOTION_OUTPUT_LASER_PEN,
HSI_MOTION_OUTPUT_CH1,//固高、众为兴、EF1输出
HSI_MOTION_OUTPUT_CH2,
HSI_MOTION_OUTPUT_CH3,//串口控制器输出
HSI_MOTION_OUTPUT_CH4//众为兴运动控制卡测试输出
};
const UINT HSI_MOTION_AXIS_ALL = HSI_MOTION_AXIS_X | HSI_MOTION_AXIS_Y | HSI_MOTION_AXIS_Z;
enum HSI_MOTION_MOVE_TYPE
{
HSI_MOTION_MOVE_WAIT = 1,
HSI_MOTION_MOVE_NOWAIT = 2,
HSI_MOTION_MOVE_INTERMEDIATE_POSITION = 3,
HSI_MOTION_MOVE_FINAL_POSITION = 4,
HSI_MOTION_IN_POSITION_EVENT = 5,
HSI_MOTION_MOVE_FLYMODE = 6,
HSI_MOTION_MOVE_START_POSITION = 7,
HSI_MOTION_MOVE_START_FINAL_POSITION = 8
};
enum HSI_MOTION_AXIS_R_MOVE_TYPE
{
HSI_MOTION_AXIS_R_CLOCKWISE = 1,
HSI_MOTION_AXIS_R_ANTICLOCKWISE = 2,
HSI_MOTION_AXIS_R_FASTEST = 3
};
enum HSI_SCAN_MOTION_TYPE
{
HSI_SCAN_MOTION_LINEAR = 1,
HSI_SCAN_MOTION_CIRCULAR,
HSI_SCAN_MOTION_SPEC_LOCA = 100,//EF1
HSI_SCAN_MOTION_EQ_DIS,
HSI_SCAN_MOTION_EQ_DIS_II,
HSI_SCAN_MOTION_LINEAR_TEST,//测试使用
HSI_SCAN_MOTION_EQ_TEST,//测试使用
HSI_SCAN_MOTION_MANUAL_TEST//测试使用
};
enum HSI_ZOOM_TYPE
{
HSI_ZOOM_MANUAL = 0,
HSI_ZOOM_NAVITAR=3
};
typedef struct
{
double x;
double y;
double z;
}Point;
const int HSI_MAX_POSITIONS_STORED = 500;
// >>>> In Interfaces
HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED(UINT &Types);
HSI_API HSI_STATUS WINAPI HSI_MOTION_STARTUP(bool bHome);
HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_HOMED(bool &bHomed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_XYZ(double &Speed);
HSI_API HSI_STATUS WINAPI HSI_EF3MOTION_GET_SPEED_XYZ(int axis, double &Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_XYZ(double Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_XYZ(double &AccelX, double &AccelY, double &AccelZ);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_XYZ(double AccelX, double AccelY, double AccelZ);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_R(double &Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_R(double Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_R(double &AccelR);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_R(double AccelR);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SCALE_RESOLUTION(double &ScaleX, double &ScaleY, double &ScaleZ);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SCALE_RESOLUTION(double ScaleX, double ScaleY, double ScaleZ);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_DEADBAND(double &DeadbandX, double &DeadbandY, double &DeadbandZ, double &DeadbandR);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_REFRESH_DEADBAND(double &Deadband);
HSI_API HSI_STATUS WINAPI HSI_MOTION_JOG(UINT AxisTypes, double Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_STOP_JOG();
HSI_API BOOL WINAPI HSI_MOTION_GET_PROBE_TOUCH();
HSI_API HSI_STATUS WINAPI HSI_MOTION_TOUCH_MOVE(double dSpeed, double dEndPosX, double dEndPosY, double dEndPosZ, double dI, double dJ, double dK);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_XYZ(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &Time);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_XYZA_PROBE(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &dI, double &dJ, double &dK, double &PositionA);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITIONPROBE(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &PositionA);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ENCODER_XYZ(long *lEncVal);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_XYZ(UINT AxisTypes, double PositionX, double PositionY, double PositionZ, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_XYZ_CACHE(UINT AxisTypes, HSI_MOTION_MOVE_TYPE eType, int DataCount, Point *CacheData);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_R(UINT AxisTypes, double &PositionR, double &Time);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_R(UINT AxisTypes, double PositionR, HSI_MOTION_AXIS_R_MOVE_TYPE DirectionType, bool bWait);
HSI_API HSI_STATUS WINAPI HSI_MOTION_ABORT_MOTION();
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_PLAN_SCAN(double *pdStartPosX, double *pdStartPosY, double *pdStartPosZ, double *pdEndPosX, double *pdEndPosY, double *pdEndPosZ, double *pdStepDis, bool *pbTrig, int iCount);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_DIO(UINT IOChannel, UINT& _Status);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_DIO(UINT IOChannel, UINT _Status);
HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_SET_DATA(UINT AxisTypes, HSI_SCAN_MOTION_TYPE eType, UINT lTrigNumber, double* dTrigDis);
HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_START();
HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_STOP();
HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED_EX(UINT AxisTypes, UINT &Types);
HSI_API HSI_STATUS WINAPI HSI_MOTION_STARTUP_EX(UINT AxisTypes, bool bHome);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SCALE_RESOLUTION_EX(UINT AxisTypes, double &Scale);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SCALE_RESOLUTION_EX(UINT AxisTypes, double Scale);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_EX(UINT AxisTypes, double &Position, double &Time);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_EX(UINT AxisTypes, double Position, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_EX(UINT AxisTypes, double &Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_EX(UINT AxisTypes, double Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_EX(UINT AxisTypes, double &Accel);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_EX(UINT AxisTypes, double Accel);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_MAGNIFICATION(UINT AxisTypes, double mag, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_MAGNIFICATION(UINT AxisTypes, double &mag);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SCALE_POS(UINT AxisTypes, double ScalePos, HSI_MOTION_MOVE_TYPE eType, double dSpeedGear);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SCALE_POS(UINT AxisTypes, double &ScalePos);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SHUTDOWN();
// <<<< Out Interfaces
///////////////////////////////////////////////////////////////////////////////
// Illumination API
///////////////////////////////////////////////////////////////////////////////
enum HSI_ILLUMINATION_INFO
{
HSI_ILLUMINATION_INFO_UNKNOWN = 0,
HSI_ILLUMINATION_INFO_SO7 = 0x01,
HSI_ILLUMINATION_INFO_SO7_II = 0x02,//lvgang
HSI_ILLUMINATION_INFO_SO7_III = 0x04,//shixuyong
HSI_ILLUMINATION_INFO_TOTAL
};
enum HSI_ILLUMINATION_BULB_TYPE
{
HSI_ILLUMINATION_BULB_ROUND = 1,
HSI_ILLUMINATION_BULB_SQUARE = 2,
HSI_ILLUMINATION_BULB_RING = 3,
HSI_ILLUMINATION_BULB_GRID = 4
};
enum HSI_ILLUMINATION_LAMP_TYPE
{
HSI_ILLUMINATION_LAMP_COAXIAL = 0,
HSI_ILLUMINATION_LAMP_SURFACE = 1,
HSI_ILLUMINATION_LAMP_PROFILE = 2,
HSI_ILLUMINATION_LAMP_PROFILE_OUTER = 3
};
enum HSI_ILLUMINATION_LAMP_CONTROL_TYPE
{
HSI_ILLUMINATION_LAMP_CONTROL_BY_WHOLE_LAMP = 0x0000,
HSI_ILLUMINATION_LAMP_CONTROL_BY_RINGS = 0x0001,
HSI_ILLUMINATION_LAMP_CONTROL_BY_OCTANTS = 0x0002,
HSI_ILLUMINATION_LAMP_CONTROL_BY_SEGMENTS = 0x0004,
HSI_ILLUMINATION_LAMP_CONTROL_BY_OTHER
};
enum HSI_ILLUMINATION_BULB_STATE
{
HSI_ILLUMINATION_BULB_STATE_TURN_ON = 0,
HSI_ILLUMINATION_BULB_STATE_TURN_OFF = 1,
HSI_ILLUMINATION_BULB_STATE_TOTAL
};
enum HSI_ILLUMINATION_TYPE
{
HSI_ILLUMINATION_SUPPORTS_DCC_CONTROL = 0x0001,
HSI_ILLUMINATION_SUPPORTS_MANUAL_CONTROL = 0x0002
};
enum HSI_ILLUMINATION_LAMP_LOCATION_TYPE
{
HSI_ILLUMINATION_LAMP_LOCATION_NONE = 0,
HSI_ILLUMINATION_LAMP_LOCATION_TOP_ON_AXIS = 1,
HSI_ILLUMINATION_LAMP_LOCATION_TOP_ANGLED = 2,
HSI_ILLUMINATION_LAMP_LOCATION_BOTTOM = 3,
HSI_ILLUMINATION_LAMP_LOCATION_MOVABLE = 4
};
const int HSI_ILLUMINATION_MAX_LAMPS = 6;
const int HSI_ILLUMINATION_MAX_BULB_COLORS = 3;
const int HSI_ILLUMINATION_MAX_RINGS = 12;
const int HSI_ILLUMINATION_MAX_SECTORS = 16;
const int HSI_ILLUMINATION_MAX_BULBS = HSI_ILLUMINATION_MAX_RINGS*HSI_ILLUMINATION_MAX_SECTORS;
const int HSI_ILLUMINATION_MAX_BULB_TYPE = 2;
const int HSI_MaxLampNameLength = 29, HSI_MaxLampDescriptionLength = 255; // Maximum string length (buffer size - 1)
// >>>> In Interfaces
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_IS_SUPPORTED(UINT &Types);
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_STARTUP();
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_GET_LAMP_COUNT(int &nLamps);
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_GET_LAMP_INFO(int& _LampInfo, int& _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE],
int *NumRings, int *NumSectors, int* _Color, double *_Angle, bool &bCanBeCalibrated);
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_GET_LAMP_STATE(int nLamp, bool *bBulbStates, double *Intensities, int &Color, double &Angle);
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_SET_LAMP_STATE(int nLamp, bool *bBulbStates, double *Intensities, int Color, double Angle, bool bWait);
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_GET_LAMP_STATE_ALL(int _LampInfo, int _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE], int(*bBulbStates)[HSI_ILLUMINATION_MAX_BULBS], double(*Intensities)[HSI_ILLUMINATION_MAX_BULBS]);
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_SET_LAMP_STATE_ALL(int _LampInfo, int _NumLamps, int(*_LampsType)[HSI_ILLUMINATION_MAX_BULB_TYPE], int(*bBulbStates)[HSI_ILLUMINATION_MAX_BULBS], double(*Intensities)[HSI_ILLUMINATION_MAX_BULBS], bool bWait);
HSI_API HSI_STATUS WINAPI HSI_ILLUMINATION_SHUTDOWN();
// <<<< Out Interfaces
class HSI
{
public:
HSI() : hWnd(nullptr), bOfflineOnly(false){}
virtual ~HSI(){}
virtual HSI_STATUS IsSupported(UINT &Types){ Types = 0; return HSI_STATUS_NORMAL; }
virtual HSI_STATUS Startup(HWND _hWnd, bool _bOfflineOnly){ hWnd = _hWnd; bOfflineOnly = _bOfflineOnly; return HSI_STATUS_NORMAL; }
virtual HSI_STATUS Shutdown(){ return HSI_STATUS_NORMAL; }
protected:
HWND hWnd;
bool bOfflineOnly;
sHSIEventProperties sEvenProp;
};
#endif
@@ -0,0 +1,34 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Pdca", "PCDA_Report\PCDA_Report.vcxproj", "{363F54B0-75E1-4E24-AF89-F0053BAA7117}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
DebugRelease|x64 = DebugRelease|x64
DebugRelease|x86 = DebugRelease|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Debug|x64.ActiveCfg = Debug|x64
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Debug|x64.Build.0 = Debug|x64
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Debug|x86.ActiveCfg = Debug|Win32
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Debug|x86.Build.0 = Debug|Win32
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.DebugRelease|x64.Build.0 = DebugRelease|x64
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.DebugRelease|x86.ActiveCfg = DebugRelease|Win32
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.DebugRelease|x86.Build.0 = DebugRelease|Win32
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Release|x64.ActiveCfg = Release|x64
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Release|x64.Build.0 = Release|x64
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Release|x86.ActiveCfg = Release|Win32
{363F54B0-75E1-4E24-AF89-F0053BAA7117}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
@@ -0,0 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
Debug|Win32|D:\Pdca\PCDA_Report\|
@@ -0,0 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
Debug|Win32|D:\Pdca\PCDA_Report\|
@@ -0,0 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
Debug|Win32|D:\Pdca\PCDA_Report\|
@@ -0,0 +1,368 @@
#include "stdafx.h"
#include "FileIO.h"
#define UNICODE_BOM 0xFEFF // Unicode "byte order mark"
FileIOException::FileIOException()
{
}
FileIOException::~FileIOException()
{
}
CFileIO::CFileIO(void):
m_bFirst(true),
m_bOpen(false)
{
}
CFileIO::~CFileIO(void)
{
if (IsActive())
{
Close();
}
}
CFileIO::CFileIO(const CString fileName):
m_bFirst(true),
m_bOpen(false),
m_strFileName(fileName)
{
}
bool CFileIO::IsActive(bool bForce)
{
if(m_bFirst || bForce)
{
if(m_bOpen==false)
{
m_bFirst=false;
}
}
return m_bOpen;
}
void CFileIO::SetFileName(CString fileName)
{
m_strFileName=fileName;
}
CString CFileIO::GetFileName()
{
return m_strFileName;
}
bool CFileIO::Open(CString fileName)
{
bool bOpen=false;
// if (m_strFileName.IsEmpty()&&(!fileName.IsEmpty()))
// {
SetFileName(fileName);
bOpen=Open();
// }
// else if ((!m_strFileName.IsEmpty())&&(!fileName.IsEmpty())&&(m_strFileName.CompareNoCase(fileName)!=0))
// {
// SetFileName(fileName);
// bOpen=ReOpen();
// }
return bOpen;
}
ULONGLONG CFileIO::Seek(LONGLONG lOff, UINT nFrom)
{
try
{
return stdioFile.Seek(lOff,nFrom);
}
catch (CException* e)
{
// return 0;
}
}
ULONGLONG CFileIO::GetPosition() const
{
try
{
return stdioFile.GetPosition();
}
catch (CException* e)
{
// return 0;
}
}
ULONGLONG CFileIO::GetLength() const
{
try
{
return stdioFile.GetLength();
}
catch (CException* e)
{
// return 0;
}
}
bool CFileIO::Open()
{
try
{
//stdioFile=CStdioFile(GetUnicodeWriteStream(m_strFileName));
m_bOpen = stdioFile.Open(m_strFileName,CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate|CFile::shareDenyNone);
m_bFirst=false;
//m_bOpen=true;
}
catch (...)
{
}
return m_bOpen;
}
bool CFileIO::Open(const CString& fileName, const BOOL& bCreateReadMode)
{
try
{
if (bCreateReadMode)
{
m_bOpen = stdioFile.Open(fileName, CFile::modeCreate | CFile::modeReadWrite);
}
else
{
m_bOpen = stdioFile.Open(fileName, CFile::modeCreate | CFile::modeReadWrite | CFile::modeNoTruncate | CFile::shareDenyNone);
}
m_bFirst = false;
}
catch (...)
{
}
return m_bOpen;
}
bool CFileIO::ReOpen()
{
//Close();
return Open();
}
void CFileIO::Close()
{
stdioFile.Flush();
stdioFile.Close();
m_bFirst=true;
m_bOpen=false;
}
void CFileIO::NewLine()
{
WirteText(_T("\n"));
}
void CFileIO::WirteText(const CString &text)
{
WirteText(m_strFileName,text);
}
void CFileIO::WirteTextArray(const CStringArray &textArray,CString tabString)
{
WirteTextArray(m_strFileName,textArray,tabString);
}
BOOL CFileIO::ReadText(CString &text)
{
try
{
return stdioFile.ReadString(text);
}
catch (CException* e)
{
return FALSE;
}
}
void CFileIO::WirteText(const CString &fileName,const CString &text)
{
try
{
// if (IsActive())
// {
stdioFile.WriteString(text);
stdioFile.Flush();
// }
// else
// {
// Open(fileName);
// stdioFile.WriteString(text);
// stdioFile.Flush();
// }
}
catch (CException* e)
{
}
}
void CFileIO::WirteTextArray(const CString &fileName,const CStringArray &textArray,CString tabString)
{
try
{
CString textWrite;
for(INT_PTR i=0; i<textArray.GetSize(); i++)
{
textWrite += textArray[i];
textWrite +=tabString;
}
WirteText(fileName,textWrite);
}
catch (...)
{
}
}
const CString CFileIO::GetUnicodeWriteMode()
{
return _T("wt,ccs=UNICODE");
}
const CString CFileIO::GetAnsiWriteMode()
{
return _T("wt");
}
const CString CFileIO::GetUnicodeReadMode()
{
return _T("rt,ccs=UNICODE");
}
const CString CFileIO::GetAnsiReadMode()
{
return _T("rt");
}
CFileIO::FILE_CODE_TYPE CFileIO::GetFileCodeType(const CString &fileName)
{
try
{
if(IsFileUnicode(fileName))
return FILE_CODE_TYPE_ANSI;
else
return FILE_CODE_TYPE_UNICODE;
}
catch(...)
{
return FILE_CODE_TYPE_UNKNOWN;
}
}
bool CFileIO::IsFileUnicode(const CString& fileName)
{
CFile file;
bool bIsUnicode = false;
wchar_t wcFirstChar;
CFileException exFile;
if (file.Open(fileName, CFile::typeBinary | CFile::modeRead, &exFile))
{
if (file.Read(&wcFirstChar, sizeof(wchar_t)) > 0 && wcFirstChar == (wchar_t)UNICODE_BOM)
{
bIsUnicode = true;
}
file.Close();
}
else
{
throw FileIOException();
}
return bIsUnicode;
}
FILE* CFileIO::GetUnicodeWriteStream(const CString &fileName)
{
const CString mode = GetUnicodeWriteMode();
return GetFileStream(fileName, mode);
}
FILE* CFileIO::GetAnsiWriteStream(const CString &fileName)
{
const CString mode = GetAnsiWriteMode();
return GetFileStream(fileName, mode);
}
FILE* CFileIO::GetUnicodeReadStream(const CString &fileName)
{
const CString mode = GetUnicodeReadMode();
return GetFileStream(fileName, mode);
}
FILE* CFileIO::GetAnsiReadStream(const CString &fileName)
{
const CString mode = GetAnsiReadMode();
return GetFileStream(fileName, mode);
}
FILE* CFileIO::GetWriteStream(const CString &fileName, const CString &text)
{
FILE *fStream = nullptr;
bool extended = StringHasExtendedCharacters(text);
if(extended)
{
fStream = GetUnicodeWriteStream(fileName);
}
else
{
fStream = GetAnsiWriteStream(fileName);
}
return fStream;
}
FILE* CFileIO::GetReadStream(const CString &fileName, const FILE_CODE_TYPE fileCodeType)
{
FILE *fStream = nullptr;
switch(fileCodeType)
{
case FILE_CODE_TYPE_ANSI:
fStream = GetAnsiReadStream(fileName);
break;
case FILE_CODE_TYPE_UNICODE:
fStream = GetUnicodeReadStream(fileName);
break;
default:
throw FileIOException();
break;
}
return fStream;
}
FILE* CFileIO::GetFileStream(const CString &fileName, const CString &mode)
{
FILE *fStream=nullptr;
errno_t err = _tfopen_s(&fStream, fileName, mode);
if(err != 0)
{
throw FileIOException();
}
return fStream;
}
bool CFileIO::StringHasExtendedCharacters(const CString &str)
{
TCHAR ch;
for(int i=0; i< str.GetLength(); i++)
{
ch = str[i];
if(ch > 127)
{
return true;
}
}
return false;
}
@@ -0,0 +1,74 @@
#pragma once
#include <stdexcept>
class FileIOException :public std::exception
{
public:
FileIOException ();
~ FileIOException ();
};
class CFileIO
{
public:
typedef enum FILE_CODE_TYPE
{
FILE_CODE_TYPE_ANSI,
FILE_CODE_TYPE_UNICODE,
FILE_CODE_TYPE_UNKNOWN
};
public:
CFileIO(void);
~CFileIO(void);
CFileIO(const CString fileName);
CString GetFileName();
bool Open(CString fileName);
bool Open(const CString& fileName, const BOOL& bCreateReadMode);
ULONGLONG Seek(LONGLONG lOff, UINT nFrom);
ULONGLONG GetPosition() const;
ULONGLONG GetLength() const;
void Close();
void NewLine();
void WirteText(const CString &text);
void WirteTextArray(const CStringArray &textArray,CString tabString=_T("\t"));
BOOL ReadText(CString &text);
private:
void WirteText(const CString &fileName,const CString &text);
void WirteTextArray(const CString &fileName,const CStringArray &textArray,CString tabString=_T("\t"));
private:
bool Open();
bool ReOpen();
bool IsActive(bool bForce=false);
void SetFileName(CString fileName);
public:
static const CString GetUnicodeWriteMode();
static const CString GetAnsiWriteMode();
static const CString GetUnicodeReadMode();
static const CString GetAnsiReadMode();
static CFileIO::FILE_CODE_TYPE GetFileCodeType(const CString &fileName);
static bool IsFileUnicode(const CString& fileName);
static FILE* GetUnicodeWriteStream(const CString &fileName);
static FILE* GetAnsiWriteStream(const CString &fileName);
static FILE* GetUnicodeReadStream(const CString &fileName);
static FILE* GetAnsiReadStream(const CString &fileName);
static FILE* GetWriteStream(const CString &fileName, const CString &text);
static FILE* GetReadStream(const CString &fileName, const FILE_CODE_TYPE fileCodeType);
static FILE* GetFileStream(const CString &fileName, const CString &mode);
static bool StringHasExtendedCharacters(const CString &str);
private:
CFileIO(const CFileIO &value);
CFileIO & operator=(const CFileIO &value);
private:
bool m_bFirst;
bool m_bOpen;
CString m_strFileName;
CStdioFile stdioFile;
};
@@ -0,0 +1,71 @@
// PCDA_Report.cpp : Defines the initialization routines for the DLL.
//
#include "stdafx.h"
#include "PCDA_Report.h"
#include "PdcaReport.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
//
//TODO: If this DLL is dynamically linked against the MFC DLLs,
// any functions exported from this DLL which call into
// MFC must have the AFX_MANAGE_STATE macro added at the
// very beginning of the function.
//
// For example:
//
// extern "C" BOOL PASCAL EXPORT ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// // normal function body here
// }
//
// It is very important that this macro appear in each
// function, prior to any calls into MFC. This means that
// it must appear as the first statement within the
// function, even before any object variable declarations
// as their constructors may generate calls into the MFC
// DLL.
//
// Please see MFC Technical Notes 33 and 58 for additional
// details.
//
// CPCDA_ReportApp
BEGIN_MESSAGE_MAP(CPCDA_ReportApp, CWinApp)
END_MESSAGE_MAP()
// CPCDA_ReportApp construction
CPCDA_ReportApp::CPCDA_ReportApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}
// The one and only CPCDA_ReportApp object
CPCDA_ReportApp theApp;
CPcdaReport g_ReportObject;
// CPCDA_ReportApp initialization
BOOL CPCDA_ReportApp::InitInstance()
{
CWinApp::InitInstance();
return TRUE;
}
extern "C" __PDCADLL_API void GenerateArchiveFile(const CString szFileName, const CString& strSerialNumber, const CString& strProductNumber, const bool bToSingleFile, const PdcaReport* vPdcaReport,
const int iItemSize, const bool bChangeRow, const int iReportSize, const BOOL bDefFormat, const int iBeginIndex, const ReportType& iReportType,
const BOOL& bFirstAppend, const BOOL bIncludeHead)
{
g_ReportObject.AdjustPathAndGenerateArchiveFile(szFileName, strSerialNumber, strProductNumber, bToSingleFile, vPdcaReport, iItemSize, bChangeRow, iReportSize, bDefFormat, iBeginIndex, iReportType, bFirstAppend, bIncludeHead);
}
@@ -0,0 +1,6 @@
; PCDA_Report.def : Declares the module parameters for the DLL.
LIBRARY
EXPORTS
; Explicit exports can go here
@@ -0,0 +1,73 @@
// PCDA_Report.h : main header file for the PCDA_Report DLL
//
#pragma once
#include <vector>
#ifdef __PDCADLL_H
#define __PDCADLL_API __declspec(dllexport)
#else
#define __PDCADLL_API __declspec(dllimport)
#endif // !__PDCADLL_H
using namespace std;
// CPCDA_ReportApp
// See PCDA_Report.cpp for the implementation of this class
//
enum ENUM_UNIT_TYPE
{
UNIT_TYPE_MM = 0,
UNIT_TYPE_INCH,
UNIT_TYPE_MIL,
UNIT_TYPE_UM
};
struct PdcaReport
{
CString m_strRecordName;
ENUM_UNIT_TYPE m_iUnit;
double m_dTheoryValue;
double m_dMeasureValue;
double m_dUpperTol;
double m_dLowerTol;
double m_dOutTol;
int m_iPrecision;
int m_iIndex;
PdcaReport()
{
m_iUnit = UNIT_TYPE_MM;
m_dTheoryValue = 0.0;
m_dMeasureValue = 0.0;
m_dUpperTol = 0.0;
m_dLowerTol = 0.0;
m_dOutTol = 0.0;
m_iPrecision = 4;
m_iIndex = 0;
}
};
typedef enum ENUM_REPORT_TYPE
{
REPORT_NORMAL = 0,
REPORT_APPEND,
REPORT_OVER_WRITE
}ReportType;
class CPCDA_ReportApp : public CWinApp
{
public:
CPCDA_ReportApp();
// Overrides
public:
virtual BOOL InitInstance();
DECLARE_MESSAGE_MAP()
};
extern "C" __PDCADLL_API void GenerateArchiveFile(const CString szFileName, const CString& strSerialNumber, const CString& strProductNumber, const bool bToSingleFile, const PdcaReport* vPdcaReport,
const int iItemSize, const bool bChangeRow, const int iReportSize, const BOOL bDefFormat = FALSE, const int iBeginIndex = 1,
const ReportType& iReportType = REPORT_NORMAL, const BOOL& bFirstAppend = FALSE, const BOOL bIncludeHead = FALSE);
@@ -0,0 +1,318 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugRelease|Win32">
<Configuration>DebugRelease</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugRelease|x64">
<Configuration>DebugRelease</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{363F54B0-75E1-4E24-AF89-F0053BAA7117}</ProjectGuid>
<RootNamespace>PCDA_Report</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
<Keyword>MFCDLLProj</Keyword>
<ProjectName>Pdca</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<UseOfMfc>Static</UseOfMfc>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<ModuleDefinitionFile>.\PCDA_Report.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<ModuleDefinitionFile>.\PCDA_Report.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<PostBuildEvent>
<Command>copy $(OutDir)$(TargetName)$(TargetExt) C:\_vse\_bin</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>.\PCDA_Report.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>.\PCDA_Report.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>.\PCDA_Report.def</ModuleDefinitionFile>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>Disabled</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>.\PCDA_Report.def</ModuleDefinitionFile>
<FullProgramDatabaseFile>true</FullProgramDatabaseFile>
</Link>
<Midl>
<MkTypLibCompatible>false</MkTypLibCompatible>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<PostBuildEvent>
<Command>copy $(OutDir)$(TargetName)$(TargetExt) C:\_vse\_bin</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="PdcaReport.cpp" />
<ClCompile Include="FileIO.cpp" />
<ClCompile Include="PCDA_Report.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="PdcaReport.h" />
<ClInclude Include="FileIO.h" />
<ClInclude Include="PCDA_Report.h" />
<ClInclude Include="Resource.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="targetver.h" />
</ItemGroup>
<ItemGroup>
<None Include="PCDA_Report.def" />
<None Include="res\PCDA_Report.rc2" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="PCDA_Report.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="PCDA_Report.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="FileIO.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="PdcaReport.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="PCDA_Report.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="targetver.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="FileIO.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="PdcaReport.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="PCDA_Report.def">
<Filter>Source Files</Filter>
</None>
<None Include="res\PCDA_Report.rc2">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="PCDA_Report.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerCommand>C:\_vse\_bin\MaxCloud.exe</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>C:\_vse\_bin</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerCommand>C:\Users\Tuser\Desktop\VSE_DEBUG\MaxCloud.exe</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>C:\Users\Tuser\Desktop\VSE_DEBUG</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'">
<LocalDebuggerCommand>C:\_vse\_bin\MaxCloud.exe</LocalDebuggerCommand>
<LocalDebuggerWorkingDirectory>C:\_vse\_bin</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,165 @@
#pragma once
#include "stdafx.h"
#include "FileIO.h"
class CPcdaReport
{
public:
CPcdaReport();
~CPcdaReport();
private:
public:
typedef enum ENUM_CSV_HEAD
{
CSV_HEAD_MEASUREMENT,
CSV_HEAD_PRODUCT,
CSV_HEAD_SERIAL_NUBER,
CSV_HEAD_SPECIAL_BUILD_NAME,
CSV_HEAD_SPECIAL_BUILD_DESCRIPTION,
CSV_HEAD_STATION_ID,
CSV_HEAD_ARCHIVE,
CSV_HEAD_CG_SN,
CSV_HEAD_HOUSINGSN,
CSV_HEAD_UNTI_NUMBER,
CSV_HEAD_TEST_STATUS,
CSV_HEAD_LIST_OF_FAILING_TESTS,
CSV_HEAD_VERSION,
CSV_HEAD_IMAGE_FLAG,
CSV_HEAD_MACHINE_ID,
CSV_HEAD_MACHINE_NUMBER,
CSV_HEAD_OPERATOR,
CSV_HEAD_CHECK_ID,
CSV_HEAD_SERIAL_ID,
CSV_HEAD_SAMPLE_NAME,
CSV_HEAD_SAMPLE_RULES,
CSV_HEAD_SAMPLE_BATCH,
CSV_HEAD_SAMPLE_METHOD,
CSV_HEAD_SAMPLE_MANUFACTURER,
CSV_HEAD_REMARKS,
CSV_HEAD_TOTAL
}CSVHead;
typedef enum ENUM_CSV_ROW_HEAD
{
CSV_ROW_HEAD_TEST_DATE,
CSV_ROW_HEAD_START_TIME,
CSV_ROW_HEAD_END_TIME,
CSV_ROW_HEAD_LABEL,
CSV_ROW_HEAD_THEORETICAL,
CSV_ROW_HEAD_PLUS_TOL,
CSV_ROW_HEAD_MINUS_TOL,
CSV_ROW_HEAD_UPPER_LIMIT,
CSV_ROW_HEAD_LOWER_LIMIT,
CSV_ROW_HEAD_OUT_TOL,
CSV_ROW_HEAD_MAX_DEV,
CSV_ROW_HEAD_MIN_DEV,
CSV_ROW_HEAD_AVE_DEV,
CSV_ROW_HEAD_MAX_OUT_TOL,
CSV_ROW_HEAD_CA,
CSV_ROW_HEAD_CP,
CSV_ROW_HEAD_CPK,
CSV_ROW_HEAD_PP,
CSV_ROW_HEAD_PPK,
CSV_ROW_HEAD_PDCA_PRIORITY,
CSV_ROW_HEAD_MEASUREMENT_UINT,
CSV_ROW_HEAD_TOTAL
}CSVRowHead;
typedef struct
{
CSVHead csvHead;
bool show;
CString csvHeadName;
}CSVHeadMap;
typedef struct
{
CSVRowHead csvRowHead;
bool rowShow;
CString csvRowHeadName;
}CSVRowHeadMap;
public:
struct ReportReserve
{
CString m_reportName;
vector<PdcaReport> m_vPcdaReport;
ReportReserve()
{
m_reportName = _T("Profile");
}
};
struct ReportHeadData
{
CStringArray m_measurementVersionArray;
CStringArray m_LabelArray;
CStringArray m_displayNameArray;
CStringArray m_PDCAPriorityArray;
CStringArray m_theoryTolArray;
CStringArray m_plusTolArray;
CStringArray m_minusTolArray;
CStringArray m_upperLimitArray;
CStringArray m_lowerLimitArray;
CStringArray m_outTolArray;
CStringArray m_maxDevArray;
CStringArray m_minDevArray;
CStringArray m_aveDevArray;
CStringArray m_maxOutTolArray;
CStringArray m_CAArray;
CStringArray m_CPArray;
CStringArray m_CPKArray;
CStringArray m_PPArray;
CStringArray m_PPKArray;
CStringArray m_measurementUnitArray;
CStringArray m_actualValueArray;
CStringArray m_actualColumnValueArray;
};
struct STRU_LINE
{
CString strLine;
BOOL bSerNumRow;
}struLine;
public:
static CSVHeadMap csvHeadMap[CSV_HEAD_TOTAL];
static CSVRowHeadMap csvRowHeadMap[CSV_ROW_HEAD_TOTAL];
void Open(const CString& ReportArchiveFile, bool append = true);
void Close();
void AdjustPathAndGenerateArchiveFile(const CString& szFileName, const CString& strSerialNumber, const CString& strProductNumber, const bool& bToSingleFile, const PdcaReport* vPdcaReport,
const int& iItemSize, const bool& bChangeRow, const int& iReportSize, const BOOL& bDefFormat = FALSE, const int& iBeginIndex = 1,
const ReportType& iReportType = REPORT_NORMAL, const BOOL& bFirstAppend = FALSE, const BOOL bIncludeHead = FALSE);
void GenerateArchiveFileCSV(CString csvFileFullPath);
BOOL FileExists(LPCTSTR pstrFileName);
CString Pro_Precision(const double& value, const int& iPreci = 4);
bool GetSerialNumAndTestDataTime(const CString& strSerialNumber, int& iLastNum, const bool bChangeRow);
bool AdjustHaveExist(const CString& szFileName, const int& iItemSize, const int& iLastNum);
bool AdjustReportAndFillWhenEmpty(vector<PdcaReport>& vPdcaReportOutput, const CString& szFileName, const int& iItemSize, const int& iReportSize, const int& iBeginIndex);
static bool CompareCondition(PdcaReport vReportA, PdcaReport vReportB);
void GetDataAndPushInKeepVector(const CString& szFileName, const PdcaReport* vPdcaReport, const int& iItemSize);
void OverWirteOrAppendInTheExistFile(const CString& szFileName, const ReportType& iReportType, const BOOL& bFirstAppend = FALSE, const BOOL bIncludeHead = FALSE);
void CountAndFindSubStrInString(const CString& strAll, const CString& strSub, const CString& sliptStr, UINT& iCount, UINT& iSubPos);
void GetReportHeadData(ReportHeadData& _ReportHeadData, bool& bAllNotShow, const BOOL bIncludeHead = FALSE);
BOOL OverWrite(CFileIO* _file, vector<STRU_LINE>& _vStrLine, const UINT& iCount, const UINT& iSubPos, const BOOL& bNewLine = TRUE);
public:
bool m_bOpen;
bool m_bArchiveToSingleFile;
bool m_bLastArchiveToSingleFile;
int m_dCountArchiveToOneFile;
CFileIO m_fileIoArchive;
int m_iReportSize;
vector<int> m_vEmptyIndex;
vector<PdcaReport> m_vPdcaReport;
vector<ReportReserve> m_vPdcaReportReserve;
CString m_strSerNum;
CString m_strProNum;
CString m_strDataTime;
CString m_strSerNumCompare;
CString m_strDataTimeCompare;
CString m_strSerBuild;
};
@@ -0,0 +1,16 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by PCDA_Report.rc
//
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 1000
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 1000
#define _APS_NEXT_COMMAND_VALUE 32771
#endif
#endif
@@ -0,0 +1,7 @@
// stdafx.cpp : source file that includes just the standard includes
// PCDA_Report.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
@@ -0,0 +1,47 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
#pragma once
#ifndef VC_EXTRALEAN
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#endif
#include "targetver.h"
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#ifndef _AFX_NO_OLE_SUPPORT
#include <afxole.h> // MFC OLE classes
#include <afxodlgs.h> // MFC OLE dialog classes
#include <afxdisp.h> // MFC Automation classes
#endif // _AFX_NO_OLE_SUPPORT
#ifndef _AFX_NO_DB_SUPPORT
#include <afxdb.h> // MFC ODBC database classes
#endif // _AFX_NO_DB_SUPPORT
#ifndef _AFX_NO_DAO_SUPPORT
#include <afxdao.h> // MFC DAO database classes
#endif // _AFX_NO_DAO_SUPPORT
#ifndef _AFX_NO_OLE_SUPPORT
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
#endif
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
#ifndef __AFXWIN_H__
#error "include 'stdafx.h' before including this file for PCH"
#endif
#define __PDCADLL_H
#include "PCDA_Report.h"
#include "resource.h" // main symbols
#include <algorithm>
@@ -0,0 +1,8 @@
#pragma once
// Including SDKDDKVer.h defines the highest available Windows platform.
// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
#include <SDKDDKVer.h>
@@ -0,0 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
Debug|x64|D:\Git_Metus\METUS_2020R1\HG_EF7_HSI_EF1\PcDmis\Base\Interfac\Msi\Hsi\PCDA_Report\|
@@ -0,0 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
DebugRelease|x64|D:\Git_Metus\METUS_2020R1\HG_EF7_HSI_EF1\PcDmis\Base\Interfac\Msi\Hsi\PCDA_Report\|
@@ -0,0 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
Release|x64|D:\Git_Metus\METUS_2020R1\HG_EF7_HSI_EF1\PcDmis\Base\Interfac\Msi\Hsi\PCDA_Report\|
@@ -369,6 +369,12 @@ enum PRO_DATA
CT_READ_Z_CONTROL_MODE,
CT_WRITE_Z_CONTROL_MODE,
CT_READ_EXTRA_IO,
CT_WRITE_EXTRA_IO,
CT_READ_MOTION_TYPE,
CT_WRITE_MOTION_TYPE,
CT_DATA_TOTAL=255
};
enum EHOME_MODE
@@ -6,7 +6,7 @@
#define MAX_OUTPUT_BUFFER_SIZE 2048
#define MAX_RECIEVE_BUFFER_SIZE 30000
#define MAX_RECIEVE_BUFFER_SIZE 3000
// TCP, serial style routines
struct SerialList
{

Some files were not shown because too many files have changed in this diff Show More