#0016: 新增变焦功能的适配

This commit is contained in:
zhengxuan.zhang
2024-12-23 13:55:43 +08:00
parent edeed6bb0e
commit 36cff662a5
6 changed files with 2543 additions and 2520 deletions
+10 -8
View File
@@ -145,9 +145,8 @@ HSI_API HSI_STATUS WINAPI HSI_SHUTDOWM()
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// MOTION API 运动相关API // MOTION API 运动相关API
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
#pragma region Motion API #pragma region Motion API Phase 1
#pragma region 第一阶段实现的API功能
//=========================================================================== //===========================================================================
HSI_API HSI_STATUS WINAPI HSI_MOTION_STARTUP(bool bHome) HSI_API HSI_STATUS WINAPI HSI_MOTION_STARTUP(bool bHome)
{ {
@@ -378,12 +377,6 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED(UINT& Types)
} }
return rStatus; return rStatus;
} }
#pragma endregion
#define USE_Motion_API
#ifdef USE_Motion_API
#pragma region 后续考虑
//=========================================================================== //===========================================================================
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_FOCUSSPEED_XYZ(double& Speed) HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_FOCUSSPEED_XYZ(double& Speed)
@@ -415,6 +408,15 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_FOCUSSPEED_XYZ(double Speed)
return rStatus; return rStatus;
} }
#pragma endregion
#define USE_Motion_API
#ifdef USE_Motion_API
#pragma region 后续考虑
//=========================================================================== //===========================================================================
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_XYZ(double Speed) HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_XYZ(double Speed)
{ {
@@ -122,6 +122,9 @@ copy "$(TargetDir)$(ProjectName).dll" "D:\HSI_Sevenocean_EF3.dll" </Command>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="ClassDiagram1.cd" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
</ImportGroup> </ImportGroup>
@@ -22,4 +22,7 @@
<ClInclude Include="SevenOcean\CMMIO_SERIAL.H" /> <ClInclude Include="SevenOcean\CMMIO_SERIAL.H" />
<ClInclude Include="ACS\ACSC.h" /> <ClInclude Include="ACS\ACSC.h" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="ClassDiagram1.cd" />
</ItemGroup>
</Project> </Project>
File diff suppressed because it is too large Load Diff
+83 -78
View File
@@ -70,7 +70,7 @@ enum MOTOR_CMD //第二级指令
CT_MOTOR_UPDATE, // up date all the aixs CT_MOTOR_UPDATE, // up date all the aixs
}; };
enum MOTOR_START_POSOTION // enum MOTOR_START_POSOTION //
{ {
INTERPOLATION = 0x61, INTERPOLATION = 0x61,
//插补 //插补
@@ -154,14 +154,14 @@ public:
HSI_STATUS Startup(HWND _hWnd, bool _bOfflineOnly) override; HSI_STATUS Startup(HWND _hWnd, bool _bOfflineOnly) override;
/** /**
* \brief EF3固件版本 * \brief EF3固件版本
* \param version * \param version
* \return * \return
*/ */
HSI_STATUS GetFirmwareVersion(byte* version); HSI_STATUS GetFirmwareVersion(byte* version);
/** /**
* \brief * \brief
* \param bHomed * \param bHomed
* \return * \return
*/ */
HSI_STATUS HomeMachine(bool bHomed); HSI_STATUS HomeMachine(bool bHomed);
HSI_STATUS HomeMachineOld(bool bHomed); HSI_STATUS HomeMachineOld(bool bHomed);
@@ -172,15 +172,15 @@ public:
/** /**
* \brief * \brief
* \param bHomed * \param bHomed
* \return * \return
*/ */
HSI_STATUS IsHomed(bool& bHomed); HSI_STATUS IsHomed(bool& bHomed);
HSI_STATUS IsHomedOld(bool& bHomed); HSI_STATUS IsHomedOld(bool& bHomed);
/** /**
* \brief * \brief
* \param AxisNum * \param AxisNum
* \param Speed * \param Speed
* \return * \return
*/ */
HSI_STATUS GetSpeedXyz(int AxisNum, double& Speed); HSI_STATUS GetSpeedXyz(int AxisNum, double& Speed);
HSI_STATUS GetSpeedXyzOld(int AxisNum, double& Speed); HSI_STATUS GetSpeedXyzOld(int AxisNum, double& Speed);
@@ -191,8 +191,13 @@ public:
* \return * \return
*/ */
HSI_STATUS SetSpeedXyz(double Speed); HSI_STATUS SetSpeedXyz(double Speed);
// 获取变焦速度
HSI_STATUS GetFocusSpeedOld(double& Speed);
HSI_STATUS GetFocusSpeed(double& Speed); HSI_STATUS GetFocusSpeed(double& Speed);
// 设置变焦速度
HSI_STATUS SetFocusSpeedOld(double Speed);
HSI_STATUS SetFocusSpeed(double Speed); HSI_STATUS SetFocusSpeed(double Speed);
HSI_STATUS GetAccelerationXyz(double& AccelX, double& AccelY, double& AccelZ); HSI_STATUS GetAccelerationXyz(double& AccelX, double& AccelY, double& AccelZ);
HSI_STATUS SetAccelerationXyz(double AccelX, double AccelY, double AccelZ); HSI_STATUS SetAccelerationXyz(double AccelX, double AccelY, double AccelZ);
HSI_STATUS GetSpeedR(double& Speed); HSI_STATUS GetSpeedR(double& Speed);
@@ -203,27 +208,27 @@ public:
HSI_STATUS GetRefreshDeadBand(double& Deadband); HSI_STATUS GetRefreshDeadBand(double& Deadband);
/** /**
* \brief Jog运动,JOG才有CNC运行的速度是合成速度 * \brief Jog运动,JOG才有CNC运行的速度是合成速度
* \param AxisTypes * \param AxisTypes
* \param Speed * \param Speed
* \return * \return
*/ */
HSI_STATUS Jog(UINT AxisTypes, double Speed); HSI_STATUS Jog(UINT AxisTypes, double Speed);
HSI_STATUS JogOld(UINT AxisTypes, double Speed); HSI_STATUS JogOld(UINT AxisTypes, double Speed);
HSI_STATUS JoyStick(UINT AxisTypes, long Speed); HSI_STATUS JoyStick(UINT AxisTypes, long Speed);
/** /**
* \brief * \brief
* \return * \return
*/ */
HSI_STATUS StopJog(); HSI_STATUS StopJog();
HSI_STATUS StopJogOld(); HSI_STATUS StopJogOld();
HSI_STATUS StopJogEx(UINT AxisTypes); HSI_STATUS StopJogEx(UINT AxisTypes);
/** /**
* \brief * \brief
* \param AxisTypes * \param AxisTypes
* \param EncPos * \param EncPos
* \param PrfPos * \param PrfPos
* \param Count * \param Count
* \return * \return
*/ */
HSI_STATUS GetPositionEncPrfMulti(UINT AxisTypes, double* EncPos, double* PrfPos, int Count); HSI_STATUS GetPositionEncPrfMulti(UINT AxisTypes, double* EncPos, double* PrfPos, int Count);
HSI_STATUS GetPositionEncPrfMultiOld(UINT AxisTypes, double* EncPos, double* PrfPos, int Count); HSI_STATUS GetPositionEncPrfMultiOld(UINT AxisTypes, double* EncPos, double* PrfPos, int Count);
@@ -233,13 +238,13 @@ public:
* \param PositionX X坐标 * \param PositionX X坐标
* \param PositionY Y坐标 * \param PositionY Y坐标
* \param PositionZ Z坐标 * \param PositionZ Z坐标
* \param Time * \param Time
* \return * \return
*/ */
HSI_STATUS GetPositionXyz(UINT AxisTypes, double& PositionX, double& PositionY, double& PositionZ, double& Time); HSI_STATUS GetPositionXyz(UINT AxisTypes, double& PositionX, double& PositionY, double& PositionZ, double& Time);
HSI_STATUS GetPositionXyzOld(UINT AxisTypes, double& PositionX, double& PositionY, double& PositionZ, double& Time); HSI_STATUS GetPositionXyzOld(UINT AxisTypes, double& PositionX, double& PositionY, double& PositionZ, double& Time);
HSI_STATUS GetPositionXyzaProbe(UINT AxisTypes, double& PositionX, double& PositionY, double& PositionZ, HSI_STATUS GetPositionXyzaProbe(UINT AxisTypes, double& PositionX, double& PositionY, double& PositionZ,
double& PositionA); double& PositionA);
HSI_STATUS GetEncoderXyz(long* lEncoderVal);//获取编码器位置 HSI_STATUS GetEncoderXyz(long* lEncoderVal);//获取编码器位置
HSI_STATUS GetEncoderXyzOld(long* lEncoderVal); HSI_STATUS GetEncoderXyzOld(long* lEncoderVal);
HSI_STATUS JogProbe(UINT AxisTypes, double Speed); HSI_STATUS JogProbe(UINT AxisTypes, double Speed);
@@ -247,12 +252,12 @@ public:
int CaculateStepMotorACC(int pos, int maxacc, int minacc); int CaculateStepMotorACC(int pos, int maxacc, int minacc);
/** /**
* \brief * \brief
* \param AXIS * \param AXIS
* \param motionParam * \param motionParam
* \return * \return
*/ */
HSI_STATUS HSI_Motion::GetSingleAxisParam(int AXIS, double motionParam[5]); //获取单轴运动参数 HSI_STATUS GetSingleAxisParam(int AXIS, double motionParam[5]); //获取单轴运动参数
HSI_STATUS HSI_Motion::SetSingleAxisParam(int AXIS, double motionParam[5]); //设置单轴运动参数 HSI_STATUS SetSingleAxisParam(int AXIS, double motionParam[5]); //设置单轴运动参数
/** /**
* \brief * \brief
* \param AxisTypes * \param AxisTypes
@@ -260,15 +265,15 @@ public:
* \param PositionY Y坐标 * \param PositionY Y坐标
* \param PositionZ Z坐标 * \param PositionZ Z坐标
* \param eType * \param eType
* \param dFlyRadius * \param dFlyRadius
* \return * \return
*/ */
HSI_STATUS SetPositionXyz(UINT AxisTypes, double PositionX, double PositionY, double PositionZ, HSI_STATUS SetPositionXyz(UINT AxisTypes, double PositionX, double PositionY, double PositionZ,
HSI_MOTION_MOVE_TYPE eType, double dFlyRadius); HSI_MOTION_MOVE_TYPE eType, double dFlyRadius);
HSI_STATUS SetPositionXyzOld(UINT AxisTypes, double PositionX, double PositionY, double PositionZ, HSI_STATUS SetPositionXyzOld(UINT AxisTypes, double PositionX, double PositionY, double PositionZ,
HSI_MOTION_MOVE_TYPE eType, double dFlyRadius); HSI_MOTION_MOVE_TYPE eType, double dFlyRadius);
HSI_STATUS SetPositionXyza(UINT AxisTypes, double PositionX, double PositionY, double PositionZ, double PositionA, HSI_STATUS SetPositionXyza(UINT AxisTypes, double PositionX, double PositionY, double PositionZ, double PositionA,
HSI_MOTION_MOVE_TYPE eType, double dFlyRadius); HSI_MOTION_MOVE_TYPE eType, double dFlyRadius);
HSI_STATUS SetPositionXyzCache(UINT AxisTypes, HSI_MOTION_MOVE_TYPE eType, int DataCount, Point* CacheData); HSI_STATUS SetPositionXyzCache(UINT AxisTypes, HSI_MOTION_MOVE_TYPE eType, int DataCount, Point* CacheData);
HSI_STATUS GetPositionXyzCache(unsigned char* CacheData, int& DataCount); HSI_STATUS GetPositionXyzCache(unsigned char* CacheData, int& DataCount);
HSI_STATUS GetPositionR(UINT AxisTypes, double& PositionR, double& Time); HSI_STATUS GetPositionR(UINT AxisTypes, double& PositionR, double& Time);
@@ -277,32 +282,32 @@ public:
HSI_STATUS Load_EF3_Motion_Inifile(CString GoogolIniFile); HSI_STATUS Load_EF3_Motion_Inifile(CString GoogolIniFile);
HSI_STATUS Load_EF3_Config_Inifile(CString GoogolIniFile); HSI_STATUS Load_EF3_Config_Inifile(CString GoogolIniFile);
/** /**
* \brief * \brief
* \return * \return
*/ */
HSI_STATUS AbortMotion(); HSI_STATUS AbortMotion();
HSI_STATUS AbortMotionOld(); HSI_STATUS AbortMotionOld();
/** /**
* \brief * \brief
* \param IOChannel * \param IOChannel
* \param _Status * \param _Status
* \return * \return
*/ */
HSI_STATUS GetDIO(UINT IOChannel, UINT& _Status); HSI_STATUS GetDIO(UINT IOChannel, UINT& _Status);
HSI_STATUS GetDIOOld(UINT IOChannel, UINT& _Status); HSI_STATUS GetDIOOld(UINT IOChannel, UINT& _Status);
/** /**
* \brief * \brief
* \param IOChannel * \param IOChannel
* \param _Status * \param _Status
* \return * \return
*/ */
HSI_STATUS SetDIO(UINT IOChannel, UINT _Status); HSI_STATUS SetDIO(UINT IOChannel, UINT _Status);
HSI_STATUS SetDIOOld(UINT IOChannel, UINT _Status); HSI_STATUS SetDIOOld(UINT IOChannel, UINT _Status);
HSI_STATUS GetAxisStatus(int* _Status); HSI_STATUS GetAxisStatus(int* _Status);
HSI_STATUS GetAppPath(CString& Path); HSI_STATUS GetAppPath(CString& Path);
/** /**
* \brief * \brief
* \return * \return
*/ */
HSI_STATUS Shutdown() override; HSI_STATUS Shutdown() override;
HSI_STATUS IsSupportedEx(UINT AxisTypes, UINT& Types); HSI_STATUS IsSupportedEx(UINT AxisTypes, UINT& Types);
@@ -319,7 +324,7 @@ public:
HSI_STATUS GetAccelerationEx(UINT AxisTypes, double& Accel); HSI_STATUS GetAccelerationEx(UINT AxisTypes, double& Accel);
HSI_STATUS SetAccelerationEx(UINT AxisTypes, double Accel); HSI_STATUS SetAccelerationEx(UINT AxisTypes, double Accel);
HSI_STATUS SetTriggerLight(int triggleNum, int delayLighting, int delayLightBefor, int triggleMode, HSI_STATUS SetTriggerLight(int triggleNum, int delayLighting, int delayLightBefor, int triggleMode,
double* Intensities); double* Intensities);
HSI_STATUS DCCPPStartPoint(double* startPoint); HSI_STATUS DCCPPStartPoint(double* startPoint);
HSI_STATUS DCCScanSetData(UINT AxisTypes, HSI_SCAN_MOTION_TYPE eType, UINT lTrigNumber, double* dTrigDis);// 下发触发间距,轴、等间距或者等时间、触发数量、间距 HSI_STATUS DCCScanSetData(UINT AxisTypes, HSI_SCAN_MOTION_TYPE eType, UINT lTrigNumber, double* dTrigDis);// 下发触发间距,轴、等间距或者等时间、触发数量、间距
@@ -334,16 +339,16 @@ public:
HSI_STATUS DCCScanSetDataWithPoints(UINT AxisTypes, double speed, Point3D* points, UINT numPoints); // 直线电机平台新增,三轴轨迹规划 HSI_STATUS DCCScanSetDataWithPoints(UINT AxisTypes, double speed, Point3D* points, UINT numPoints); // 直线电机平台新增,三轴轨迹规划
HSI_STATUS DCCForLightPlate(); HSI_STATUS DCCForLightPlate();
HSI_STATUS IOStep(bool RunSts); HSI_STATUS IOStep(bool RunSts);
HSI_STATUS IOprogram(byte* SendData, int length); HSI_STATUS IOprogram(byte* SendData, int length);
HSI_STATUS FindOriginTest(bool state); HSI_STATUS FindOriginTest(bool state);
HSI_STATUS StartPlcJob(int* CamerasDis, int* BinsDis, int SubArea, int filterTime1, int filterTime2, HSI_STATUS StartPlcJob(int* CamerasDis, int* BinsDis, int SubArea, int filterTime1, int filterTime2,
int pluseSumDis); int pluseSumDis);
HSI_STATUS SendBinResult(int* BinResult); HSI_STATUS SendBinResult(int* BinResult);
HSI_STATUS GetTriggleCount(int* nCount, int& nArea); HSI_STATUS GetTriggleCount(int* nCount, int& nArea);
HSI_STATUS GluePPSpnts(int* ppsDir, double* gluePPSPos, int* delayLightBefore, int* lightTime, double* lightData, HSI_STATUS GluePPSpnts(int* ppsDir, double* gluePPSPos, int* delayLightBefore, int* lightTime, double* lightData,
int num); int num);
HSI_STATUS GlueDispenser(int* index, int* cirdirection, double* gluePos, int num); HSI_STATUS GlueDispenser(int* index, int* cirdirection, double* gluePos, int num);
HSI_STATUS GlueDispenserStart(double xOffset, double yOffset, double qOffset); HSI_STATUS GlueDispenserStart(double xOffset, double yOffset, double qOffset);
HSI_STATUS GetPntsDistance(double& ptpDistance, int& spTimeCount); HSI_STATUS GetPntsDistance(double& ptpDistance, int& spTimeCount);
@@ -441,7 +446,7 @@ public:
UINT m_ForStatus; UINT m_ForStatus;
int m_Set_XYZA_Reserve; //XYZA轴方向 int m_Set_XYZA_Reserve; //XYZA轴方向
int m_motorType; //电机类型 1为伺服电机 0为步进电机 int m_motorType; //电机类型 1为伺服电机 0为步进电机
int m_setPositionDelay; //设置定位超时 int m_setPositionDelay; //设置定位超时
int m_setPositionPrecision; //设置定位精度 int m_setPositionPrecision; //设置定位精度
int m_setPositionNum; int m_setPositionNum;
CString m_AppPath;//MST软件运行标志,trueMST软件已经启动,falseMST软件停止 CString m_AppPath;//MST软件运行标志,trueMST软件已经启动,falseMST软件停止
@@ -482,7 +487,7 @@ public:
long m_ProbeCapturePos[5]; //锁存各轴的位置 long m_ProbeCapturePos[5]; //锁存各轴的位置
double m_ProbeReturnPos; //探针触发时,调试时返回的距离mm,点击启动按钮时不起作用,默认10.0mm double m_ProbeReturnPos; //探针触发时,调试时返回的距离mm,点击启动按钮时不起作用,默认10.0mm
int m_ProbeReturnSpeed; //探针触发后,轴的回退速度 int m_ProbeReturnSpeed; //探针触发后,轴的回退速度
int m_isOKGlint; //是否开启ok/ng 闪烁 int m_isOKGlint; //是否开启ok/ng 闪烁
int m_ETIPort; //外部触发拍照输入端口号 int m_ETIPort; //外部触发拍照输入端口号
int m_axisStatus; //运动各轴的状态 int m_axisStatus; //运动各轴的状态
int m_axisAlarmStatus; //轴报警状态 int m_axisAlarmStatus; //轴报警状态
@@ -494,7 +499,7 @@ public:
int m_IsCollectPos; //是否通过串口打印位置,与摇杆2互斥 int m_IsCollectPos; //是否通过串口打印位置,与摇杆2互斥
int m_IsCloseRocker; int m_IsCloseRocker;
int m_IsLightDebug; //是否不回家也能调试灯光 0为不启用 1为启用 默认为0 int m_IsLightDebug; //是否不回家也能调试灯光 0为不启用 1为启用 默认为0
int m_rockerHStartSpeed[4]; //摇杆XYZ轴高初始速度 int m_rockerHStartSpeed[4]; //摇杆XYZ轴高初始速度
int m_rockerHDriveSpeed[4]; //摇杆XYZ轴高驱动速度 int m_rockerHDriveSpeed[4]; //摇杆XYZ轴高驱动速度
int m_rockerLStartSpeed[4]; //摇杆XYZ轴低初始速度 int m_rockerLStartSpeed[4]; //摇杆XYZ轴低初始速度
int m_rockerLDriveSpeed[4]; //摇杆XYZ轴低驱动速度 int m_rockerLDriveSpeed[4]; //摇杆XYZ轴低驱动速度
@@ -511,7 +516,7 @@ public:
bool jogMoving; bool jogMoving;
bool jogDirFlag; bool jogDirFlag;
bool m_bEmergencyState; bool m_bEmergencyState;
bool bUseGlueDispenser; //是否开启点胶 bool bUseGlueDispenser; //是否开启点胶
int m_iGlueStartSpeed; int m_iGlueStartSpeed;
int m_iGlueDriveSpeed; int m_iGlueDriveSpeed;
int m_iGlueAccSpeed; int m_iGlueAccSpeed;
@@ -598,38 +603,38 @@ public:
VOID EventCallback(sHSIEventProperties& sEventProp); VOID EventCallback(sHSIEventProperties& sEventProp);
/** /**
* \brief * \brief
* \param AxisNum * \param AxisNum
* \param Speed * \param Speed
* \param DriveSpeed * \param DriveSpeed
* \param StartSpeed * \param StartSpeed
* \param AccLine * \param AccLine
* \param DecLine * \param DecLine
* \param AccCurve * \param AccCurve
* \param DecCurve * \param DecCurve
* \return * \return
*/ */
int SpeedPercent(int AxisNum, double& Speed, int& DriveSpeed, int& StartSpeed, int& AccLine, int& DecLine, int SpeedPercent(int AxisNum, double& Speed, int& DriveSpeed, int& StartSpeed, int& AccLine, int& DecLine,
int& AccCurve, int& DecCurve); int& AccCurve, int& DecCurve);
/** /**
* \brief , ; * \brief , ;
* \param AxisNum * \param AxisNum
* \param Speed * \param Speed
* \param DriveSpeed * \param DriveSpeed
* \param StartSpeed * \param StartSpeed
* \param AccLine * \param AccLine
* \param DecLine * \param DecLine
* \param AccCurve * \param AccCurve
* \param DecCurve * \param DecCurve
* \return * \return
*/ */
bool SpeedPercentJoyStick(int AxisNum, long& Speed, int& DriveSpeed, int& StartSpeed, int& AccLine, int& DecLine, bool SpeedPercentJoyStick(int AxisNum, long& Speed, int& DriveSpeed, int& StartSpeed, int& AccLine, int& DecLine,
int& AccCurve, int& DecCurve); int& AccCurve, int& DecCurve);
void HomeJogGearsChoice(int AxisType, int JogGears, int& DriveSpeed, int& StartSpeed, int& AccLine, int& DecLine, void HomeJogGearsChoice(int AxisType, int JogGears, int& DriveSpeed, int& StartSpeed, int& AccLine, int& DecLine,
int& AccCurve, int& DecCurve); int& AccCurve, int& DecCurve);
/** /**
* \brief * \brief
* \param AxisTypes * \param AxisTypes
* \return * \return
*/ */
short AxisConvertIndex(UINT AxisTypes); short AxisConvertIndex(UINT AxisTypes);
short IndexConvertAxis(int Index); short IndexConvertAxis(int Index);
+2 -2
View File
@@ -12,5 +12,5 @@
#define HSI_VERSION_REVNUM #define HSI_VERSION_REVNUM
#define HSI_VERSION_BUILD_DATE _T(__DATE__ ) #define HSI_VERSION_BUILD_DATE _T(__DATE__ )
#define HSI_VERSION_BUILD_TIME _T(__TIME__ ) #define HSI_VERSION_BUILD_TIME _T(__TIME__ )
#define HSI_FILE_DESCRIPTION "周四 2.24.08 / 13:09 " #define HSI_FILE_DESCRIPTION "2024.12.23 / 13:41 "
#define HSI_FILE_CSDESCRIPTION _T("周四 2.24.08 / 13:09 ") #define HSI_FILE_CSDESCRIPTION _T("2024.12.23 / 13:41 ")