Explorar el Código

修复OPT相机采集图像

徐孝锋 hace 8 meses
padre
commit
d0cecb0ea7

+ 6 - 1
TeamAAS-VM/Core/Cameras/OptCamera.cs

@@ -410,17 +410,21 @@ namespace TeamAAS_VP.Core.Cameras
                         {
                             OpenDevice();
                         }
+                        nReVal = mvCameraAcq.StartGrabbing();
                         nReVal = mvCameraAcq.Grab(ref payload);
                         if (nReVal == SciCam.SCI_CAMERA_OK)
                         {
                             Image = GetConvertedInfo(payload);
                             mvCameraAcq.FreePayload(payload);
+                            nReVal = mvCameraAcq.StopGrabbing();
                             TotalTime = sw.Elapsed;
                             return Image;
                         }
-                        else if (nReVal == SciCam.SCI_ERR_CAMERA_OFFLINE)
+                        else
                         {
                             nReVal = mvCameraAcq.FreePayload(payload);
+                            nReVal = mvCameraAcq.StopGrabbing();
+                            _operationSemaphore.Release();
                             CloseDevice();
                             OpenDevice();
                             ErrorMessage = "图像采集失败!";
@@ -428,6 +432,7 @@ namespace TeamAAS_VP.Core.Cameras
                     }
                     catch (Exception ex)
                     {
+                        _operationSemaphore.Release();
                         CloseDevice();
                         OpenDevice();
                         ErrorMessage = ex.Message;

+ 6 - 2
TeamAAS-VM/Core/ScrewDriver/XYD_ScrewDriver.cs

@@ -223,11 +223,15 @@ namespace TeamAAS_VP.Core.ScrewDriver
                 }
 
                 byte[] data = ReceiveOnce();
-                if (data == null || !DataAnalysis(data))
+                if (data==null || data.Length==0)
                 {
-                    UpdateConnectState(false);
                     return false;
                 }
+                //if (data == null || !DataAnalysis(data))
+                //{
+                //    UpdateConnectState(true);
+                //    return true;
+                //}
 
                 UpdateConnectState(true);
                 return true;