fix:读取串口数据

This commit is contained in:
wangzhongjie 2024-10-08 13:40:15 +08:00
parent 9ba033954b
commit e2176a5532

View File

@ -3,9 +3,7 @@ import promptAction from '@ohos.promptAction'
import router from '@ohos.router'
import { dateFormat } from '../utils/tools'
import FileUtil from '../../common/utils/File'
import AccountTable from '../../common/database/tables/AccountTable'
import MA_SYSSET from '../../common/constants/MA_SYSSET'
import { takePhoto,deleteAllFileByPiC } from '../../common/service/videoService'
import { deleteAllFileByPiC, takePhoto } from '../../common/service/videoService'
import {
delSyncTable,
@ -16,7 +14,8 @@ import {
} from '../../common/service/initable'
import { GlobalConfig } from '../../config/index'
import testNapi from '@ohos.hiserialsdk'
import fs from '@ohos.file.fs';
import fs from '@ohos.file.fs'
let num = 0
export async function getliushuiNum(context) {
@ -41,19 +40,20 @@ export async function getliushuiNum(context) {
// return str
}
}
export async function deleteAllFIleLog(path){
export async function deleteAllFIleLog(path) {
let options = {
"recursion": false,
"listNum": 0,
};
let filenames = fs.listFileSync(path, options);
console.info("listFile succeed",JSON.stringify(filenames));
console.info("listFile succeed", JSON.stringify(filenames));
for (let i = 0; i < filenames.length; i++) {
console.info("listFile succeed",JSON.stringify(filenames[i]));
console.info("listFile succeed", JSON.stringify(filenames[i]));
if(isSevenDaysAgo(filenames[i])){
fs.rmdir(path+filenames[i], (err) => {
if (isSevenDaysAgo(filenames[i])) {
fs.rmdir(path + filenames[i], (err) => {
if (err) {
console.error("rmdir failed with error message: " + err.message + ", error code: " + err.code);
} else {
@ -65,38 +65,41 @@ export async function deleteAllFIleLog(path){
}
}
export async function delHilog(){
export async function delHilog() {
console.log('kkkkmmm1')
const fileUtil = new FileUtil(globalThis.context)
const data = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/hilogTime.txt');
const folderPath = await fileUtil.initFolder(`/config`);
console.log('kkkkmmm2',data)
if(data === '' || data === undefined){
const date=dateFormat(new Date()).split(' ')[0]
console.log('kkkkmmm2', data)
if (data === '' || data === undefined) {
const date = dateFormat(new Date()).split(' ')[0]
console.log('mm'.date)
fileUtil.addFile(`${folderPath}/hilogTime.txt`, date)
}else{
console.log('kkkkmmm2',data)
console.log('datadata',data,isSevenDaysAgo(data))
if(isSevenDaysAgo(data)){
const date=dateFormat(new Date()).split(' ')[0]
} else {
console.log('kkkkmmm2', data)
console.log('datadata', data, isSevenDaysAgo(data))
if (isSevenDaysAgo(data)) {
const date = dateFormat(new Date()).split(' ')[0]
fileUtil.addFile(`${folderPath}/hilogTime.txt`, date)
deleteAllFileByPiC('pz',1)
deleteAllFileByPiC('pz', 1)
// fileUtil.addFile(`${folderPath}/hilogTime.txt`, JSON.stringify(num))
}
}
}
function isSevenDaysAgo(date) {
const today = new Date(); // 当前日期
const target = new Date(date); // 需要判断的日期
console.info("listFile succeed1",JSON.stringify(target));
console.info("listFile succeed1", JSON.stringify(target));
const diff = today.getTime() - target.getTime(); // 计算两个日期之间的毫秒数差异
const diffDays = diff / (1000 * 60 * 60 * 24); // 将毫秒转换为天数
console.info("listFile succeed2",(diffDays));
console.info("listFile succeed2", (diffDays));
// 如果差异天数正好是7则原日期是当前日期的前七天
return diffDays > 7;
}
//配置流水号
export async function setliushuiNum(context) {
const fileUtil = new FileUtil(context)
@ -162,7 +165,7 @@ export async function getDoubleCeneterTable(param) {
}
for (let key in typeObj) {
typeObj[key] = await upDateTable({ tableName: key }, param)
console.log('sqlsqlinsert',key, typeObj[key])
console.log('sqlsqlinsert', key, typeObj[key])
if (!typeObj[key]) {
promptAction.showToast({
message: `未能查询到${key}表数据, 请先检查网络是否连接正常`,
@ -183,10 +186,10 @@ export async function getDoubleCeneterTable(param) {
//单中心存表
export async function getSingleCenterTable(param) {
return new Promise((reslove, reject) => {
try{
try {
console.log('teststet0')
upDataZhongxinginitialization(param).then((result) => {
console.log('kkkkkkkkkkk',result)
console.log('kkkkkkkkkkk', result)
if (result) {
reslove(true)
@ -222,7 +225,7 @@ export async function getSingleCenterTable(param) {
reslove(false)
console.log(error)
})
}catch (e){
} catch (e) {
reslove(false)
}
})
@ -290,11 +293,11 @@ export async function takePhotoFn(context) {
let key1 = arr[i]
if (param[key1]) {
param.pztd = param[`td${Number(i) + 1}`]
takePhoto(param, context, 'jt/', 0, (data) => {
if(data.errorCode!=0){
console.log('拍照失败')
return
}
takePhoto(param, context, 'jt/', 0, (data) => {
if (data.errorCode != 0) {
console.log('拍照失败')
return
}
if (Number(data.fileSize) <= (Number(param.zdyz) * 1000)) {
map[key1] = true
promptAction.showToast({
@ -323,7 +326,8 @@ export async function takePhotoFn(context) {
}
let fd
const devPath = "/dev/ttyS3"
// 5 7
const devPath = "/dev/ttyS5"
function openChuankouFn(callback) {
console.log('SerialOpen in indexservice, path=' + devPath)
@ -338,6 +342,15 @@ function openChuankouFn(callback) {
});
}
function arrayToBuffer(arr: number[]): ArrayBuffer {
const buffer = new ArrayBuffer(arr.length);
const view = new DataView(buffer);
arr.forEach((value, index) => {
view.setUint8(index, value);
});
return buffer;
}
function getChuankouFnMsg() {
let timeout = 50000; // 2秒超时
let databuff = [0x61, 0xAA, 0x0A, 0X15, 0X00]; // send ABCDE
@ -349,6 +362,20 @@ function getChuankouFnMsg() {
testNapi.SerialRecvAsync(globalThis.fd, timeout, (revTestInfo) => {
console.log('zzc 4 received msg')
console.log('revTestInfo', revTestInfo.recevedBuf.length)
// TODO: 读取串口数据
// if (revTestInfo.recevedLen > 0) {
// const buffer = this.arrayToBuffer(revTestInfo.recevedBuf);
// console.log(buffer.toString(), 'wzj4')
// let dataView = new DataView(buffer)
// let str = ""
// for (let i = 0; i < dataView?.byteLength; ++i) {
// let c = String.fromCharCode(dataView?.getUint8(i))
// if (c !== "\n") {
// str += c
// }
// }
// console.log(str, 'wzj4')
// }
const message = revTestInfo?.recevedBuf?.toString()
console.log('chuankou', message)