rust
This commit is contained in:
@ -1,9 +1,7 @@
|
||||
use super::mydefine::*;
|
||||
pub mod spectralserver;
|
||||
pub mod spectralbase;
|
||||
use std::fmt::format;
|
||||
use std::fs;
|
||||
use std::fs::File;
|
||||
use super::mylog::*;
|
||||
use serde_json::json;
|
||||
use spectralserver::calibrate_file;
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
use libc::{c_uchar,c_char,c_long,c_float, size_t};
|
||||
use std::ffi::CStr;
|
||||
use libc::{c_uchar, size_t};
|
||||
use std::slice;
|
||||
|
||||
use crate::serport::serport::*;
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
use libc::{c_uchar,c_char,c_long,c_float, size_t};
|
||||
use std::ffi::CStr;
|
||||
use libc::{c_uchar, size_t};
|
||||
use std::slice;
|
||||
|
||||
use crate::serport::serport::*;
|
||||
|
||||
@ -7,7 +7,6 @@ use std::{
|
||||
};
|
||||
mod IS3_sensor;
|
||||
mod IS11_sensor;
|
||||
|
||||
// 定义emun 不同光谱仪
|
||||
#[derive(Copy, Clone)]
|
||||
pub enum Senortype {
|
||||
@ -204,11 +203,12 @@ pub fn sensor_get_data(shuttertime: i32) -> Vec<u16> {
|
||||
unsafe {
|
||||
|
||||
let len = sensor_get_data_base(outdata.as_mut_ptr(), shuttertime);
|
||||
outdata.truncate(len as usize);
|
||||
outdata.truncate(len as usize);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// polynomial_smooth_u16( outdata ,7)
|
||||
outdata
|
||||
}
|
||||
|
||||
|
||||
@ -2,16 +2,12 @@ use super::spectralbase;
|
||||
use super::spectralbase::*;
|
||||
use super::super::mydefine::*;
|
||||
use lazy_static::lazy_static;
|
||||
use chrono::{self, format, Datelike, Timelike};
|
||||
use serde::de;
|
||||
use tauri::http::header::UPGRADE;
|
||||
use chrono::{self, Datelike, Timelike};
|
||||
use std::thread;
|
||||
use std::fs;
|
||||
use std::fs::File;
|
||||
use std::mem;
|
||||
use std::path::Path;
|
||||
use std::io::Read;
|
||||
use super::super::algorithm::*;
|
||||
#[derive(PartialEq)]
|
||||
enum WorkStat {
|
||||
IDLE,
|
||||
@ -132,7 +128,7 @@ pub fn opt_sensor(percent: i32) -> i32 {
|
||||
pub fn get_now_stat()->(String,String,i32){
|
||||
|
||||
|
||||
let mut dev_stat=DEV_STAT.lock().unwrap();
|
||||
let dev_stat=DEV_STAT.lock().unwrap();
|
||||
match dev_stat.stat {
|
||||
WorkStat::IDLE => {
|
||||
return ("finish".to_string(),dev_stat.workname.clone(),100);
|
||||
@ -415,12 +411,12 @@ pub fn calibrate_file(orgdata: &IS11DataStruct) -> IS11DataStruct {
|
||||
let cali_gaindb = calidata.temprature[0];
|
||||
let cali_shutter = calidata.shutter_time;
|
||||
//db 转系数
|
||||
let mut collect_gain = 10.0_f32.powf(collect_gaindb / 20.0);
|
||||
let mut cali_gain = 10.0_f32.powf(cali_gaindb / 20.0);
|
||||
let collect_gain = 10.0_f32.powf(collect_gaindb / 20.0);
|
||||
let cali_gain = 10.0_f32.powf(cali_gaindb / 20.0);
|
||||
//计算增益
|
||||
let mut Scale_gain = cali_gain / collect_gain;
|
||||
let mut Scale_shutter = cali_shutter as f32/ collect_shutter as f32;
|
||||
let mut SCale = Scale_gain * Scale_shutter as f32;
|
||||
let Scale_gain = cali_gain / collect_gain;
|
||||
let Scale_shutter = cali_shutter as f32/ collect_shutter as f32;
|
||||
let SCale = Scale_gain * Scale_shutter as f32;
|
||||
let len = orgdata.data.len();
|
||||
for i in 0..len {
|
||||
data.data[i] = orgdata.data[i] * SCale * calidata.data[i]+offsetdata.data[i];
|
||||
|
||||
Reference in New Issue
Block a user