再次提交
This commit is contained in:
169
src-tauri/src/jianzhiis11/mod.rs
Normal file
169
src-tauri/src/jianzhiis11/mod.rs
Normal file
@ -0,0 +1,169 @@
|
||||
use super::mydefine::*;
|
||||
pub mod is11server;
|
||||
pub mod is11base;
|
||||
use serde_json::json;
|
||||
use std::ffi::CStr;
|
||||
use super::mylog::*;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
pub fn sendtoport_andgetreturn(
|
||||
data: serde_json::Value,
|
||||
datatype: serde_json::Value,
|
||||
) -> Result<RetStruct, String> {
|
||||
|
||||
let command = data.get("command").unwrap().to_string();
|
||||
|
||||
match command.as_str() {
|
||||
"\"get_sensor_info\"" => {
|
||||
is11base::is11_init();
|
||||
logtorust("init is11 ok".to_string());
|
||||
let sensor_info = is11base::is11_get_sensor_info();
|
||||
let sensor_name_cstr = unsafe { CStr::from_ptr(sensor_info.SensorName.as_ptr()) };
|
||||
let sensor_name = sensor_name_cstr.to_str().unwrap();
|
||||
let serilnumber_cstr = unsafe { CStr::from_ptr(sensor_info.serialnumber.as_ptr()) };
|
||||
let serilnumber = serilnumber_cstr.to_str().unwrap();
|
||||
//定义一个json对象
|
||||
let jsonforret= json!({
|
||||
"bochangxishu":{
|
||||
"a0":sensor_info.a1,
|
||||
"a1":sensor_info.a2,
|
||||
"a2":sensor_info.a3,
|
||||
"a3":sensor_info.a4,
|
||||
},
|
||||
"serialnumber":serilnumber,
|
||||
"name":sensor_name,
|
||||
"version":"1.0.0",
|
||||
"return_data_type":0,
|
||||
"work_mode":"advanced_mode",
|
||||
|
||||
});
|
||||
logtorust(format!("get_sensor_info:{}",jsonforret.to_string()));
|
||||
return Ok(RetStruct {
|
||||
datatype: 0,
|
||||
content: jsonforret.to_string(),
|
||||
data:IS11DataStruct::default() ,
|
||||
});
|
||||
}
|
||||
"\"start_opt\"" => {
|
||||
is11server::opt_sensor(90);
|
||||
let jsonforret= json!({
|
||||
"command":"start_opt"
|
||||
|
||||
});
|
||||
return Ok(RetStruct {
|
||||
datatype: 0,
|
||||
content: jsonforret.to_string(),
|
||||
data: IS11DataStruct::default(),
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
"\"get_opt\"" => {
|
||||
println!("get_opt");
|
||||
let ret=get_opt_result();
|
||||
return ret;
|
||||
|
||||
}
|
||||
"\"start_collect\"" => {
|
||||
return start_collect(data,datatype);
|
||||
|
||||
}
|
||||
|
||||
"\"get_caiji_state\"" =>{
|
||||
let (caiji_state,caiji_state_str)=is11server::get_now_stat();
|
||||
let jsonforret= json!({
|
||||
"caiji_state":caiji_state,
|
||||
"info":caiji_state_str,
|
||||
"return_data_type":0,
|
||||
});
|
||||
logtorust(format!("get_caiji_state:{}",jsonforret.to_string()));
|
||||
return Ok(RetStruct {
|
||||
datatype: 0,
|
||||
content: jsonforret.to_string(),
|
||||
data:IS11DataStruct::default() ,
|
||||
});
|
||||
|
||||
}
|
||||
"\"get_data\""=>{
|
||||
return get_data(data,datatype);
|
||||
}
|
||||
_ => {
|
||||
return Err("command not found ".to_string()+"command is:"+&command);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return Ok(RetStruct {
|
||||
datatype: 0,
|
||||
content: "指令未实现".to_string(),
|
||||
data: IS11DataStruct::default(),
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
pub fn get_opt_result() -> Result<RetStruct, String> {
|
||||
|
||||
|
||||
let shuttertime = is11server::get_shuttertime();
|
||||
|
||||
let jsonret = json!({
|
||||
"opt":shuttertime,
|
||||
|
||||
});
|
||||
return Ok(RetStruct {
|
||||
datatype: 0,
|
||||
content: jsonret.to_string(),
|
||||
data: IS11DataStruct::default(),
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
pub fn start_collect( data: serde_json::Value,
|
||||
datatype: serde_json::Value) -> Result<RetStruct, String> {
|
||||
let shuttertime = data.get("shutter_time").unwrap().as_u64().unwrap() as u32;
|
||||
logtorust(format!("start_collect,shutter time is:{}",shuttertime));
|
||||
|
||||
is11server::collect(shuttertime);
|
||||
let jsonret = json!({
|
||||
"command":"start_collect"
|
||||
|
||||
});
|
||||
return Ok(RetStruct {
|
||||
datatype: 0,
|
||||
content: jsonret.to_string(),
|
||||
data: IS11DataStruct::default(),
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
pub fn get_data( data: serde_json::Value,
|
||||
datatype: serde_json::Value) -> Result<RetStruct, String> {
|
||||
|
||||
let is11_data=is11server::get_data() ;
|
||||
|
||||
|
||||
|
||||
let jsonret = json!({
|
||||
"command":"get_data"
|
||||
|
||||
});
|
||||
|
||||
|
||||
return Ok(RetStruct {
|
||||
datatype: 2,
|
||||
content:jsonret.to_string(),
|
||||
data: is11_data,
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user