|
|
|
@ -27,6 +27,7 @@ from tools.myexception import MyException |
|
|
|
|
from tools.mylogger import log |
|
|
|
|
|
|
|
|
|
from awrams import AwramsHandle,HandheldHandle |
|
|
|
|
from profiler import ProfilerHandle |
|
|
|
|
|
|
|
|
|
# -定义菜单ID,关联Event------------------------- |
|
|
|
|
ID_MEASURE = 1 |
|
|
|
@ -172,7 +173,7 @@ class YiwinFrame(wx.Frame): |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
def updateDisplay(self, msg): |
|
|
|
|
log.warning(f" updateDisplay 。。 {msg['data']}") |
|
|
|
|
log.warning(f" updateDisplay .. {msg['data']}",__name__,"updateDisplay","") |
|
|
|
|
if msg['flag'] == "notice": |
|
|
|
|
self.__update_notice(msg['data']) |
|
|
|
|
pass |
|
|
|
@ -225,15 +226,15 @@ class YiwinFrame(wx.Frame): |
|
|
|
|
|
|
|
|
|
def OnDealData(self, e) -> None: |
|
|
|
|
''' SD卡的文件结构 ''' |
|
|
|
|
log.info(f"OnDealData: 处理测量数据", __name__, "", "") |
|
|
|
|
log.info(f"OnDealData: 处理测量数据", __name__, "OnDealData", "") |
|
|
|
|
if not self.calinfo_is_ok: |
|
|
|
|
self.onNotify("Pls get the cal info, and try again" ) |
|
|
|
|
log.warning(f"Pls get the cal info, and try again", __name__, "OnDealData") |
|
|
|
|
self.statusBar.SetStatusText("Pls get the cal info, and try again",0) |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
## 调用 AwramsHandle 的函数 |
|
|
|
|
self.myhandle:HandheldHandle = self.handheld_handle[self.device_id] |
|
|
|
|
# 调用 ProfilerHandle 的函数 |
|
|
|
|
self.myhandle:ProfilerHandle = self.profiler_handle.get(self.device_id ) |
|
|
|
|
|
|
|
|
|
# 处理数据 |
|
|
|
|
self.alterStatus_0(" 正在处理数据...." ) |
|
|
|
@ -241,7 +242,7 @@ class YiwinFrame(wx.Frame): |
|
|
|
|
self.mythread.set_task( self.read_folders_from_sd ) |
|
|
|
|
self.mythread.start() |
|
|
|
|
except Exception as e: |
|
|
|
|
log.error(e) |
|
|
|
|
log.error(e,__name__,"OnDealData") |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
def read_folders_from_sd(self,): |
|
|
|
@ -250,84 +251,58 @@ class YiwinFrame(wx.Frame): |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# def OnDealData2(self, e)-> None: |
|
|
|
|
# log.info(f"OnDealData: 处理测量数据", __name__, "", "") |
|
|
|
|
# if not self.calinfo_is_ok: |
|
|
|
|
# self.onNotify("Pls get the cal info, and try again" ) |
|
|
|
|
# log.warning(f"Pls get the cal info, and try again", __name__, "OnDealData") |
|
|
|
|
# self.statusBar.SetStatusText("Pls get the cal info, and try again",0) |
|
|
|
|
# pass |
|
|
|
|
|
|
|
|
|
# self.hh.getDataFileList() |
|
|
|
|
# self.hh.setDeviceID(self.device_id) |
|
|
|
|
# self.hh.setRetrieve(self.retrieve) |
|
|
|
|
# if self.syscfg != {}: |
|
|
|
|
# self.hh.setSyscfg(self.syscfg) |
|
|
|
|
# else: |
|
|
|
|
# log.warning(f"Pls get the cal info, and try again", __name__, "OnDealData","setCfg") |
|
|
|
|
# MyException( f"System Configuration is empty." ) |
|
|
|
|
# pass |
|
|
|
|
|
|
|
|
|
# # 处理数据 |
|
|
|
|
# self.alterStatus_0(" 正在处理数据...." ) |
|
|
|
|
# try: |
|
|
|
|
# self.mythread.set_task( self.hh.dealAllMeasurements ) |
|
|
|
|
# self.mythread.start() |
|
|
|
|
# except Exception as e: |
|
|
|
|
# log.error(e) |
|
|
|
|
# pass |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def OnCalInfo(self,e): |
|
|
|
|
'''依据传感器获取标定文件信息''' |
|
|
|
|
####################################### |
|
|
|
|
self.onNotify("正在获取标定信息") |
|
|
|
|
self.device_type = DeviceType.SURFACE.name |
|
|
|
|
self.device_type = DeviceType.PROFILER.name |
|
|
|
|
self.mycfg = MyConfig() # 传入 cfg retrieve 的yml文件 |
|
|
|
|
|
|
|
|
|
# 配置反演需要的参数 波长 间隔 , rowFactor |
|
|
|
|
self.retrieve = self.mycfg.get_retrieve() # 读retrieve.yml |
|
|
|
|
self.retrieve = self.mycfg.read_rtv_yaml() # 读retrieve.yml |
|
|
|
|
log.info(f"Retrieve: {self.retrieve}", __name__, "", "") |
|
|
|
|
|
|
|
|
|
# log.info(f"syscfg: {device}", __name__, "", "") |
|
|
|
|
self.mycfg.setDeviceType( DeviceType.SURFACE ) |
|
|
|
|
self.mycfg.setDeviceType( DeviceType.PROFILER ) |
|
|
|
|
self.sensor_cfg = self.mycfg.read_yaml() # 读config.yml, 多个device_id 配置 |
|
|
|
|
log.info(f"Current Device: {self.device_type} ", __name__, "", "") |
|
|
|
|
log.info(f"Sensor cfg: {self.sensor_cfg}", __name__, "", "") |
|
|
|
|
|
|
|
|
|
log.info(f"Current Device: {self.device_type} ", __name__, "OnCalInfo", "") |
|
|
|
|
log.info(f"Sensor cfg: {self.sensor_cfg}", __name__, "OnCalInfo", "") |
|
|
|
|
|
|
|
|
|
self.cal_cfg = {} |
|
|
|
|
|
|
|
|
|
cfgr = Configuration( ) |
|
|
|
|
cfgr.setDeviceType(self.device_type) |
|
|
|
|
cfgr.setSystemCfgDict(self.sensor_cfg) |
|
|
|
|
# cfgr.setSystemCfgDict(self.sensor_cfg) |
|
|
|
|
|
|
|
|
|
for k,v in self.sensor_cfg.items(): |
|
|
|
|
cfgr.setSystemCfgDict(v) |
|
|
|
|
try: |
|
|
|
|
cfgr.getCalConfiguration() |
|
|
|
|
except Exception as e: |
|
|
|
|
log.error(f"读取配置文件失败. \n {e}",__name__, "", "" ) |
|
|
|
|
log.error(f"读取配置文件失败. \n {e}",__name__, "OnCalInfo", "" ) |
|
|
|
|
raise |
|
|
|
|
log.info(f"v: {cfgr.configuration}", __name__, "", "") |
|
|
|
|
log.info(f"v: {cfgr.configuration}", __name__, "OnCalInfo", "") |
|
|
|
|
self.cal_cfg.update({k:cfgr.cal_configuration}) |
|
|
|
|
|
|
|
|
|
log.debug(f"cal_cfg: {self.cal_cfg}", __name__, "", "") |
|
|
|
|
log.warning(f"cal_cfg 2: {self.cal_cfg[2].keys()}", __name__, "", "") |
|
|
|
|
log.debug(f"cal_cfg: {self.cal_cfg}", __name__, "OnCalInfo", "") |
|
|
|
|
log.warning(f"cal_cfg 2: {self.cal_cfg[2].keys()}", __name__, "OnCalInfo", "") |
|
|
|
|
# log.warning(f"cal_cfg 3: {self.cal_cfg[3].keys()}", __name__, "", "") |
|
|
|
|
self.init_data_process() |
|
|
|
|
|
|
|
|
|
log.info(f"传感器配置文件读取成功", __name__, "", "") |
|
|
|
|
|
|
|
|
|
# 配置初始化 ProfilerHandle |
|
|
|
|
self.init_data_process() |
|
|
|
|
self.calinfo_is_ok =True |
|
|
|
|
|
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
def init_data_process(self, mode = 0): |
|
|
|
|
''' 多个handle ''' |
|
|
|
|
self.handheld_handle = { } |
|
|
|
|
log.info(f" 配置设备处理数据... ", __name__, "init_data_process", "") |
|
|
|
|
self.profiler_handle = { } |
|
|
|
|
for k,v in self.cal_cfg.items(): |
|
|
|
|
ah = HandheldHandle( deviceid=k, cfg=self.sensor_cfg[k], calcfg=v, rtv=self.retrieve) |
|
|
|
|
self.handheld_handle.update( {k:ah } ) |
|
|
|
|
|
|
|
|
|
cal_cfg = v |
|
|
|
|
ph = ProfilerHandle( deviceid=k, cfg=self.sensor_cfg, calcfg=cal_cfg, rtv=self.retrieve ) |
|
|
|
|
self.profiler_handle.update( {k:ph} ) |
|
|
|
|
|
|
|
|
|
def alterStatus_0(self,msg): |
|
|
|
|
self.statusBar.SetStatusText( msg, 0 ) |
|
|
|
|