feat:无锡usb设备调试
This commit is contained in:
		
							parent
							
								
									e355f3d283
								
							
						
					
					
						commit
						2481438651
					
				| @ -93,11 +93,15 @@ export default class UsbService{ | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   sendUSB =async (wuXiDataStr) => { |   sendUSB =async (wuXiDataStr) => { | ||||||
|  |     console.info(LOGTAG,'正在发送数据') | ||||||
|     const {devicepipe,isWXUSBDevice,outEndpoint} = this; |     const {devicepipe,isWXUSBDevice,outEndpoint} = this; | ||||||
|  |     console.info(LOGTAG,'正在发送数据') | ||||||
|     if(isWXUSBDevice){ |     if(isWXUSBDevice){ | ||||||
|  |       console.info(LOGTAG,wuXiDataStr) | ||||||
|       const codeArr = plcStrToWXCodeArr(wuXiDataStr); |       const codeArr = plcStrToWXCodeArr(wuXiDataStr); | ||||||
|       for(let i = 0; i < codeArr.length;i++){ |       for(let i = 0; i < codeArr.length;i++){ | ||||||
|         try { |         try { | ||||||
|  |           console.info(LOGTAG,'正在发送数据') | ||||||
|           const f = await usb.bulkTransfer(devicepipe, outEndpoint, new Uint8Array(codeArr[i])) |           const f = await usb.bulkTransfer(devicepipe, outEndpoint, new Uint8Array(codeArr[i])) | ||||||
|           console.info(LOGTAG,'发送成功数据长度为:' + f) |           console.info(LOGTAG,'发送成功数据长度为:' + f) | ||||||
|         } catch (e) { |         } catch (e) { | ||||||
|  | |||||||
| @ -18,7 +18,7 @@ import { judgeConfig } from './utils/judge-config' | |||||||
| 
 | 
 | ||||||
| import {writeObjectOut,uploadExamProgressData} from '../../api/judge' | import {writeObjectOut,uploadExamProgressData} from '../../api/judge' | ||||||
| import {deepClone,getCurrentTime,stringToASC,string2Bytes,fillZero,Array2Byte,convertGpsCoord2} from '../../common/utils/tools' | import {deepClone,getCurrentTime,stringToASC,string2Bytes,fillZero,Array2Byte,convertGpsCoord2} from '../../common/utils/tools' | ||||||
| import {getTranslateSignals,getCarStatus,getCarStatusType,getCenterProjectStatus,plcStrToJson,plcStrToWXJson,promptWxCode,getKmProjectVoice}  from './utils//judge-common' | import {getTranslateSignals,getCarStatus,getCarStatusType,getCenterProjectStatus,plcStrToJson,plcStrToWXJson,promptWxCode,getKmProjectVoice,senorToWXDataStr}  from './utils//judge-common' | ||||||
| import {examJudgeSetLogCallback,examJudgeBeginExam,examJudgeInit,examJudgeRealExam,examJudgeSetRealExamCallback,examJudgeSetPerformCallback,examJudgeEndExam,examJudgeArtificialMark,examJudgeArtificialItem} from './api/index' | import {examJudgeSetLogCallback,examJudgeBeginExam,examJudgeInit,examJudgeRealExam,examJudgeSetRealExamCallback,examJudgeSetPerformCallback,examJudgeEndExam,examJudgeArtificialMark,examJudgeArtificialItem} from './api/index' | ||||||
| import UsbService from '../../common/service/usbService' | import UsbService from '../../common/service/usbService' | ||||||
| 
 | 
 | ||||||
| @ -926,6 +926,7 @@ export default class Judge{ | |||||||
|   handleTrajectoryUdp = async (strArr) => { |   handleTrajectoryUdp = async (strArr) => { | ||||||
|     const {fileLog} = this; |     const {fileLog} = this; | ||||||
|     let num = 2; |     let num = 2; | ||||||
|  |     const {usbService} = this; | ||||||
|     const judgeTimer = setInterval(async ()=>{ |     const judgeTimer = setInterval(async ()=>{ | ||||||
|       const msg = JSON.parse(strArr[num]); |       const msg = JSON.parse(strArr[num]); | ||||||
|       await fileLog.setExamJudgeData(msg) |       await fileLog.setExamJudgeData(msg) | ||||||
| @ -940,6 +941,12 @@ export default class Judge{ | |||||||
|       this.tempData = msg |       this.tempData = msg | ||||||
|       this.plcData= msg |       this.plcData= msg | ||||||
|       globalThis.msgStr= '' |       globalThis.msgStr= '' | ||||||
|  |       const str = await senorToWXDataStr(msg); | ||||||
|  |       //检测到有无锡所设备接入,需要发送特定的数据,供检测
 | ||||||
|  |       if(usbService.isWXUSBDevice){ | ||||||
|  |         usbService.sendUSB(str) | ||||||
|  |       } | ||||||
|  |       console.info(judgeTag,str) | ||||||
|       await examJudgeRealExam(msg) |       await examJudgeRealExam(msg) | ||||||
|       num++ |       num++ | ||||||
|     },200) |     },200) | ||||||
| @ -1005,7 +1012,7 @@ export default class Judge{ | |||||||
|   private xmxh:string |   private xmxh:string | ||||||
|   private fileModel:FileModel |   private fileModel:FileModel | ||||||
|   private filePhoto:FilePhoto |   private filePhoto:FilePhoto | ||||||
|   private usbService:UsbService |   private usbService:any | ||||||
|   //是否是考试模式
 |   //是否是考试模式
 | ||||||
|   private isExam:boolean |   private isExam:boolean | ||||||
|   //考试是否结束了
 |   //考试是否结束了
 | ||||||
|  | |||||||
| @ -315,7 +315,7 @@ export const senorToWXDataStr= async (tempData) => { | |||||||
| 
 | 
 | ||||||
|   const judgeAnotherSignal = [ |   const judgeAnotherSignal = [ | ||||||
|   // 低三挡位 左侧单边桥1 左侧单边桥2 右侧单边桥1 右侧单边桥2 雾灯
 |   // 低三挡位 左侧单边桥1 左侧单边桥2 右侧单边桥1 右侧单边桥2 雾灯
 | ||||||
|     '000',    '0',       '0',      '0',      '0',     wd,,'0', |     '000',    '0',       '0',      '0',      '0',     '0',,'0', | ||||||
|     // 桩杆全无信号  左后绕车 右后绕车 右前绕车 左前绕车
 |     // 桩杆全无信号  左后绕车 右后绕车 右前绕车 左前绕车
 | ||||||
|     '000',         '0',   '0',    '0',   '0',   '0','0' |     '000',         '0',   '0',    '0',   '0',   '0','0' | ||||||
|   ] |   ] | ||||||
| @ -326,17 +326,31 @@ export const senorToWXDataStr= async (tempData) => { | |||||||
| 
 | 
 | ||||||
|   const wuXiData = [ |   const wuXiData = [ | ||||||
|   //         卫星时间     精度    纬度     高度      方位角    俯仰角    速度角  速度      横滚  卫星定位状态
 |   //         卫星时间     精度    纬度     高度      方位角    俯仰角    速度角  速度      横滚  卫星定位状态
 | ||||||
|     '$KSXT', timeStr,   gps.jd, gps.wd, gps.hbg, gps.hxj, gps.fyj, ''    , gps.sd, '',  gps.dwzt, |     '$KSXT', timeStr,   gps.jd, gps.wd, gps.hbg, gps.hxj, gps.fyj, '0'    , gps.sd, '0',  gps.dwzt, | ||||||
|     //前天线可用星数 后天线可用星数 东向坐标位置 北向位置坐标 天向位置坐标  东向速度 北向速度 天向速度
 |     //前天线可用星数 后天线可用星数 东向坐标位置 北向位置坐标 天向位置坐标  东向速度 北向速度 天向速度
 | ||||||
|     '',            '',         '',        '',       '',        '',      '',    '','', |     '0',            '0',         '0',        '0',       '0',        '0',      '0',    '0','0', | ||||||
|     //@ts-ignore 评判信号1 评判信号2 发动机转速
 |     //@ts-ignore 评判信号1 评判信号2 发动机转速
 | ||||||
|     (judgeSignal.join('')*1).toString(16), (judgeAnotherSignal.join('')*1).toString(16) , sensor.fdjzs, |     // (judgeSignal.join('')*1).toString(16), (judgeAnotherSignal.join('')*1).toString(16) , sensor.fdjzs,
 | ||||||
|  |     '0006', '0001' , sensor.fdjzs, | ||||||
|     '0xFFFFFFF' |     '0xFFFFFFF' | ||||||
|   ] |   ] | ||||||
|   return wuXiData.map(d => (d + '')).join(','); |   return wuXiData.map(d => (d + '')).join(','); | ||||||
|   // console.log('wuXiData',wuXiData.join(','));
 |   // console.log('wuXiData',wuXiData.join(','));
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | export const getTimeStr = async () =>{ | ||||||
|  |   const date = await systemTime.getDate() | ||||||
|  |   const timeStr = ''; | ||||||
|  |   const Y = date.getFullYear(); | ||||||
|  |   const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) ; | ||||||
|  |   const D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()); | ||||||
|  |   const h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()); | ||||||
|  |   const m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()); | ||||||
|  |   const s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds()); | ||||||
|  |   const ss = (date.getMilliseconds() +'').slice(0,2); | ||||||
|  |   return timeStr + Y + M +D +h +m +s +'.' + ss | ||||||
|  | } | ||||||
|  | 
 | ||||||
| //蓝灯
 | //蓝灯
 | ||||||
| export function sendBlue(){ | export function sendBlue(){ | ||||||
|   const arrBlue = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x01, 0x03, 0x00]; |   const arrBlue = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x01, 0x03, 0x00]; | ||||||
|  | |||||||
| @ -9,7 +9,7 @@ export const judgeConfig = { | |||||||
|   // 本地模型地址
 |   // 本地模型地址
 | ||||||
|   modelPath: 'models/model_enc', |   modelPath: 'models/model_enc', | ||||||
|   // 轨迹回放地址
 |   // 轨迹回放地址
 | ||||||
|   trajectoryPath: 'logs/2023_06_14/0000000000001_342323199501470011_测试学员1_2023_06_14_15_33_31/judge_exam_data.txt' |   trajectoryPath: 'logs/0000000000001_342323199501470011_测试学员1_1970_01_01_08_44_33/judge_exam_data.txt' | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| //0000000000001_342323199501470011_测试学员1_2024_04_28_10_59_44
 | //0000000000001_342323199501470011_测试学员1_2024_04_28_10_59_44
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user