From b5646e3f08bf45a27a3db92f5e27568a5448cb03 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期二, 10 十二月 2024 12:34:11 +0800
Subject: [PATCH] 优化串口重连
---
src/samples/deviceApi/mbp7000.ts | 28 ++++++++++++++++++----------
1 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/src/samples/deviceApi/mbp7000.ts b/src/samples/deviceApi/mbp7000.ts
index f1005f9..de51cab 100644
--- a/src/samples/deviceApi/mbp7000.ts
+++ b/src/samples/deviceApi/mbp7000.ts
@@ -1,5 +1,5 @@
-import { ElMessage, ElMessageBox } from 'element-plus'
+import { ElMessage, ElMessageBox, ElNotification } from 'element-plus'
const { SerialPort } = require('serialport')
const { DelimiterParser } = require('@serialport/parser-delimiter')
const { InterByteTimeoutParser } = require('@serialport/parser-inter-byte-timeout')
@@ -21,7 +21,7 @@
console.log('初始化打开mbp7000口')
if(reconnectAttempts!==0){
ipcRenderer.invoke('logger', '串口重连第${reconnectAttempts}次')
- ElMessage({
+ ElMessage.warning({
message: `串口重连第${reconnectAttempts}次启动`,
type: 'success',
})
@@ -58,16 +58,25 @@
}
try {
serialPort = new SerialPort({ path, baudRate }, (err: any) => {
+ reconnectAttempts++
if (err) {
console.log(err)
- ElMessage({
- message: '端口打开失败!',
- type: 'error',
- })
- console.log(err)
+ ipcRenderer.invoke('logger', 'mbp7000血压计端口打开失败!')
+ ElNotification.warning({
+ title: '警告',
+ message: 'mbp7000血压计端口打开失败!',
+ showClose: false,
+ duration:10000
+ })
+
+ setTimeout(()=>{
+ initPort(path,baudRate)
+ }, RECONNECT_INTERVAL);
}else{
- ElMessage({
- message: '端口打开成功',
+ reconnectAttempts=0
+ ipcRenderer.invoke('logger', 'mbp7000血压计端口打开成功')
+ ElMessage.success({
+ message: 'mbp7000血压计端口打开成功',
type: 'success',
})
}
@@ -84,7 +93,6 @@
const parser = serialPort.pipe(new InterByteTimeoutParser({ interval: 500 ,maxBufferSize:20}))
parser.on('ready', () => console.log('the ready byte sequence has been received'))
-
parser.on('data',(value: string | any[]) =>{
console.log('-----------------')
if(value.length>=20){
--
Gitblit v1.8.0