修复连续采集时没有时间间隔导致通讯失败从而导致无有法正常连续采集的问题 修改如下
This commit is contained in:
@ -8,6 +8,7 @@ import SetName from "./components/menubox/SetName.vue";
|
||||
import SetWorkmode from "./components/menubox/SetWorkmode.vue";
|
||||
import setCalibrate from "./components/menubox/SetCalibrate.vue";
|
||||
import Greet from "./components/Greet.vue";
|
||||
import EventBus from "./eventBus.js";
|
||||
import {$ref} from "vue3-json-editor/dist/vue3-json-editor.cjs.js";
|
||||
//引入
|
||||
|
||||
@ -15,7 +16,7 @@ export default {
|
||||
async onmenuclicked(command){
|
||||
|
||||
console.log("menuclicked main "+command.name)
|
||||
if (command.type=="Set")
|
||||
if (command.type=="Set" )
|
||||
{
|
||||
if (!this.isDevOpen())
|
||||
{
|
||||
@ -86,6 +87,16 @@ export default {
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (command.type=="Work")
|
||||
{
|
||||
if (!this.isDevOpen())
|
||||
{
|
||||
return;
|
||||
}
|
||||
EventBus.emit('LetSiderDo',command.name);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -10,6 +10,7 @@ import eventBus from "../eventBus.js";
|
||||
this.initChart();
|
||||
eventBus.on("plotsetwavelength",this.setwavelength);
|
||||
eventBus.on('setprogressbar',this.setprogressbar);
|
||||
eventBus.on('setplotname',this.setplotname);
|
||||
|
||||
},
|
||||
data() {
|
||||
|
@ -48,12 +48,44 @@ export default {
|
||||
let chart = echarts.getInstanceByDom(chartDom);
|
||||
chart.setOption(this.option);
|
||||
},
|
||||
setplotname(params){
|
||||
this.option.series[0].name=params.up;
|
||||
this.option.legend.data[0]=params.up;
|
||||
if (typeof params.donw!="undefined")
|
||||
{
|
||||
this.option.series[1].name=params.donw;
|
||||
this.option.legend.data[1]=params.donw;
|
||||
}else{
|
||||
//如果大于1个数据 则删最后一个
|
||||
if (this.option.series.length>1)
|
||||
{
|
||||
this.option.series.pop();
|
||||
this.option.legend.data.pop();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const chartDom = this.$refs.chart;
|
||||
let chart = echarts.getInstanceByDom(chartDom);
|
||||
chart.setOption(this.option);
|
||||
|
||||
},
|
||||
plotGraph(data, index) {
|
||||
|
||||
|
||||
if (index>=1&&this.option.series.length < 2) {
|
||||
this.option.series.push({
|
||||
data: [], // 使用二维数组表示数据点的坐标
|
||||
type: 'line',
|
||||
name: 'DOWN',
|
||||
symbol: 'none', // 不显示数据点
|
||||
smooth: false, // 不使用平滑处理
|
||||
//step: 'start' // 设置 step 类型的起始位置
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
this.option.series[index].data = data;
|
||||
|
||||
|
||||
const chartDom = this.$refs.chart;
|
||||
|
||||
@ -132,7 +164,8 @@ export default {
|
||||
left: '5%',
|
||||
right: '5%',
|
||||
bottom: '5%',
|
||||
top: '5%'
|
||||
top: '5%',
|
||||
|
||||
},
|
||||
// visualMap: [
|
||||
// {
|
||||
@ -163,7 +196,7 @@ export default {
|
||||
// },
|
||||
series: [
|
||||
{
|
||||
data: [[1, 150], [2, 230], [3, 224], [4, 218], [5, 135], [6, 147], [7, 260]], // 使用二维数组表示数据点的坐标
|
||||
data: [], // 使用二维数组表示数据点的坐标
|
||||
type: 'line',
|
||||
name: 'UP',
|
||||
symbol: 'none', // 不显示数据点
|
||||
@ -171,7 +204,7 @@ export default {
|
||||
// step: 'start' // 设置 step 类型的起始位置
|
||||
},
|
||||
{
|
||||
data: [[1, 150], [2, 230], [3, 224], [4, 218], [5, 135], [6, 147], [7, 260]], // 使用二维数组表示数据点的坐标
|
||||
data: [], // 使用二维数组表示数据点的坐标
|
||||
type: 'line',
|
||||
name: 'DOWN',
|
||||
symbol: 'none', // 不显示数据点
|
||||
@ -207,7 +240,18 @@ export default {
|
||||
console.log("resize")
|
||||
const chartDom = this.$refs.chart;
|
||||
let chart = echarts.getInstanceByDom(chartDom);
|
||||
chart.resize()
|
||||
chart.resize();
|
||||
let width=chartDom.clientWidth;
|
||||
if (width<800)
|
||||
{
|
||||
let option =this.option;
|
||||
option.grid.left="10%";
|
||||
chart.setOption(option);
|
||||
}else{
|
||||
let option =this.option;
|
||||
option.grid.left="5%";
|
||||
chart.setOption(option);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
@ -28,6 +28,50 @@ async function Dev_Opt() {
|
||||
|
||||
|
||||
}
|
||||
|
||||
async function Get_Data_from_dev(Datatype) {
|
||||
|
||||
let drection=Datatype;
|
||||
//获取数据 UPDN
|
||||
let data = {
|
||||
data: {
|
||||
command: "get_data",
|
||||
return_data_type: CommanDeffine.DataTypeforSend.UpDN
|
||||
},
|
||||
datatype: "json"
|
||||
}
|
||||
if(drection=="UP")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.UpDN;
|
||||
}else if(drection=="DOWN")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.DOWNDN;
|
||||
} else if (drection=="DARK")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.UpDarkDN;
|
||||
} else if (drection=="RAD_UP")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.UpRadiance;
|
||||
} else if (drection=="RAD_DOWN")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.DownRadiance;
|
||||
}
|
||||
else if (drection=="REF")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.Ref;
|
||||
|
||||
}
|
||||
|
||||
let message=await invoke("sendtoport_andgetreturn",data);
|
||||
while (message.datatype!=0x02)
|
||||
{
|
||||
message=await invoke("sendtoport_andgetreturn",data);
|
||||
}
|
||||
return message.data
|
||||
}
|
||||
|
||||
|
||||
|
||||
async function Get_Date_on_Derction(drection,shuttertimes,autoremovedark=false,avgnumber=1) {
|
||||
|
||||
|
||||
@ -37,12 +81,12 @@ async function Get_Date_on_Derction(drection,shuttertimes,autoremovedark=false,
|
||||
datatype:"json"
|
||||
}
|
||||
data.data.command="start_collect";
|
||||
if (drection=="UP")
|
||||
if (drection=="UP" || drection == "RAD_UP")
|
||||
{
|
||||
data.data.direction="up";
|
||||
data.data.shutter_time=Number(shuttertimes);
|
||||
|
||||
}else if (drection=="DOWN")
|
||||
}else if (drection=="DOWN"||drection == "RAD_DOWN")
|
||||
{
|
||||
data.data.direction="down";
|
||||
data.data.shutter_time=Number(shuttertimes);
|
||||
@ -77,6 +121,65 @@ async function Get_Date_on_Derction(drection,shuttertimes,autoremovedark=false,
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.DOWNDN;
|
||||
} else if (drection=="DARK")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.UpDarkDN;
|
||||
} else if (drection=="RAD_UP")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.UpRadiance;
|
||||
} else if (drection=="RAD_DOWN")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.DownRadiance;
|
||||
}
|
||||
|
||||
message=await invoke("sendtoport_andgetreturn",data);
|
||||
while (message.datatype!=0x02)
|
||||
{
|
||||
message=await invoke("sendtoport_andgetreturn",data);
|
||||
}
|
||||
return message.data
|
||||
}
|
||||
|
||||
async function Get_Dark_Data(drection,shuttertimes,avgnumber=1) {
|
||||
var Command={command:""};
|
||||
let data={
|
||||
data:Command,
|
||||
datatype:"json"
|
||||
}
|
||||
data.data.command="start_collect_dark";
|
||||
if (drection=="UP")
|
||||
{
|
||||
data.data.direction="up";
|
||||
data.data.shutter_time=Number(shuttertimes);
|
||||
|
||||
}else if (drection=="DOWN")
|
||||
{
|
||||
data.data.direction="down";
|
||||
data.data.shutter_time=Number(shuttertimes);
|
||||
}else if(drection=="DARK")
|
||||
{
|
||||
data.data.direction="dark";
|
||||
data.data.shutter_time=Number(shuttertimes);
|
||||
}
|
||||
|
||||
data.data.collect_times=Number(avgnumber);
|
||||
let message=await invoke("sendtoport_andgetreturn",data);
|
||||
await EnsureNotWorking();
|
||||
|
||||
//获取数据 UPDN
|
||||
data = {
|
||||
data: {
|
||||
command: "get_data_dark",
|
||||
return_data_type: CommanDeffine.DataTypeforSend.UpDN
|
||||
},
|
||||
datatype: "json"
|
||||
}
|
||||
if(drection=="UP")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.UpDN;
|
||||
}else if(drection=="DOWN")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.DOWNDN;
|
||||
} else if (drection=="DARK")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.UpDarkDN;
|
||||
}
|
||||
@ -86,6 +189,73 @@ async function Get_Date_on_Derction(drection,shuttertimes,autoremovedark=false,
|
||||
{
|
||||
message=await invoke("sendtoport_andgetreturn",data);
|
||||
}
|
||||
EventBus.emit('showbox', {title: "系统", body: "采集Dark 完成",interval:10});
|
||||
EventBus.emit('setprogressbar',{percent:100,info:""});
|
||||
EventBus.emit('SetMenubutton', {name:"DC",state:"OK"});
|
||||
return message.data
|
||||
}
|
||||
|
||||
|
||||
async function Get_Flat_Data(drection,shuttertimes,avgnumber=1) {
|
||||
var Command={command:""};
|
||||
let data={
|
||||
data:Command,
|
||||
datatype:"json"
|
||||
}
|
||||
data.data.command="start_collect_flat";
|
||||
if (drection=="UP")
|
||||
{
|
||||
data.data.direction="up";
|
||||
data.data.shutter_time=Number(shuttertimes);
|
||||
|
||||
}else if (drection=="DOWN")
|
||||
{
|
||||
data.data.direction="down";
|
||||
data.data.shutter_time=Number(shuttertimes);
|
||||
}else if(drection=="DARK")
|
||||
{
|
||||
data.data.direction="dark";
|
||||
data.data.shutter_time=Number(shuttertimes);
|
||||
}
|
||||
|
||||
data.data.collect_times=Number(avgnumber);
|
||||
let message=await invoke("sendtoport_andgetreturn",data);
|
||||
await EnsureNotWorking();
|
||||
|
||||
|
||||
|
||||
|
||||
//获取数据 UPDN
|
||||
data = {
|
||||
data: {
|
||||
command: "get_data_flat",
|
||||
return_data_type: CommanDeffine.DataTypeforSend.UpDN
|
||||
},
|
||||
datatype: "json"
|
||||
}
|
||||
if(drection=="UP")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.UpDN;
|
||||
}else if(drection=="DOWN")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.DOWNDN;
|
||||
} else if (drection=="DARK")
|
||||
{
|
||||
data.data.return_data_type=CommanDeffine.DataTypeforSend.UpDarkDN;
|
||||
}
|
||||
|
||||
message=await invoke("sendtoport_andgetreturn",data);
|
||||
while (message.datatype!=0x02)
|
||||
{
|
||||
message=await invoke("sendtoport_andgetreturn",data);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
EventBus.emit('showbox', {title: "系统", body: "采集FLat 完成",interval:10});
|
||||
EventBus.emit('setprogressbar',{percent:100,info:""});
|
||||
EventBus.emit('SetMenubutton', {name:"WR",state:"OK"});
|
||||
return message.data
|
||||
}
|
||||
|
||||
@ -170,7 +340,10 @@ function delay(ms) {
|
||||
export default {
|
||||
Dev_Opt,
|
||||
Get_Date_on_Derction,
|
||||
Get_Device_Info
|
||||
Get_Device_Info,
|
||||
Get_Dark_Data,
|
||||
Get_Flat_Data,
|
||||
Get_Data_from_dev
|
||||
|
||||
|
||||
|
||||
|
@ -3,7 +3,132 @@ import {ref} from "vue";
|
||||
import CommanDeffine from "./serportdefine.js";
|
||||
import EventBus from "../eventBus.js";
|
||||
import SerialportMethod from "./SerialPort/SerialportMethod.js";
|
||||
import { tr } from "element-plus/es/locales.mjs";
|
||||
import { type } from "vue3-json-editor/dist/vue3-json-editor.cjs.js";
|
||||
export default {
|
||||
|
||||
async onDevchange(){
|
||||
console.log(this.sensor_typeforset)
|
||||
|
||||
},
|
||||
|
||||
async onshuttimechange(time){
|
||||
|
||||
if(time ==this.lastshuttime&&this.caijiavgNumber==this.lastcaijiavgNumber) return;
|
||||
this.lastshuttime = time;
|
||||
this.lastcaijiavgNumber = this.caijiavgNumber;
|
||||
console.log(time);
|
||||
|
||||
if(!this.SerialInfo.isopen)
|
||||
{
|
||||
console.log("串口未打开");
|
||||
return;
|
||||
}
|
||||
var Command={command:"set_shutter_time",shutter_time:Number(time)};
|
||||
let data={
|
||||
data:Command,
|
||||
datatype:"json"
|
||||
}
|
||||
let message=await invoke("sendtoport_andgetreturn",data);
|
||||
|
||||
EventBus.emit('SetMenubutton', {name:"WR",state:"fail"});
|
||||
EventBus.emit('SetMenubutton', {name:"DC",state:"fail"});
|
||||
if (this.Devinfo.sensor_type!="IRIS-IS11")
|
||||
{
|
||||
this.UPStr="DN";
|
||||
EventBus.emit('setplotname',{up:"DN"});
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
async showdataasup(datatoshow){
|
||||
let coeffweave1=this.Devinfo.bochangxishu.a0;
|
||||
let coeffweave2=this.Devinfo.bochangxishu.a1;
|
||||
let coeffweave3=this.Devinfo.bochangxishu.a2;
|
||||
let coeffweave4=this.Devinfo.bochangxishu.a3;
|
||||
let lenthofdata=datatoshow.data.length;
|
||||
let dataforshow=[];
|
||||
for (var i=0;i<lenthofdata;i++)
|
||||
{
|
||||
var weave=coeffweave1*i*i*i+coeffweave2*i*i+coeffweave3*i+coeffweave4;
|
||||
dataforshow.push([weave,datatoshow.data[i]]);
|
||||
}
|
||||
|
||||
this.dataup=datatoshow;
|
||||
this.datainfoup.infolist=[];
|
||||
this.datainfoup.hasrecive=true;
|
||||
this.datainfoup.infolist.push({key:"intertime",value:datatoshow.shutter_time});
|
||||
//this.datainfoup.infolist.push({key:"序号",value:datatoshow.index});
|
||||
// this.datainfoup.infolist.push({key:"方向",value:datatoshow.direction});
|
||||
this.Senddatatoother(dataforshow,0);
|
||||
},
|
||||
async letmedosomething(Command){
|
||||
|
||||
if (Command=="OPT")
|
||||
{
|
||||
await this.Dingbiao_OPT();
|
||||
this.GetoneData();
|
||||
}
|
||||
|
||||
|
||||
if(this.Devinfo.sensor_type=="IRIS-IS11")
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (Command=="DC")
|
||||
{
|
||||
|
||||
|
||||
let r= await confirm(' 请扣上遮光罩--》再点击确定');
|
||||
if (r)
|
||||
{
|
||||
this.iscollecting=true;
|
||||
|
||||
let datatoshow=await SerialportMethod.Get_Dark_Data("UP",this.ShutterTime[0],this.caijiavgNumber);
|
||||
this.iscollecting=false;
|
||||
// this.showdataasup(datatoshow);
|
||||
this.GetoneData();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
if (Command=="WR")
|
||||
{
|
||||
this.iscollecting=true;
|
||||
//获取波长系数
|
||||
|
||||
let datatoshow= await SerialportMethod.Get_Flat_Data("UP",this.ShutterTime[0],this.caijiavgNumber);
|
||||
// this.showdataasup(datatoshow)
|
||||
this.iscollecting=false;
|
||||
if (this.Devinfo.sensor_type!="IRIS-IS11")
|
||||
{
|
||||
this.UPStr="REF";
|
||||
EventBus.emit('setplotname',{up:"REF"});
|
||||
}
|
||||
this.GetoneData();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
if (Command=="Save")
|
||||
{
|
||||
// if ( this.iscollecting) return;
|
||||
// await this.GetoneData("",Number(this.caijiavgNumber));
|
||||
// var aa={
|
||||
// code:"Space"
|
||||
|
||||
// }
|
||||
// await this.handlekeydown(aa);
|
||||
this.ContinueCelect(this.cajitimes);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
async listSerialPorts() {
|
||||
|
||||
let that=this;
|
||||
@ -55,6 +180,7 @@ export default {
|
||||
if (isopen)
|
||||
{
|
||||
btn.disabled = true;
|
||||
this.buttoncolor.opencombutton="success";
|
||||
EventBus.emit('showbox',{title:"设备",body:"打开串口成功"});
|
||||
}else
|
||||
{
|
||||
@ -69,6 +195,7 @@ export default {
|
||||
async closecomport() {
|
||||
var btn = document.getElementById("opencom");
|
||||
btn.disabled = false;
|
||||
this.buttoncolor.opencombutton="light";
|
||||
var btnn = document.getElementById("closecomeside");
|
||||
btnn.disabled = true;
|
||||
alert(await invoke("closecome"));
|
||||
@ -84,6 +211,9 @@ export default {
|
||||
this.ShutterTime[0]=await SerialportMethod.Dev_Opt();
|
||||
this.ShutterTime[1]=this.ShutterTime[0];
|
||||
this.iscollecting=false;
|
||||
EventBus.emit('SetMenubutton', {name:"WR",state:"fail"});
|
||||
EventBus.emit('SetMenubutton', {name:"DC",state:"fail"});
|
||||
|
||||
},
|
||||
async GetoneData(event,caijiavgNumber=1){
|
||||
let caijimoshi=this.Devinfo.work_mode;
|
||||
@ -115,6 +245,24 @@ export default {
|
||||
await this.GetDataDrection("DARK",caijiavgNumber);
|
||||
await delay(100)
|
||||
}
|
||||
if(this.caijidirection=="RAD_UP")
|
||||
{
|
||||
await this.GetDataDrection("RAD_UP",caijiavgNumber);
|
||||
await delay(100)
|
||||
}
|
||||
if(this.caijidirection=="RAD_DOWN")
|
||||
{
|
||||
await this.GetDataDrection("RAD_DOWN",caijiavgNumber);
|
||||
await delay(100)
|
||||
}
|
||||
if(this.caijidirection=="REF")
|
||||
{
|
||||
await SerialportMethod.Get_Date_on_Derction("UP",this.ShutterTime[0],this.autoremovedark,caijiavgNumber);
|
||||
await SerialportMethod.Get_Date_on_Derction("DOWN",this.ShutterTime[1],this.autoremovedark,caijiavgNumber);
|
||||
let dataforshowup=await SerialportMethod.Get_Data_from_dev("REF");
|
||||
this.showdataasup(dataforshowup);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -124,10 +272,10 @@ export default {
|
||||
async GetDataDrection(drection,avgnumber=1){
|
||||
this.iscollecting=true;
|
||||
var shuttertimes=1;
|
||||
if (drection=="UP")
|
||||
if (drection=="UP"|| drection == "RAD_UP")
|
||||
{
|
||||
shuttertimes=Number(this.ShutterTime[0]);
|
||||
}else if (drection=="DOWN")
|
||||
}else if (drection=="DOWN" || drection == "RAD_DOWN")
|
||||
{
|
||||
shuttertimes=Number(this.ShutterTime[1]);
|
||||
|
||||
@ -176,22 +324,22 @@ export default {
|
||||
var weave=coeffweave1*i*i*i+coeffweave2*i*i+coeffweave3*i+coeffweave4;
|
||||
dataforshow.push([weave,datatoshow.data[i]]);
|
||||
}
|
||||
if (drection=="UP")
|
||||
if (drection=="UP" || drection == "RAD_UP")
|
||||
{
|
||||
this.dataup=datatoshow;
|
||||
this.datainfoup.infolist=[];
|
||||
this.datainfoup.hasrecive=true;
|
||||
this.datainfoup.infolist.push({key:"intertime",value:datatoshow.shutter_time});
|
||||
this.datainfoup.infolist.push({key:"序号",value:datatoshow.index});
|
||||
this.datainfoup.infolist.push({key:"方向",value:datatoshow.direction});
|
||||
// this.datainfoup.infolist.push({key:"序号",value:datatoshow.index});
|
||||
// this.datainfoup.infolist.push({key:"方向",value:datatoshow.direction});
|
||||
this.Senddatatoother(dataforshow,0);
|
||||
}else if (drection=="DOWN"){
|
||||
}else if (drection=="DOWN" || drection == "RAD_DOWN"){
|
||||
this.datadown=datatoshow;
|
||||
this.datainfodown.hasrecive=true;
|
||||
this.datainfodown.infolist=[];
|
||||
this.datainfodown.infolist.push({key:"intertime",value:datatoshow.shutter_time});
|
||||
this.datainfodown.infolist.push({key:"序号",value:datatoshow.index});
|
||||
this.datainfodown.infolist.push({key:"方向",value:datatoshow.direction});
|
||||
// this.datainfodown.infolist.push({key:"序号",value:datatoshow.index});
|
||||
// this.datainfodown.infolist.push({key:"方向",value:datatoshow.direction});
|
||||
this.Senddatatoother(dataforshow,1);
|
||||
}
|
||||
if (drection=="DARK"){
|
||||
@ -199,8 +347,8 @@ export default {
|
||||
this.datainfoup.infolist=[];
|
||||
this.datainfoup.hasrecive=true;
|
||||
this.datainfoup.infolist.push({key:"intertime",value:datatoshow.shutter_time});
|
||||
this.datainfoup.infolist.push({key:"序号",value:datatoshow.index});
|
||||
this.datainfoup.infolist.push({key:"方向",value:datatoshow.direction});
|
||||
//this.datainfoup.infolist.push({key:"序号",value:datatoshow.index});
|
||||
// this.datainfoup.infolist.push({key:"方向",value:datatoshow.direction});
|
||||
this.Senddatatoother(dataforshow,0);
|
||||
}
|
||||
|
||||
@ -302,8 +450,8 @@ export default {
|
||||
this.datainfoup.hasrecive=true;
|
||||
|
||||
this.datainfoup.infolist.push({key:"intertime",value:datatoshowup.shutter_time});
|
||||
this.datainfoup.infolist.push({key:"序号",value:datatoshowup.index});
|
||||
this.datainfoup.infolist.push({key:"方向",value:datatoshowup.direction});
|
||||
// this.datainfoup.infolist.push({key:"序号",value:datatoshowup.index});
|
||||
// this.datainfoup.infolist.push({key:"方向",value:datatoshowup.direction});
|
||||
//this.datainfoup.data.push({key:"温度",value:dataforshowup.temperature[0]});
|
||||
|
||||
// this.datainfoup.data.push("序号",dataforshowup.index);
|
||||
@ -339,8 +487,8 @@ export default {
|
||||
this.datainfodown.hasrecive=true;
|
||||
this.datainfodown.infolist=[];
|
||||
this.datainfodown.infolist.push({key:"intertime",value:datatoshowdown.shutter_time});
|
||||
this.datainfodown.infolist.push({key:"序号",value:datatoshowdown.index});
|
||||
this.datainfodown.infolist.push({key:"方向",value:datatoshowdown.direction});
|
||||
// this.datainfodown.infolist.push({key:"序号",value:datatoshowdown.index});
|
||||
// this.datainfodown.infolist.push({key:"方向",value:datatoshowdown.direction});
|
||||
//this.datainfodown.data.push("序号",datatoshowdown.index);
|
||||
//this.datainfodown.data.push("方向",datatoshowdown.direction);
|
||||
//this.datainfodown.data.push("温度",datatoshowdown.temperature[0]);
|
||||
@ -387,6 +535,23 @@ export default {
|
||||
}
|
||||
let json=JSON.parse(message.content);
|
||||
this.Devinfo=json;
|
||||
if (typeof(this.Devinfo.sensor_type)==undefined)
|
||||
{
|
||||
this.Devinfo.sensor_type="IRIS-IS11";
|
||||
}
|
||||
|
||||
if (this.Devinfo.sensor_type=="JZ-IS11")
|
||||
{
|
||||
this.UPStr="DN"
|
||||
EventBus.emit('setplotname',{up:"DN"});
|
||||
|
||||
|
||||
|
||||
}else
|
||||
{
|
||||
EventBus.emit('setplotname',{up:"UP",down:"DOWN"});
|
||||
}
|
||||
this.datainfoup.header=this.UPStr
|
||||
|
||||
//获取波长系数
|
||||
let coeffweave1=this.Devinfo.bochangxishu.a0;
|
||||
@ -430,9 +595,9 @@ export default {
|
||||
}
|
||||
this.devinfoshow.infolist=[];
|
||||
this.devinfoshow.infolist.push({key:"设备名称",value:this.Devinfo.name});
|
||||
this.devinfoshow.infolist.push({key:"设备序列号",value:this.Devinfo.SerilNumber});
|
||||
this.devinfoshow.infolist.push({key:"采集模式",value:this.Devinfo.Caji_mode});
|
||||
this.devinfoshow.infolist.push({key:"数据类型",value:this.Devinfo.Datatype});
|
||||
// this.devinfoshow.infolist.push({key:"设备序列号",value:this.Devinfo.SerilNumber});
|
||||
//this.devinfoshow.infolist.push({key:"采集模式",value:this.Devinfo.Caji_mode});
|
||||
// this.devinfoshow.infolist.push({key:"数据类型",value:this.Devinfo.Datatype});
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -27,6 +27,14 @@ export default {
|
||||
return {
|
||||
msg: 'Welcome to Your Vue.js App',
|
||||
modal:false,
|
||||
DCbutton:{
|
||||
state:"init",
|
||||
|
||||
},
|
||||
WRbutton:{
|
||||
state:"init",
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
@ -42,13 +50,28 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
window.addEventListener("keydown",this.handlekeydown)
|
||||
EventBus.on('SetMenubutton',this.setbutton);
|
||||
},
|
||||
methods: {
|
||||
setbutton(command){
|
||||
if (command.name == "DC"){
|
||||
this.DCbutton.state = command.state;
|
||||
}
|
||||
if (command.name == "WR"){
|
||||
this.WRbutton.state = command.state;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
showbox(){
|
||||
EventBus.emit('showbox',"hello","提示11")
|
||||
},
|
||||
|
||||
onmenuclick(type, name) {
|
||||
|
||||
|
||||
|
||||
|
||||
console.log("menu " + name + " click");
|
||||
let command = {
|
||||
name: name,
|
||||
@ -107,13 +130,13 @@ export default {
|
||||
</BNavItemDropdown>
|
||||
|
||||
<!-- <!– Navbar dropdowns –>-->
|
||||
<!-- <BNavItemDropdown text="窗口" right>-->
|
||||
<BNavItemDropdown text="窗口" right>
|
||||
|
||||
<!-- <BDropdownItem @click="showbox">EN</BDropdownItem>-->
|
||||
<!-- <BDropdownItem >ES</BDropdownItem>-->
|
||||
<!-- <BDropdownItem href="#">RU</BDropdownItem>-->
|
||||
<!-- <BDropdownItem href="#">FA</BDropdownItem>-->
|
||||
<!-- </BNavItemDropdown>-->
|
||||
</BNavItemDropdown>
|
||||
|
||||
<BNavItemDropdown text="设置" right>
|
||||
<BDropdownItem @click="onmenuclick('Set','Workmode')">工作模式</BDropdownItem>
|
||||
@ -121,6 +144,13 @@ export default {
|
||||
<BDropdownItem @click="onmenuclick('Set','Weavelenth')">波长系数</BDropdownItem>
|
||||
<BDropdownItem @click="onmenuclick('Set','Calibrate')">定标</BDropdownItem>
|
||||
</BNavItemDropdown>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- <Teleport to="body">-->
|
||||
<!-- <div class="toast-container position-fixed " style="top:0px;right: 0px;width: 300px" >-->
|
||||
<!-- <BToast v-model="active" variant="info" interval="10" value="100" progress-props="{-->
|
||||
@ -136,11 +166,13 @@ export default {
|
||||
<!-- <BButton @click="active = !active">Toggle</BButton>-->
|
||||
</BNavbarNav>
|
||||
<div class="btgroup">
|
||||
<b-button variant="secondary" pill class="siglebt" @click="onmenuclick('Work','OPT')">OPT</b-button>
|
||||
<b-button :variant='DCbutton.state=="OK"?"success":"secondary"' pill class="siglebt" @click=" onmenuclick('Work','DC') ">DC</b-button>
|
||||
|
||||
<b-button :variant='WRbutton.state=="OK"?"success":"secondary"' pill class="siglebt" @click="onmenuclick('Work','WR')">WR</b-button>
|
||||
<b-button variant="secondary" pill class="siglebt" disabled @click="onmenuclick('Work','Rad')">Rad</b-button>
|
||||
<b-button variant="secondary" pill class="siglebt" @click="onmenuclick('Work','Save')">Save</b-button>
|
||||
|
||||
<b-button variant="secondary" pill class="siglebt">DC</b-button>
|
||||
<b-button variant="secondary" pill class="siglebt">Rad</b-button>
|
||||
<b-button variant="secondary" pill class="siglebt">WR</b-button>
|
||||
<b-button variant="secondary" pill class="siglebt">OPT</b-button>
|
||||
</div>
|
||||
</BNavbar>
|
||||
</template>
|
||||
|
@ -5,6 +5,7 @@ import * as echarts from "echarts";
|
||||
import EventBus from "../../eventBus.js";
|
||||
import {dialog, fs} from "@tauri-apps/api";
|
||||
import {invoke} from "@tauri-apps/api/tauri";
|
||||
import SerilporDefine from "../serportdefine.js";
|
||||
export default {
|
||||
name: "SetCalibrate",
|
||||
data(){
|
||||
@ -39,6 +40,21 @@ export default {
|
||||
// this.initChart();
|
||||
},
|
||||
methods: {
|
||||
|
||||
updateCalifile(){
|
||||
let aa=invoke("sendcalibratetodev",{
|
||||
gain:this.upGain.gain,
|
||||
shutter:this.upGain.shutter_time,
|
||||
direction:SerilporDefine.Derection.Up
|
||||
});
|
||||
console.log(aa);
|
||||
let aa1=invoke("sendcalibratetodev",{
|
||||
gain:this.downGain.gain,
|
||||
shutter:this.downGain.shutter_time,
|
||||
direction:SerilporDefine.Derection.Down
|
||||
});
|
||||
console.log(aa1);
|
||||
},
|
||||
async readFileAndParse() {
|
||||
|
||||
var options= {
|
||||
@ -246,7 +262,7 @@ export default {
|
||||
let coeffweave3=this.Devinfo.bochangxishu.a2;
|
||||
let coeffweave4=this.Devinfo.bochangxishu.a3;
|
||||
if (dire == "UP") {
|
||||
var data = await SerialportMethod.Get_Date_on_Derction(dire,this.shutter_time_up,false,Number(this.caijicishu[0]))
|
||||
var data = await SerialportMethod.Get_Date_on_Derction(dire,this.shutter_time_up,true,Number(this.caijicishu[0]))
|
||||
this.DataUP=data;
|
||||
this.DataUP.value_lable=0
|
||||
//获取波长系数
|
||||
@ -265,7 +281,7 @@ export default {
|
||||
// console.log(dataforshow);
|
||||
}else if(dire=="DOWN")
|
||||
{
|
||||
var data = await SerialportMethod.Get_Date_on_Derction(dire,this.shutter_time_down,false,Number(this.caijicishu[0]))
|
||||
var data = await SerialportMethod.Get_Date_on_Derction(dire,this.shutter_time_down,true,Number(this.caijicishu[0]))
|
||||
this.DataDown=data;
|
||||
this.DataDown.value_lable=0
|
||||
//获取波长系数
|
||||
@ -371,18 +387,20 @@ export default {
|
||||
async SaveGaindata(){
|
||||
if(this.upGain.shutter_time!=0)
|
||||
{
|
||||
await invoke("savecalibratefile",{
|
||||
console.log(this.upGain.gain);
|
||||
let data={
|
||||
gain:this.upGain.gain,
|
||||
shutter:this.upGain.shutter_time,
|
||||
direction:true,
|
||||
filepath:"./calibratefile/upgain.bin"
|
||||
});
|
||||
await invoke("sendcalibratetodev",{
|
||||
gain:this.upGain.gain,
|
||||
shutter:this.upGain.shutter_time,
|
||||
direction:true
|
||||
}
|
||||
await invoke("savecalibratefile",data);
|
||||
// await invoke("sendcalibratetodev",{
|
||||
// gain:this.upGain.gain,
|
||||
// shutter:this.upGain.shutter_time,
|
||||
// direction:true
|
||||
|
||||
});
|
||||
// });
|
||||
}
|
||||
|
||||
if(this.downGain.shutter_time!=0)
|
||||
@ -432,7 +450,32 @@ export default {
|
||||
let lampup=lampData[i]*UpLabel/lampLabel;
|
||||
let lampdown=lampData[i]*DownLabel/lampLabel;
|
||||
let gainup=lampup/upDn;
|
||||
//判断upDN是否为0 如果是0 则gainup为前一个值 如果是第一个 则为1
|
||||
|
||||
if (upDn==0)
|
||||
{
|
||||
if (i==0)
|
||||
{
|
||||
gainup=1;
|
||||
}else{
|
||||
gainup=gainofup[i-1];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
let gaindown=lampdown/downDn;
|
||||
//判断downDn是否为0 如果是0 则gainup为前一个值 如果是第一个 则为1
|
||||
if (downDn==0)
|
||||
{
|
||||
if (i==0)
|
||||
{
|
||||
gaindown=1;
|
||||
}else{
|
||||
gaindown=gainofdown[i-1];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
gainofup.push(gainup);
|
||||
gainofdown.push(gaindown);
|
||||
@ -554,7 +597,7 @@ export default {
|
||||
<b-button @click="updataName" style="position:absolute;left: 20px ">导入已有文件</b-button>
|
||||
<b-button @click="Start_Comput_Coeff()" style="position:absolute; left: 150px ">计算</b-button>
|
||||
<b style="position:absolute; left: 250px;border: #0f0f0f 1px solid; margin: auto">adsfsdsadfsdf</b>
|
||||
<b-button @click="updataName" style="position:absolute;right: 20px ">设置</b-button>
|
||||
<b-button @click="updateCalifile" style="position:absolute;right: 20px ">设置</b-button>
|
||||
</p>
|
||||
</template>
|
||||
|
||||
|
@ -20,7 +20,8 @@ const SerilporDefine = {
|
||||
ALLRadiance:0x10,
|
||||
UpAndDownRadiance:0x11,
|
||||
UpRadiance:0x12,
|
||||
DownRadiance:0x13
|
||||
DownRadiance:0x13,
|
||||
Ref:0x14
|
||||
},
|
||||
}
|
||||
export default SerilporDefine;
|
||||
|
@ -22,9 +22,11 @@ export default {
|
||||
ChongCaiyanginterval: 0.2,
|
||||
},
|
||||
caijiavgNumber:100,
|
||||
lastcaijiavgNumber:100,
|
||||
autoremovedark: true,
|
||||
caijidirection: "UP",
|
||||
ShutterTime: [100, 100],
|
||||
lastshuttime: 100,
|
||||
cajitimes: 5,
|
||||
cajitimesjiange:0,
|
||||
methodslist: [],
|
||||
@ -36,15 +38,19 @@ export default {
|
||||
nowNumber: 0,
|
||||
Filename: "Plot",
|
||||
pathofdir: "./data",
|
||||
sensor_typeforset: "IRIS-IS11",
|
||||
Devinfo: {
|
||||
SerilNumber: "",
|
||||
Version: "0000",
|
||||
name: "暂无",
|
||||
Caji_mode: "连续采集",
|
||||
return_mode: "返回模式",
|
||||
Datatype: "DN"
|
||||
Datatype: "DN",
|
||||
sensor_type:"IRIS-IS11"
|
||||
|
||||
},
|
||||
UPStr: "UP",
|
||||
DOWNStr: "DOWN",
|
||||
Datainfoshow: {
|
||||
header: "数据信息",
|
||||
infolist: []
|
||||
@ -62,7 +68,9 @@ export default {
|
||||
header: "DOWN",
|
||||
infolist: []
|
||||
},
|
||||
|
||||
buttoncolor:{
|
||||
opencombutton:"light"
|
||||
},
|
||||
|
||||
devinfoshow: {
|
||||
header: "设备信息",
|
||||
@ -73,6 +81,12 @@ export default {
|
||||
},
|
||||
cssme: {
|
||||
comportvariant: "info",
|
||||
},
|
||||
continuecaiji: false,
|
||||
Dispatcher:{
|
||||
isenable:false,
|
||||
begin:"00:00",
|
||||
end:"23:59",
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -84,11 +98,23 @@ export default {
|
||||
if (typeof(configdata.Filename)!="undefined")
|
||||
this.Filename=configdata.Filename
|
||||
if (typeof(configdata.caijiavgNumber)!="undefined")
|
||||
this.caijiavgNumber=configdata.caijiavgNumber
|
||||
{
|
||||
this.caijiavgNumber=configdata.caijiavgNumber
|
||||
this.lastcaijiavgNumber=configdata.caijiavgNumber
|
||||
}
|
||||
|
||||
if (typeof(configdata.useSG)!="undefined")
|
||||
this.dataprocessconfig.useSG=configdata.useSG
|
||||
if (typeof(configdata.usehighpass)!="undefined")
|
||||
this.dataprocessconfig.usehighpass=configdata.usehighpass
|
||||
if (typeof(configdata.Dispatcher.isenable)!="undefined")
|
||||
this.Dispatcher.isenable=configdata.Dispatcher.isenable
|
||||
if (typeof(configdata.Dispatcher.begin)!="undefined")
|
||||
this.Dispatcher.begin=configdata.Dispatcher.begin
|
||||
if (typeof(configdata.Dispatcher.end)!="undefined")
|
||||
this.Dispatcher.end=configdata.Dispatcher.end
|
||||
|
||||
|
||||
var ports = this.listSerialPorts();
|
||||
// let btn=document.getElementById("closecomeside");
|
||||
// btn.disabled=true;
|
||||
@ -99,11 +125,16 @@ export default {
|
||||
window.addEventListener("keydown", this.handlekeydown)
|
||||
EventBus.on("updatamaindevinfo", this.GetSenSorInfo);
|
||||
EventBus.on("konamiactive",this.setspectralmode);
|
||||
EventBus.on("Get_Dev_Info",this.get_dev_info)
|
||||
EventBus.on("Get_Dev_Info",this.get_dev_info);
|
||||
EventBus.on("LetSiderDo",this.letmedosomething);
|
||||
},
|
||||
methods: {
|
||||
...Siderleftmethode,
|
||||
...siderleftSerilportMethod
|
||||
...siderleftSerilportMethod,
|
||||
addOption() {
|
||||
this.options.push({label: this.inputValue, value: this.inputValue}),
|
||||
this.inputValue = ''
|
||||
}
|
||||
},
|
||||
setup(props, context) {
|
||||
const optionName = ref('')
|
||||
@ -137,6 +168,14 @@ export default {
|
||||
|
||||
<BAccordion class="bAccordionme" size="sm" >
|
||||
<BAccordionItem title="高级设置" v-show="isSpecialmodeshow">
|
||||
<!-- 设备切换 a-select -->
|
||||
<b-input-group prepend="设备切换" size="sm" style="width: 100%">
|
||||
<b-form-select v-model="sensor_typeforset" style="padding-right: 8px" :update="onDevchange()">
|
||||
<b-form-select-option value="IRIS-IS11">高光谱传感器</b-form-select-option>
|
||||
<b-form-select-option value="JZ-IS11">IS11</b-form-select-option>
|
||||
</b-form-select>
|
||||
</b-input-group>
|
||||
|
||||
<!-- <b-input-group prepend="平均次数" size="sm" style="width: 100%">-->
|
||||
<!-- <b-form-input type="number" v-model="caijiavgNumber"></b-form-input>-->
|
||||
<!-- <b-input-group-append>-->
|
||||
@ -148,7 +187,7 @@ export default {
|
||||
<!-- <div style="margin: auto; margin-left: 10px;"> HighPass<input type="checkbox" v-model="dataprocessconfig.usehighpass" ></div>-->
|
||||
<!-- </b-input-group>-->
|
||||
<b-input-group prepend="平均次数" size="sm" style="width: 100%">
|
||||
<b-form-input type="number" v-model="caijiavgNumber"></b-form-input>
|
||||
<b-form-input type="number" v-model="caijiavgNumber" :change="onshuttimechange(ShutterTime[0])"></b-form-input>
|
||||
<b-input-group-append>
|
||||
|
||||
</b-input-group-append>
|
||||
@ -159,6 +198,20 @@ export default {
|
||||
<!-- <div style="margin: auto; margin-left: 10px;"><input type="checkbox" v-model="dataprocessconfig.useSG" ></div>
|
||||
<div style="margin: auto; margin-left: 10px;"><input type="checkbox" v-model="dataprocessconfig.usehighpass" ></div> -->
|
||||
</b-input-group>
|
||||
<b-input-group prepend="开始时间" size="sm">
|
||||
<b-form-input type="time" v-model="Dispatcher.begin" :disabled="!Dispatcher.isenable"></b-form-input>
|
||||
<b-input-group-append>
|
||||
<div style="margin: auto; margin-left: 10px;"><input type="checkbox" v-model="Dispatcher.isenable" ></div>
|
||||
</b-input-group-append>
|
||||
|
||||
</b-input-group>
|
||||
<b-input-group prepend="结束时间" size="sm">
|
||||
<b-form-input type="time" v-model="Dispatcher.end" :disabled="!Dispatcher.isenable"></b-form-input>
|
||||
|
||||
</b-input-group>
|
||||
|
||||
|
||||
|
||||
<b-button @click="saveconfig" variant="light" size="sm">保存</b-button>
|
||||
</BAccordionItem>
|
||||
<BAccordionItem title="控制" visible >
|
||||
@ -171,11 +224,12 @@ export default {
|
||||
</b-button>
|
||||
</b-input-group-prepend>
|
||||
<b-form-input v-model="ShutterTime[0]" type="text" :disabled="iscollecting || !SerialInfo.isopen"
|
||||
v-show="caijidirection!='DOWN'"></b-form-input>
|
||||
v-show="caijidirection!='DOWN'" :change="onshuttimechange(ShutterTime[0])"></b-form-input>
|
||||
<b-form-input v-model="ShutterTime[1]" type="text" :disabled="iscollecting || !SerialInfo.isopen"
|
||||
v-show="caijidirection=='DOWN'||caijidirection=='ALL'"></b-form-input>
|
||||
v-show="caijidirection=='DOWN'||caijidirection=='ALL'" ></b-form-input>
|
||||
|
||||
</b-input-group>
|
||||
|
||||
<b-input-group style="margin-bottom: 2px;width: 100%;margin-left: auto;margin-right: auto" size="sm">
|
||||
|
||||
|
||||
@ -194,10 +248,13 @@ export default {
|
||||
<b-form-select v-model="caijidirection" v-if="Devinfo.work_mode=='advanced_mode'"
|
||||
:disabled="iscollecting || !SerialInfo.isopen"
|
||||
style="padding-right: 8px">
|
||||
<b-form-select-option value="UP">UP </b-form-select-option>
|
||||
<b-form-select-option value="DOWN">DOWN</b-form-select-option>
|
||||
<b-form-select-option value="DARK">DARK</b-form-select-option>
|
||||
<b-form-select-option value="ALL">ALL</b-form-select-option>
|
||||
<b-form-select-option value="UP">{{ UPStr }} </b-form-select-option>
|
||||
<b-form-select-option value="DOWN" v-if="Devinfo.sensor_type=='IRIS-IS11'" >{{ DOWNStr }}</b-form-select-option>
|
||||
<b-form-select-option value="DARK" v-if="Devinfo.sensor_type=='IRIS-IS11'">DARK</b-form-select-option>
|
||||
<b-form-select-option value="ALL" v-if="Devinfo.sensor_type=='IRIS-IS11'">ALL</b-form-select-option>
|
||||
<b-form-select-option value="RAD_UP" v-if="Devinfo.sensor_type=='IRIS-IS11'">RAD_UP</b-form-select-option>
|
||||
<b-form-select-option value="RAD_DOWN" v-if="Devinfo.sensor_type=='IRIS-IS11'">RAD_DOWN</b-form-select-option>
|
||||
<b-form-select-option value="REF" v-if="Devinfo.sensor_type=='IRIS-IS11'">REF</b-form-select-option>
|
||||
|
||||
</b-form-select>
|
||||
<b-input-group-prepend is-text style="padding: 0px;padding-right: 6px;padding-left: 10px" v-if="Devinfo.work_mode=='advanced_mode'" >
|
||||
@ -211,42 +268,79 @@ export default {
|
||||
<b-input-group-prepend>
|
||||
<b-button @click="ContinueCelect(cajitimes)" :disabled="iscollecting || !SerialInfo.isopen"
|
||||
style="min-width:80px">
|
||||
保存数据
|
||||
采集数据
|
||||
<!-- 连续采集-->
|
||||
</b-button>
|
||||
</b-input-group-prepend>
|
||||
|
||||
<b-form-input v-model="cajitimes" type="number" :disabled="iscollecting || !SerialInfo.isopen"></b-form-input>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</b-input-group>
|
||||
<b-input-group append="秒" size="sm">
|
||||
|
||||
<b-input-group style="margin-bottom: 2px;width: 100%;margin-left: auto;margin-right: auto;align-items: center;" size="sm" >
|
||||
|
||||
<b-button @click="ContinueCelect(-1)" :disabled="iscollecting || !SerialInfo.isopen"
|
||||
style="min-width:80%;margin: auto;" v-show="!continuecaiji">
|
||||
连续保存
|
||||
<!-- 连续采集-->
|
||||
</b-button>
|
||||
<b-button @click="ContinueCelect(-1)" :disabled=" !SerialInfo.isopen"
|
||||
style="min-width:80%;margin: auto;" v-show="continuecaiji">
|
||||
停止保存
|
||||
<!-- 连续采集-->
|
||||
</b-button>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</b-input-group>
|
||||
|
||||
|
||||
<b-input-group append="秒" size="sm" style="margin-bottom: 5px">
|
||||
<b-input-group-prepend style="margin-bottom: 2px;width: 100%;margin-left: auto;margin-right: auto">
|
||||
<b-input-group-text style="min-width:80px">保存间隔</b-input-group-text>
|
||||
</b-input-group-prepend>
|
||||
<b-form-input type="number" v-model="cajitimesjiange" :disabled="iscollecting || !SerialInfo.isopen"></b-form-input>
|
||||
</b-input-group>
|
||||
|
||||
</BAccordionItem>
|
||||
<BAccordionItem title="保存配置" >
|
||||
<!-- </BAccordionItem>
|
||||
<BAccordionItem title="保存配置" > -->
|
||||
<div>
|
||||
<!-- <b-button @click="closemain" id="closecome" variant="light" >退出</b-button>-->
|
||||
<b-input-group prepend="保存名称" size="sm" style="width: 100%">
|
||||
<b-form-input type="text" v-model="Filename"></b-form-input>
|
||||
<b-input-group size="sm" style="margin-bottom: 5px">
|
||||
<b-input-group-text style="min-width:80px">重 采 样</b-input-group-text>
|
||||
<b-form-input type="number" max="10" min="0.05" step="0.05" v-model="outputconfig.ChongCaiyanginterval"></b-form-input>
|
||||
<b-input-group-append>
|
||||
<input type="checkbox" style="margin: 10px" v-model="outputconfig.isChongCaiyang"/>
|
||||
</b-input-group-append>
|
||||
</b-input-group>
|
||||
<b-input-group prepend="保存路径" size="sm">
|
||||
<!-- <b-button @click="closemain" id="closecome" variant="light" >退出</b-button>-->
|
||||
<b-input-group size="sm" style="width: 100% ;margin-bottom: 5px" >
|
||||
<b-input-group-text style="min-width:80px">保存名称</b-input-group-text>
|
||||
<b-form-input type="text" v-model="Filename" :update="filenamechange()"></b-form-input>
|
||||
<div></div>
|
||||
<b-input-group-append>
|
||||
<div style="width: 30px;margin-top: 5px;">
|
||||
{{ nowNumber }}
|
||||
</div>
|
||||
</b-input-group-append>
|
||||
</b-input-group>
|
||||
|
||||
|
||||
<b-input-group size="sm">
|
||||
<b-input-group-text style="min-width:80px">保存路径</b-input-group-text>
|
||||
<b-form-input type="text" v-model="Pathtosave"></b-form-input>
|
||||
<b-input-group-append>
|
||||
<b-button @click="choosesavepath">...</b-button>
|
||||
</b-input-group-append>
|
||||
</b-input-group>
|
||||
<b-input-group prepend="重 采 样 " size="sm">
|
||||
<b-form-input type="number" max="10" min="0.05" step="0.05" v-model="outputconfig.ChongCaiyanginterval"></b-form-input>
|
||||
<b-input-group-append>
|
||||
<input type="checkbox" style="margin: 10px" v-model="outputconfig.isChongCaiyang"/>
|
||||
</b-input-group-append>
|
||||
|
||||
|
||||
</b-input-group>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
@ -267,14 +361,18 @@ export default {
|
||||
|
||||
<BDropdown dropup :text="Comname" :variant="cssme.comportvariant" class="me-2" size="sm"
|
||||
style="max-width: 30%; --bs-dropdown-min-width: 30%;font-size: xx-small" id="selectitem">
|
||||
<BFormInput v-model="inputValue" @keydown.enter.prevent="addOption" @click.stop size="sm"
|
||||
placeholder="手动输入" style="font-size: xx-small; margin-bottom: 5px;" />
|
||||
|
||||
|
||||
<BDropdownItem v-for="item in options" @click="Comname=item.value" style=" --bs-dropdown-min-width: 10px;"
|
||||
variant="success" size="sm">
|
||||
{{ item.label }}
|
||||
{{ item.label }}
|
||||
</BDropdownItem>
|
||||
</BDropdown>
|
||||
|
||||
|
||||
<BButton @click="initserialport" id="opencom" variant="light" size="sm"
|
||||
<BButton @click="initserialport" id="opencom" :variant="buttoncolor.opencombutton" size="sm"
|
||||
style="font-size: xx-small;max-width: 30%;">打开串口
|
||||
</BButton>
|
||||
|
||||
|
@ -4,6 +4,7 @@ import * as echarts from "echarts";
|
||||
import {exit} from "@tauri-apps/api/process";
|
||||
import EventBus from "../eventBus.js";
|
||||
import eventBus from "../eventBus.js";
|
||||
import { en } from "element-plus/es/locales.mjs";
|
||||
|
||||
export default {
|
||||
|
||||
@ -15,11 +16,15 @@ export default {
|
||||
configdata.caijiavgNumber=this.caijiavgNumber;
|
||||
configdata.useSG=this.dataprocessconfig.useSG;
|
||||
configdata.usehighpass=this.dataprocessconfig.usehighpass;
|
||||
configdata.Dispatcher=this.Dispatcher;
|
||||
fs.writeFile("config.json", JSON.stringify(configdata));
|
||||
EventBus.emit('showbox', {title: "系统", body: "保存配置成功",interval:10});
|
||||
this.isSpecialmodeshow=false;
|
||||
this.isSpecialmodeshow=true;
|
||||
},
|
||||
async filenamechange(){
|
||||
var maxn=await this.findmaxNinpath(this.pathofdir);
|
||||
this.Pathtosave=this.pathofdir+"/"+this.Filename+this.nowNumber+".csv";
|
||||
},
|
||||
|
||||
async choosesavepath(){
|
||||
// var path = require('path');
|
||||
// var dialog = require('@electron/remote').dialog;
|
||||
@ -56,6 +61,87 @@ export default {
|
||||
URL.revokeObjectURL(blob);
|
||||
},
|
||||
async ContinueCelect(times){
|
||||
if(times==-1) {
|
||||
this.continuecaiji=!this.continuecaiji;
|
||||
if (this.continuecaiji==false)
|
||||
{
|
||||
EventBus.emit('showbox', {title: "系统", body: "采集将在当前数据采集完成后停止",interval:10});
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if (this.continuecaiji) {
|
||||
while (this.continuecaiji) {
|
||||
|
||||
//获取当前时间
|
||||
let isuseDispatcher=this.Dispatcher.isenable;
|
||||
if (isuseDispatcher)
|
||||
{
|
||||
|
||||
let datenow=new Date();
|
||||
let hour=datenow.getHours();
|
||||
let datanownumber=hour*60+datenow.getMinutes();
|
||||
let begintimestr=this.Dispatcher.begin;
|
||||
let endtimestr=this.Dispatcher.end;
|
||||
let begintime=Number(begintimestr.split(":")[0])*60+Number(begintimestr.split(":")[1]);
|
||||
let endtime=Number(endtimestr.split(":")[0])*60+Number(endtimestr.split(":")[1]);
|
||||
|
||||
if (datanownumber>endtime||datanownumber<begintime)
|
||||
{
|
||||
|
||||
|
||||
await delay(1000);
|
||||
let dataforprocess={
|
||||
percent:100,
|
||||
info:"不在采集时间段内"
|
||||
}
|
||||
EventBus.emit('setprogressbar',dataforprocess);
|
||||
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
await this.GetoneData("",Number(this.caijiavgNumber));
|
||||
var aa={code:"Space"}
|
||||
await this.handlekeydown(aa);
|
||||
await delay(50);
|
||||
// if (this.cajitimesjiange>0)
|
||||
// await delay(this.cajitimesjiange*1000-50);
|
||||
//等待期间每一秒检查一次是否停止
|
||||
let temp=0;
|
||||
this.iscollecting=true;
|
||||
while(temp<this.cajitimesjiange&&this.continuecaiji)
|
||||
{
|
||||
await delay(1000);
|
||||
let dataforprocess={
|
||||
percent:temp/this.cajitimesjiange*100,
|
||||
info:"等待下次采集"
|
||||
}
|
||||
EventBus.emit('setprogressbar',dataforprocess);
|
||||
temp++;
|
||||
}
|
||||
this.iscollecting=false;
|
||||
|
||||
}
|
||||
|
||||
let dataforprocess={
|
||||
percent:100,
|
||||
info:""
|
||||
}
|
||||
EventBus.emit('setprogressbar',dataforprocess);
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
for (var i=0;i<times;i++)
|
||||
{
|
||||
|
||||
@ -66,8 +152,19 @@ export default {
|
||||
}
|
||||
await this.handlekeydown(aa);
|
||||
await delay(50);
|
||||
if (this.cajitimesjiange>0)
|
||||
await delay(this.cajitimesjiange*1000-50);
|
||||
// if (this.cajitimesjiange>0)
|
||||
// await delay(this.cajitimesjiange*1000-50);
|
||||
let temp=0;
|
||||
while(temp<this.cajitimesjiange)
|
||||
{
|
||||
await delay(1000);
|
||||
let dataforprocess={
|
||||
percent:temp/this.cajitimesjiange*100,
|
||||
info:"等待下次采集"
|
||||
}
|
||||
EventBus.emit('setprogressbar',dataforprocess);
|
||||
temp++;
|
||||
}
|
||||
}
|
||||
EventBus.emit('showbox', {title: "系统", body: "采集"+times+"次数据完成",interval:10});
|
||||
|
||||
@ -98,6 +195,11 @@ export default {
|
||||
var strcsv=""
|
||||
var strchogncaiyang="";
|
||||
var xValues = []
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
for (var i=0;i<lenthofdataup;i++)
|
||||
{
|
||||
var weave=coeffweave1*i*i*i+coeffweave2*i*i+coeffweave3*i+coeffweave4;
|
||||
@ -114,9 +216,41 @@ export default {
|
||||
{
|
||||
var dataup=this.dataup;
|
||||
var datadown=this.datadown;
|
||||
var dateup=(this.dataup.year+2000)+"-"+this.dataup.month+"-"+this.dataup.day+" "+this.dataup.hour+":"+this.dataup.minute+":"+this.dataup.second;
|
||||
strcsv+="Date_up,"+dateup+"\r\n";
|
||||
|
||||
|
||||
var date=(this.datadown.year+2000)+"-"+this.datadown.month+"-"+this.datadown.day+" "+this.datadown.hour+":"+this.datadown.minute+":"+this.datadown.second;
|
||||
strcsv+="Date_down,"+date+"\r\n";
|
||||
if(typeof this.dataup.temprature!="undefined")
|
||||
{
|
||||
let temperaturestrup="Temperature_up,"
|
||||
+this.dataup.temprature[0]+","+this.dataup.temprature[1]+","
|
||||
+this.dataup.temprature[2]+","+this.dataup.temprature[3]+","
|
||||
+this.dataup.temprature[4]+","+this.dataup.temprature[5]+","
|
||||
+this.dataup.temprature[6]+","+this.dataup.temprature[7]+"\r\n";
|
||||
strcsv+=temperaturestrup;
|
||||
}
|
||||
if(typeof this.datadown.temprature!="undefined")
|
||||
{
|
||||
let temperaturesdown="Temperature_down,"
|
||||
+this.datadown.temprature[0]+","+this.datadown.temprature[1]+","
|
||||
+this.datadown.temprature[2]+","+this.datadown.temprature[3]+","
|
||||
+this.datadown.temprature[4]+","+this.datadown.temprature[5]+","
|
||||
+this.datadown.temprature[6]+","+this.datadown.temprature[7]+"\r\n";
|
||||
strcsv+=temperaturesdown;
|
||||
let datatype="DataType,"+this.dataup.datatype+"\r\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
strcsv+="Weavelenth,upDN,downDN,upshutter,"+dataup.shutter_time
|
||||
+",downshutter,"+datadown.shutter_time+",index"+dataup.index+"\r\n";
|
||||
strchogncaiyang="Weavelenth,upDN,downDN,upshutter,"+dataup.shutter_time+",downshutter,"+datadown.shutter_time+",index"+dataup.index+"\r\n";
|
||||
+",downshutter,"+datadown.shutter_time+",index,"+dataup.index+"\r\n";
|
||||
strchogncaiyang="Weavelenth,upDN,downDN,upshutter,"+dataup.shutter_time+",downshutter,"+datadown.shutter_time+",index,"+dataup.index+"\r\n";
|
||||
var lenthofdataup=dataup.data.length;
|
||||
for (var i=0;i<lenthofdataup;i++)
|
||||
{
|
||||
@ -145,21 +279,41 @@ export default {
|
||||
var datatosave={};
|
||||
if (this.caijidirection=="UP")
|
||||
{
|
||||
datatosave=this.dataup;
|
||||
strcsv+="Weavelenth,upDN,upshutter,"+this.dataup.shutter_time+",index"+this.dataup.index+"\r\n";
|
||||
strchogncaiyang=strcsv;
|
||||
|
||||
datatosave=this.dataup;
|
||||
if (this.Devinfo.sensor_type=="IRIS-IS11")
|
||||
strcsv+="Weavelenth,upDN,upshutter,"+this.dataup.shutter_time+",index,"+this.dataup.index+"\r\n";
|
||||
else
|
||||
strcsv+="Weavelenth,"+this.UPStr+",upshutter,"+this.dataup.shutter_time+",index,"+this.dataup.index+"\r\n";;
|
||||
strchogncaiyang=strcsv;
|
||||
|
||||
}else if (this.caijidirection=="DOWN") {
|
||||
datatosave=this.datadown;
|
||||
strcsv+="Weavelenth,downDN,downshutter,"+this.datadown.shutter_time+",index"+this.datadown.index+"\r\n";
|
||||
strcsv+="Weavelenth,downDN,downshutter,"+this.datadown.shutter_time+",index,"+this.datadown.index+"\r\n";
|
||||
strchogncaiyang=strcsv;
|
||||
|
||||
} else if (this.caijidirection=="DARK") {
|
||||
datatosave=this.dataup;
|
||||
strcsv+="Weavelenth,darkDN,darkshutter,"+this.dataup.shutter_time+",index"+this.dataup.index+"\r\n";
|
||||
strcsv+="Weavelenth,darkDN,darkshutter,"+this.dataup.shutter_time+",index,"+this.dataup.index+"\r\n";
|
||||
strchogncaiyang=strcsv;
|
||||
}
|
||||
let date=(datatosave.year+2000)+"-"+datatosave.month+"-"+datatosave.day+" "+datatosave.hour+":"+datatosave.minute+":"+datatosave.second;
|
||||
let strcsv1="Date,"+date+"\r\n";
|
||||
if (typeof datatosave.temprature!="undefined")
|
||||
{
|
||||
let temperaturestr="Temperature,"
|
||||
+datatosave.temprature[0]+","+datatosave.temprature[1]+","
|
||||
+datatosave.temprature[2]+","+datatosave.temprature[3]+","
|
||||
+datatosave.temprature[4]+","+datatosave.temprature[5]+","
|
||||
+datatosave.temprature[6]+","+datatosave.temprature[7]+"\r\n";
|
||||
strcsv1+=temperaturestr;
|
||||
}
|
||||
strcsv=strcsv1+strcsv;
|
||||
strchogncaiyang=strcsv1+strchogncaiyang;
|
||||
|
||||
|
||||
|
||||
|
||||
var lenthofdataup=datatosave.data.length;
|
||||
for (var i=0;i<lenthofdataup;i++)
|
||||
{
|
||||
@ -194,13 +348,20 @@ export default {
|
||||
|
||||
if(this.Devinfo.work_mode=="advanced_mode")
|
||||
{
|
||||
let filepath="";
|
||||
if (this.outputconfig.isChongCaiyang)
|
||||
{
|
||||
await fs.writeFile(this.pathofdir+"/"+this.Filename+this.nowNumber+"_"+this.caijidirection+"_chongcaiyang.csv", strchogncaiyang)
|
||||
}
|
||||
|
||||
await fs.writeFile(this.pathofdir+"/"+this.Filename+this.nowNumber+"_"+this.caijidirection+".csv", strcsv);
|
||||
eventBus.emit('showbox', {title: "系统", body: "保存数据 "+ this.pathofdir+"/"+this.Filename+this.nowNumber+"_"+this.caijidirection+".csv OK",interval:10});
|
||||
if(this.Devinfo.sensor_type=="IRIS-IS11")
|
||||
{
|
||||
filepath=this.pathofdir+"/"+this.Filename+this.nowNumber+"_"+this.caijidirection+".csv";
|
||||
}else{
|
||||
filepath=this.Pathtosave;
|
||||
}
|
||||
|
||||
await fs.writeFile( filepath, strcsv);
|
||||
eventBus.emit('showbox', {title: "系统", body: "保存数据 "+ filepath+" OK",interval:10});
|
||||
}else
|
||||
{
|
||||
await fs.writeFile(this.Pathtosave, strcsv);
|
||||
@ -256,8 +417,8 @@ export default {
|
||||
|
||||
|
||||
async findmaxNinpath(directoryPath){
|
||||
|
||||
//
|
||||
if(directoryPath=="") return
|
||||
|
||||
//判断文件夹是否存在
|
||||
let isexits=await fs.exists(directoryPath);
|
||||
if (!isexits) {
|
||||
@ -265,6 +426,7 @@ export default {
|
||||
await fs.createDir(directoryPath);
|
||||
|
||||
}
|
||||
let fileName = this.Filename;
|
||||
// 以同步模式读取目录下的所有文件名
|
||||
const files = await fs.readDir(directoryPath);
|
||||
|
||||
@ -272,7 +434,7 @@ export default {
|
||||
const filteredFiles = files.filter(file => {
|
||||
|
||||
// console.log(file)
|
||||
var aa = file.path.startsWith(directoryPath + "\\" + this.Filename);
|
||||
var aa = file.path.startsWith(directoryPath + "\\" + fileName);
|
||||
var bb = file.path.endsWith('.csv');
|
||||
return aa && bb;
|
||||
}
|
||||
@ -281,14 +443,18 @@ export default {
|
||||
);
|
||||
|
||||
|
||||
|
||||
// 提取文件名中的N值
|
||||
const NValues = filteredFiles.map(file => {
|
||||
const match = file.name.match(new RegExp(`^${ this.Filename}(\\d+)\\.csv$`));
|
||||
// const match = file.name.match(new RegExp(`^${ fileName}(\\d+)\\.csv$`));
|
||||
const match = file.name.match(new RegExp(`^${fileName}(\\d+)(_(UP|DOWN))?\\.csv$`));
|
||||
|
||||
return match ? parseInt(match[1]) : null;
|
||||
}).filter(value => value !== null);
|
||||
|
||||
var maxN = Math.max(...NValues);
|
||||
this.nowNumber=maxN+1;
|
||||
|
||||
|
||||
if (NValues.length === 0) {
|
||||
// 如果没有匹配的文件,则返回-1
|
||||
maxN=0;
|
||||
@ -296,6 +462,7 @@ export default {
|
||||
|
||||
}
|
||||
// 找到最大的N值
|
||||
|
||||
this.Pathtosave=this.pathofdir+"\\"+this.Filename+this.nowNumber+".csv";
|
||||
return new Promise((resolve, reject) => {return maxN});
|
||||
},
|
||||
|
Reference in New Issue
Block a user