diff --git a/config/label_designs/FERRARI/ferrari_30x16_203.nlbl b/config/label_designs/FERRARI/ferrari_30x16_203.nlbl index c029dd7..c8178f9 100644 Binary files a/config/label_designs/FERRARI/ferrari_30x16_203.nlbl and b/config/label_designs/FERRARI/ferrari_30x16_203.nlbl differ diff --git a/src/main.py b/src/main.py index dfa8616..9b53380 100644 --- a/src/main.py +++ b/src/main.py @@ -10,14 +10,16 @@ import traceback import weakref from datetime import datetime from pathlib import Path -from ui.diagnostics import Diagnostics -from lib.helpers.single_process import SingleProcess -from ui.logs_management.info import Logs_Management - if platform.system().lower() == "windows": sys.path.append(f"{os.getcwd()}\src\components") else: sys.path.append(f"{os.getcwd()}/src/components") +sys.path.append(f"{os.getcwd()}") + +from ui.diagnostics import Diagnostics +from lib.helpers.single_process import SingleProcess +from ui.logs_management.info import Logs_Management + app = None diff --git a/src/test/hikrobot_sc/bin/CLAllSerial_MD_VC120_v3_0_MVS_v3_1_0.dll b/src/test/hikrobot_sc/bin/CLAllSerial_MD_VC120_v3_0_MVS_v3_1_0.dll new file mode 100644 index 0000000..e8ba323 Binary files /dev/null and b/src/test/hikrobot_sc/bin/CLAllSerial_MD_VC120_v3_0_MVS_v3_1_0.dll differ diff --git a/src/test/hikrobot_sc/bin/CLProtocol_MD_VC120_v3_0_MVS_v3_1_0.dll b/src/test/hikrobot_sc/bin/CLProtocol_MD_VC120_v3_0_MVS_v3_1_0.dll new file mode 100644 index 0000000..db8fd18 Binary files /dev/null and b/src/test/hikrobot_sc/bin/CLProtocol_MD_VC120_v3_0_MVS_v3_1_0.dll differ diff --git a/src/test/hikrobot_sc/bin/CLSerCOM.dll b/src/test/hikrobot_sc/bin/CLSerCOM.dll new file mode 100644 index 0000000..67d8ccb Binary files /dev/null and b/src/test/hikrobot_sc/bin/CLSerCOM.dll differ diff --git a/src/test/hikrobot_sc/bin/GCBase_MD_VC120_v3_0_MVS_v3_1_0.dll b/src/test/hikrobot_sc/bin/GCBase_MD_VC120_v3_0_MVS_v3_1_0.dll new file mode 100644 index 0000000..99836c4 Binary files /dev/null and b/src/test/hikrobot_sc/bin/GCBase_MD_VC120_v3_0_MVS_v3_1_0.dll differ diff --git a/src/test/hikrobot_sc/bin/GenApi_MD_VC120_v3_0_MVS_v3_1_0.dll b/src/test/hikrobot_sc/bin/GenApi_MD_VC120_v3_0_MVS_v3_1_0.dll new file mode 100644 index 0000000..382fa1e Binary files /dev/null and b/src/test/hikrobot_sc/bin/GenApi_MD_VC120_v3_0_MVS_v3_1_0.dll differ diff --git a/src/test/hikrobot_sc/bin/Log_MD_VC120_v3_0_MVS_v3_1_0.dll b/src/test/hikrobot_sc/bin/Log_MD_VC120_v3_0_MVS_v3_1_0.dll new file mode 100644 index 0000000..94b9d82 Binary files /dev/null and b/src/test/hikrobot_sc/bin/Log_MD_VC120_v3_0_MVS_v3_1_0.dll differ diff --git a/src/test/hikrobot_sc/bin/MathParser_MD_VC120_v3_0_MVS_v3_1_0.dll b/src/test/hikrobot_sc/bin/MathParser_MD_VC120_v3_0_MVS_v3_1_0.dll new file mode 100644 index 0000000..66a31b5 Binary files /dev/null and b/src/test/hikrobot_sc/bin/MathParser_MD_VC120_v3_0_MVS_v3_1_0.dll differ diff --git a/src/test/hikrobot_sc/bin/MvVSControlSDK.Net.dll b/src/test/hikrobot_sc/bin/MvVSControlSDK.Net.dll new file mode 100644 index 0000000..5aa0155 Binary files /dev/null and b/src/test/hikrobot_sc/bin/MvVSControlSDK.Net.dll differ diff --git a/src/test/hikrobot_sc/bin/MvVisionSensorControl.dll b/src/test/hikrobot_sc/bin/MvVisionSensorControl.dll new file mode 100644 index 0000000..c3780af Binary files /dev/null and b/src/test/hikrobot_sc/bin/MvVisionSensorControl.dll differ diff --git a/src/test/hikrobot_sc/bin/NodeMapData_MD_VC120_v3_0_MVS_v3_1_0.dll b/src/test/hikrobot_sc/bin/NodeMapData_MD_VC120_v3_0_MVS_v3_1_0.dll new file mode 100644 index 0000000..2efae87 Binary files /dev/null and b/src/test/hikrobot_sc/bin/NodeMapData_MD_VC120_v3_0_MVS_v3_1_0.dll differ diff --git a/src/test/hikrobot_sc/bin/XmlParser_MD_VC120_v3_0_MVS_v3_1_0.dll b/src/test/hikrobot_sc/bin/XmlParser_MD_VC120_v3_0_MVS_v3_1_0.dll new file mode 100644 index 0000000..4a36036 Binary files /dev/null and b/src/test/hikrobot_sc/bin/XmlParser_MD_VC120_v3_0_MVS_v3_1_0.dll differ diff --git a/src/test/hikrobot_sc/bin/libmmd.dll b/src/test/hikrobot_sc/bin/libmmd.dll new file mode 100644 index 0000000..8becb5e Binary files /dev/null and b/src/test/hikrobot_sc/bin/libmmd.dll differ diff --git a/src/test/hikrobot_sc/bin/log4cpp_MD_VC120_v3_0_MVS_v3_1_0.dll b/src/test/hikrobot_sc/bin/log4cpp_MD_VC120_v3_0_MVS_v3_1_0.dll new file mode 100644 index 0000000..8ea4b90 Binary files /dev/null and b/src/test/hikrobot_sc/bin/log4cpp_MD_VC120_v3_0_MVS_v3_1_0.dll differ diff --git a/src/test/hikrobot_sc/bin/msvcp120.dll b/src/test/hikrobot_sc/bin/msvcp120.dll new file mode 100644 index 0000000..60a9c0a Binary files /dev/null and b/src/test/hikrobot_sc/bin/msvcp120.dll differ diff --git a/src/test/hikrobot_sc/bin/msvcr120.dll b/src/test/hikrobot_sc/bin/msvcr120.dll new file mode 100644 index 0000000..c58afec Binary files /dev/null and b/src/test/hikrobot_sc/bin/msvcr120.dll differ diff --git a/src/test/hikrobot_sc/test_hikrobot_sc.py b/src/test/hikrobot_sc/test_hikrobot_sc.py new file mode 100644 index 0000000..de44caa --- /dev/null +++ b/src/test/hikrobot_sc/test_hikrobot_sc.py @@ -0,0 +1,81 @@ +import ctypes +import os + +# Load the MvVisionSensorControl library +mv_lib = ctypes.windll.LoadLibrary("bin/MvVisionSensorControl.dll") + +MV_MAX_DEVICE_NUM=256 +# Define the necessary structures and constants from MvVisionSensorDefine.h +class MV_VS_DEVICE_INFO(ctypes.Structure): + _fields_ = [ + ("nMajorVer", ctypes.c_ushort), # GigE protocol Major Version + ("nMinorVer", ctypes.c_ushort), # GigE protocol Minor Version + ("nMacAddrHigh", ctypes.c_uint), # High MAC Address + ("nMacAddrLow", ctypes.c_uint), # Low MAC Address + ("nIpCfgOption", ctypes.c_uint), # Supported IP Configuration Options + ("nIpCfgCurrent", ctypes.c_uint), # IP Configuration + ("nCurrentIp", ctypes.c_uint), # Current IP + ("nCurrentSubNetMask", ctypes.c_uint), # Current Subnet Mask + ("nDefultGateWay", ctypes.c_uint), # Current Gateway + ("chManufacturerName", ctypes.c_char * 32), # Manufacturer Name + ("chModelName", ctypes.c_char * 32), # Model Name + ("chDeviceVersion", ctypes.c_char * 32), # Device Version + ("chManufacturerSpecificInfo", ctypes.c_char * 48), # Manufacturer Specific Info + ("chSerialNumber", ctypes.c_char * 16), # Serial Number + ("chUserDefinedName", ctypes.c_char * 16), # User Defined Name + ("nNetExport", ctypes.c_uint), # IP address of connected network port + ("nReserved", ctypes.c_uint * 8), # Reserved + ] + +MV_MAX_DEVICE_NUM = 256 # Maximum number of supported devices + + +class MV_VS_DEVICE_INFO_LIST(ctypes.Structure): + _fields_ = [ + ("nDeviceNum", ctypes.c_uint), # Online Device Number + ("pDeviceInfo", ctypes.POINTER(MV_VS_DEVICE_INFO) * MV_MAX_DEVICE_NUM), # Device info array + ] + + +# Define MV_VS_OK from MvVSErrorDefine.h (assuming it's 0) +MV_VS_OK = 0 + +# Define function signatures +mv_lib.MV_VS_EnumDevices.argtypes = [ctypes.POINTER(MV_VS_DEVICE_INFO_LIST)] +mv_lib.MV_VS_EnumDevices.restype = ctypes.c_int + +def print_device_info(device_info_list): + num_devices=device_info_list.nDeviceNum + for i in range(num_devices): + device_info = device_info_list.pDeviceInfo[i].contents + nIp1 = ((device_info.nCurrentIp & 0xff000000) >> 24) + nIp2 = ((device_info.nCurrentIp & 0x00ff0000) >> 16) + nIp3 = ((device_info.nCurrentIp & 0x0000ff00) >> 8) + nIp4 = (device_info.nCurrentIp & 0x000000ff) + print(f"[{i}]Gige: {device_info.chUserDefinedName.decode()}" + f"({nIp1}.{nIp2}.{nIp3}.{nIp4})") + + +def main(): + print("SC2016 TEST") + + device_info_list = MV_VS_DEVICE_INFO_LIST() + + nRet = mv_lib.MV_VS_EnumDevices(ctypes.byref(device_info_list)) + + if nRet != MV_VS_OK: + print(f"Enum devices failed! nRet [{nRet:#x}]") + return -2 + else: + print("Enum devices OK") + + if device_info_list.nDeviceNum > 0: + print_device_info(device_info_list) + else: + print("Find No Devices!") + return -2 + + return 0 + +if __name__ == "__main__": + main() \ No newline at end of file