增加对海康USB相机的支持

master
lhiven 2 years ago
parent 37705e310b
commit d843e6b467

@ -3,6 +3,7 @@ using MvCamCtrl.NET;
using Rs.Framework; using Rs.Framework;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text; using System.Text;
@ -184,7 +185,46 @@ namespace Rs.Camera
{ {
return ECameraErrorCode.StartGrabbingFail; return ECameraErrorCode.StartGrabbingFail;
} }
}
else if (device.nTLayerType == MyCamera.MV_USB_DEVICE)
{
MyCamera.MV_USB3_DEVICE_INFO usbInfo = (MyCamera.MV_USB3_DEVICE_INFO)MyCamera.ByteToStruct(device.SpecialInfo.stGigEInfo, typeof(MyCamera.MV_USB3_DEVICE_INFO));
string cameraInfo = usbInfo.chUserDefinedName;// gigeInfo.chModelName + " (" + gigeInfo.chSerialNumber + ")";
MyCamera camera = new MyCamera();
cameraDic.Add(cameraInfo, camera);
apiResult = camera.MV_CC_CreateDevice_NET(ref device);
if (apiResult != 0)
{
return ECameraErrorCode.CreateDeviceFail;
}
apiResult = camera.MV_CC_OpenDevice_NET();
if (apiResult != 0)
{
return ECameraErrorCode.OpenDeviceFail;
}
apiResult = camera.MV_CC_SetEnumValue_NET("TriggerMode", (uint)MyCamera.MV_CAM_TRIGGER_MODE.MV_TRIGGER_MODE_ON);
if (nRet != MyCamera.MV_OK)
{
return ECameraErrorCode.SetTriggerModeFail;
}
apiResult = camera.MV_CC_SetEnumValue_NET("TriggerSource", (uint)MyCamera.MV_CAM_TRIGGER_SOURCE.MV_TRIGGER_SOURCE_SOFTWARE);
if (nRet != MyCamera.MV_OK)
{
return ECameraErrorCode.SetTriggerSourceFail;
}
apiResult = camera.MV_CC_RegisterImageCallBackEx_NET(cbImage, (IntPtr)i);
if (apiResult != 0)
{
return ECameraErrorCode.RegisterImageCallBackExFail;
}
cameraIDs.Add(cameraInfo, i);
camTrigger.Add(i, ETriggerMode.Manual);
//apiResult = camera.MV_CC_StartGrabbing_NET();
if (apiResult != 0)
{
return ECameraErrorCode.StartGrabbingFail;
}
} }
} }

Loading…
Cancel
Save