| | |
| | | |
| | | 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') |
| | |
| | | console.log('初始化打开mbp7000口') |
| | | if(reconnectAttempts!==0){ |
| | | ipcRenderer.invoke('logger', '串口重连第${reconnectAttempts}次') |
| | | ElMessage({ |
| | | ElMessage.warning({ |
| | | message: `串口重连第${reconnectAttempts}次启动`, |
| | | type: 'success', |
| | | }) |
| | |
| | | } |
| | | try { |
| | | serialPort = new SerialPort({ path, baudRate }, (err: any) => { |
| | | reconnectAttempts++ |
| | | if (err) { |
| | | console.log(err) |
| | | ElMessage({ |
| | | message: '端口打开失败!', |
| | | type: 'error', |
| | | ipcRenderer.invoke('logger', 'mbp7000血压计端口打开失败!') |
| | | ElNotification.warning({ |
| | | title: '警告', |
| | | message: 'mbp7000血压计端口打开失败!', |
| | | showClose: false, |
| | | duration:10000 |
| | | }) |
| | | console.log(err) |
| | | |
| | | setTimeout(()=>{ |
| | | initPort(path,baudRate) |
| | | }, RECONNECT_INTERVAL); |
| | | }else{ |
| | | ElMessage({ |
| | | message: '端口打开成功', |
| | | reconnectAttempts=0 |
| | | ipcRenderer.invoke('logger', 'mbp7000血压计端口打开成功') |
| | | ElMessage.success({ |
| | | message: 'mbp7000血压计端口打开成功', |
| | | type: 'success', |
| | | }) |
| | | } |
| | |
| | | |
| | | 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){ |