Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
SO775-DUOStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit ad4e221b
由
刘韬
编写于
2022-01-13 10:26:05 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
优化监控相机重连机制
1 个父辈
958879e7
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
16 行增加
和
10 行删除
source/DeviceLibrary/duoStore/BoxBean.cs
source/DeviceLibrary/duoStore/BoxBean_Camera.cs
source/DeviceLibrary/duoStore/BoxBean.cs
查看文件 @
ad4e221
...
...
@@ -345,6 +345,7 @@ namespace OnlineStore.DeviceLibrary
runStatus
=
StoreRunStatus
.
Wait
;
mainTimer
.
Enabled
=
false
;
CameraClose
();
TimeSpan
span
=
DateTime
.
Now
-
StartTime
;
LogInfo
(
",停止运行,总运行时间:"
+
span
.
ToString
());
}
...
...
source/DeviceLibrary/duoStore/BoxBean_Camera.cs
查看文件 @
ad4e221
...
...
@@ -20,6 +20,7 @@ namespace OnlineStore.DeviceLibrary
public
event
EventHandler
<
Bitmap
>
camera_event
;
public
string
CameraDeviceName
=
"monitor1"
;
bool
loop
=
true
;
public
void
LoadCameraConfig
(
string
id
)
{
string
path
=
@".\StoreConfig\box_"
+
id
+
"_Camera.json"
;
...
...
@@ -52,6 +53,7 @@ namespace OnlineStore.DeviceLibrary
{
LogUtil
.
error
(
Name
+
$
"监控相机打开失败"
);
}
loop
=
true
;
camerathread
=
new
Thread
(
new
ThreadStart
(
startCamera
));
camerathread
.
Start
();
GC
.
KeepAlive
(
camerathread
);
...
...
@@ -60,7 +62,7 @@ namespace OnlineStore.DeviceLibrary
int
errortimes
=
0
;
void
startCamera
()
{
while
(
true
)
while
(
loop
)
{
try
{
...
...
@@ -77,15 +79,13 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
errortimes
==
5
)
{
camera
.
Open
();
errortimes
++;
camera
.
Close
(
CameraDeviceName
);
Thread
.
Sleep
(
1000
);
camera
.
Open
(
CameraDeviceName
);
errortimes
=
0
;
LogUtil
.
error
(
Name
+
$
"相机错误次数过多,重新打开,{errortimes}"
);
}
else
if
(
errortimes
==
6
)
{
LogUtil
.
error
(
Name
+
$
"相机连接失败, 相机线程退出,{errortimes}"
);
break
;
}
Thread
.
Sleep
(
5000
);
}
Thread
.
Sleep
(
1000
/
7
);
}
catch
...
...
@@ -93,9 +93,14 @@ namespace OnlineStore.DeviceLibrary
errortimes
++;
}
}
camera
.
Close
();
camera
.
Close
(
CameraDeviceName
);
camera
.
Dispose
();
}
public
void
CameraClose
()
{
LogUtil
.
info
(
Name
+
"线程退出"
);
loop
=
false
;
}
void
CameraGrabOne
(
string
filename
)
{
try
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论