异步串口调试
This commit is contained in:
parent
424dc1ab23
commit
9623750d0b
@ -260,6 +260,7 @@ export async function takePhotoFn(context) {
|
||||
let fd
|
||||
const devPath="/dev/ttyS3"
|
||||
function openChuankouFn() {
|
||||
console.log('SerialOpen in indexservice, path=' + devPath)
|
||||
fd = testNapi.SerialOpen(devPath);
|
||||
globalThis.num=0
|
||||
globalThis.fd=fd
|
||||
@ -273,49 +274,63 @@ function getChuankouFnMsg() {
|
||||
let timeout = 50000; // 2秒超时
|
||||
let databuff = [0x61, 0xAA, 0x0A, 0X15, 0X00]; // send ABCDE
|
||||
console.log('fdfd',globalThis.fd)
|
||||
let ret = testNapi.SerialSend(globalThis.fd, databuff);
|
||||
console.log('mmmm',ret)
|
||||
// let revTestInfo = testNapi?.SerialRecv(globalThis.fd, timeout);
|
||||
testNapi.SerialRecvAsync(globalThis.fd, timeout, (revTestInfo) => {
|
||||
console.log('revTestInfo',revTestInfo.recevedBuf.length)
|
||||
console.log('zzc 1 try send msg')
|
||||
testNapi.SerialSendAsync(globalThis.fd, databuff,(ret)=>{
|
||||
console.log('zzc 2 send finished')
|
||||
console.log('zzc 3 try receive msg')
|
||||
testNapi.SerialRecvAsync(globalThis.fd, timeout, (revTestInfo) => {
|
||||
console.log('zzc 4 received msg')
|
||||
console.log('revTestInfo',revTestInfo.recevedBuf.length)
|
||||
|
||||
const message = revTestInfo?.recevedBuf?.toString()
|
||||
console.log('chuankou',message)
|
||||
if (message == '') {
|
||||
console.log('zzc error msg is emptry')
|
||||
globalThis.num=1
|
||||
console.log('zzc 9 num=3 close serial')
|
||||
// clearInterval(chuankou)
|
||||
testNapi.SerialClose(globalThis.fd);
|
||||
globalThis.fd=null
|
||||
getChuankouFn()
|
||||
return
|
||||
}
|
||||
const msg = message?.split(',')
|
||||
if(!msg?.length){
|
||||
|
||||
} else if (msg[0] != '98' || msg[1] != '85' || msg.length < 9) {
|
||||
|
||||
} else if(msg.length<12){
|
||||
|
||||
} else {
|
||||
globalThis.chuankoMsg=msg[9]
|
||||
}
|
||||
|
||||
console.log('zzc 5 sleep 1s')
|
||||
setTimeout(()=>{
|
||||
console.log(`x=${globalThis.num}`)
|
||||
|
||||
console.log('zzc 7 send next msg')
|
||||
getChuankouFnMsg()
|
||||
},1000)
|
||||
|
||||
// hilog.info(0x0000, 'testTag', 'Test NAPI SerialRecvAsync callback in');
|
||||
// hilog.info(0x0000, 'testTag', 'Test NAPI SerialRecvAsync recevedLen = %{public}d', revTestInfo.recevedLen);
|
||||
// hilog.info(0x0000, 'testTag', 'Test NAPI SerialRecvAsync recevedBuf = %{public}s', revTestInfo.recevedBuf.toString());
|
||||
});
|
||||
|
||||
const message = revTestInfo?.recevedBuf?.toString()
|
||||
console.log('chuankou',message)
|
||||
if (message == '') {
|
||||
globalThis.num++
|
||||
return
|
||||
}
|
||||
const msg = message?.split(',')
|
||||
if(!msg?.length){
|
||||
return
|
||||
}
|
||||
if (msg[0] != '98' || msg[1] != '85' || msg.length < 9) {
|
||||
return
|
||||
}
|
||||
globalThis.chuankoMsg=msg[9]
|
||||
// hilog.info(0x0000, 'testTag', 'Test NAPI SerialRecvAsync callback in');
|
||||
// hilog.info(0x0000, 'testTag', 'Test NAPI SerialRecvAsync recevedLen = %{public}d', revTestInfo.recevedLen);
|
||||
// hilog.info(0x0000, 'testTag', 'Test NAPI SerialRecvAsync recevedBuf = %{public}s', revTestInfo.recevedBuf.toString());
|
||||
});
|
||||
|
||||
|
||||
// let revTestInfo = testNapi?.SerialRecv(globalThis.fd, timeout);
|
||||
|
||||
}
|
||||
let chuankou
|
||||
export async function getChuankouFn(){
|
||||
return
|
||||
if(globalThis.fd){
|
||||
return
|
||||
}
|
||||
openChuankouFn()
|
||||
clearInterval(chuankou)
|
||||
chuankou=setInterval(()=>{
|
||||
if(globalThis.num==5){
|
||||
testNapi.SerialClose(globalThis.fd);
|
||||
globalThis.fd=null
|
||||
getChuankouFn()
|
||||
}
|
||||
getChuankouFnMsg()
|
||||
},1000)
|
||||
// clearInterval(chuankou)
|
||||
// chuankou=setInterval(()=>{
|
||||
getChuankouFnMsg()
|
||||
// },1000)
|
||||
|
||||
}
|
||||
@ -1,12 +1,15 @@
|
||||
import TcpClient from './TcpClient';
|
||||
import { getSyncData} from '../service/initable'
|
||||
import hilog from '@ohos.hilog';
|
||||
export async function getTCP() {
|
||||
export async function getTCP(flag=false) {
|
||||
|
||||
getSyncData('IpConfigTable').then(async (result:Array<any>)=>{
|
||||
console.log('result222',JSON.stringify(result))
|
||||
if(result.length){
|
||||
if(globalThis.TcpClient&&globalThis.TcpClient.closeTcp){
|
||||
if(!flag){
|
||||
return
|
||||
}
|
||||
globalThis.TcpClient.closeTcp(async ()=>{
|
||||
// const tcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort)
|
||||
// globalThis.TcpClient = tcpClient
|
||||
@ -48,7 +51,8 @@ export async function getTCP() {
|
||||
|
||||
})
|
||||
|
||||
}else{
|
||||
}
|
||||
else{
|
||||
// prompt.showToast({
|
||||
// message:'初始化localIp'+ result[0].localIp+ result[0].localIpPort+'oppositeIp'+result[0].oppositeIp+result[0].oppositeIpPort,
|
||||
// duration: 1000
|
||||
|
||||
@ -8,9 +8,12 @@ import {string2Bytes} from '../../common/utils/tools'
|
||||
export async function sendMsg(val){
|
||||
// globalThis.udpClient1&&globalThis.udpClient1.sendMsg(val)
|
||||
}
|
||||
export async function getUDP() {
|
||||
export async function getUDP(flag:Boolean=false) {
|
||||
getSyncData('IpConfigTable').then((result:Array<any>)=>{
|
||||
if(result.length){
|
||||
if(!flag){
|
||||
return
|
||||
}
|
||||
if(globalThis.udpClient&&globalThis.udpClient.closeUdp){
|
||||
globalThis.udpClient.closeUdp(()=>{
|
||||
globalThis.udpClient.rebindUdp(result[0].udplocalIp, result[0].udplocalIpPort,result[0].udpOppositeIp,result[0].udpOppositeIpPort)
|
||||
@ -38,10 +41,13 @@ export async function getUDP() {
|
||||
})
|
||||
}
|
||||
|
||||
export async function getUDP2() {
|
||||
export async function getUDP2(flag:Boolean=false) {
|
||||
getSyncData('IpConfigTable').then(async (result:Array<any>)=>{
|
||||
if(result.length){
|
||||
if(globalThis.udpClient2&&globalThis.udpClient2.closeUdp){
|
||||
if(!flag){
|
||||
return
|
||||
}
|
||||
globalThis.udpClient2.closeUdp(async ()=>{
|
||||
globalThis.udpClient2.rebindUdp(result[0].udplocalIp, '8800',globalThis.carInfo?.udpAddress,globalThis.carInfo?.messagePort)
|
||||
globalThis.udpClient2.onMessage((val)=>{
|
||||
|
||||
@ -88,10 +88,10 @@ export default class UdpClient {
|
||||
address: {
|
||||
// address: '192.168.7.124',
|
||||
// port: 30013,
|
||||
// address: '192.168.7.124',
|
||||
// port: 20022,
|
||||
address: this.oppositeIp,
|
||||
port: parseInt(this.oppositeIpPort),
|
||||
address: '192.168.7.124',
|
||||
port: 20022,
|
||||
// address: this.oppositeIp,
|
||||
// port: parseInt(this.oppositeIpPort),
|
||||
family: 1
|
||||
}
|
||||
});
|
||||
@ -144,7 +144,7 @@ export default class UdpClient {
|
||||
}
|
||||
console.log(`${TAG} udp222 on message array buffer:${str}`);
|
||||
|
||||
strachArr[28]=globalThis.chuankoMsg
|
||||
strachArr[28]=globalThis.chuankoMsg||'0'
|
||||
// this.stashFn(str)
|
||||
const newArr=JSON.parse(JSON.stringify(strachArr))
|
||||
// this.stashFn=()=>{}
|
||||
|
||||
@ -226,6 +226,8 @@ struct Index {
|
||||
}
|
||||
|
||||
openChuankouFn() {
|
||||
console.log('SerialOpen in carcheck, path=' + this.devPath)
|
||||
|
||||
this.fd = testNapi.SerialOpen(this.devPath);
|
||||
let parity = 0x4e; // 'N'
|
||||
let ret = testNapi.SerialSet(this.fd, 115200, 0, 8, 1, parity);
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
|
||||
import router from '@ohos.router'
|
||||
import TopLogo from './compontents/topLogo'
|
||||
import ethernet from '@ohos.net.ethernet';
|
||||
@ -6,6 +7,8 @@ import { upDateTableByArray} from '../common/service/initable'
|
||||
import { getSyncData} from '../common/service/initable'
|
||||
import { voiceService } from '../common/service/voiceService'
|
||||
import { GlobalConfig } from '../config/index'
|
||||
import { getUDP, getUDP2 } from '../common/utils/GlobleUdp';
|
||||
import { getTCP } from '../common/utils/GlobleTcp';
|
||||
@Entry
|
||||
@Component
|
||||
struct Index {
|
||||
@ -102,6 +105,9 @@ struct Index {
|
||||
});
|
||||
}
|
||||
});
|
||||
getUDP(true)
|
||||
getUDP2(true)
|
||||
getTCP(true)
|
||||
})
|
||||
}
|
||||
.backgroundColor('#CCC4B8')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user