剖模, server desktop分支
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
profiler/configuration.py

237 lines
11 KiB

from pathlib import Path, PurePath
from tools.mylogger import log
from readcal import ReadCal
from myconfig import CAL_DIR, DATA_DIR, FILE_MARK, DeviceType, RamsesFunc
class Configuration:
def __init__(self, ) -> None:
log.info(f"ConfigAWRAMS init: ", __name__, "", "")
self.device_type = None
self.configuration =None
self.cal_configuration = {}
pass
def setDeviceType(self, device_type:str) -> None:
self.device_type = device_type.lower()
pass
def setSystemCfgDict(self, cfg:dict) -> None:
self.configuration = cfg
log.info(f"self.configuration : {self.configuration} ", __name__, "", "")
pass
def getCalConfiguration(self) -> None:
if self.device_type == None:
self.cal_configuration = None
if self.configuration == None:
self.cal_configuration =None
for k,v in self.configuration.items():
if v["SN"] == "" or v['FUNC']=="":
pass
else:
self.cal_configuration.update( {v["FUNC"]:{}} )
self.cal_configuration[v["FUNC"]].update( {"SN":v['SN']} )
self.cal_configuration[v["FUNC"]].update( {"FUNC":v['FUNC']} )
self.__init_configuration_basic()
self.__init_configuration_cal()
self.__init_configuration_IP_SAM()
pass
def __init_configuration_basic(self ) -> None:
# self.cfgtool = Config()
for k in self.cal_configuration.keys():
sn = self.cal_configuration[k]["SN"]
if self.__isSamIniExisted(sn):
self.cal_configuration[k].update({ "TYPE" : "SAM" })
self.cal_configuration[k].update({ "samsn" : sn })
self.cal_configuration[k].update({ "inifile" : "SAM_"+sn+".ini" })
self.cal_configuration[k].update({ "calfile" : "Cal_SAM_"+sn+".dat" })
self.cal_configuration[k].update({ "calaqfile" : "CalAQ_SAM_"+sn+".dat" })
self.cal_configuration[k].update({ "backfile" : "Back_SAM_"+sn+".dat" })
if self.__isSamIPIniExisted(sn):
self.cal_configuration[k].update({ "TYPE" : "SAMIP" })
samsn = self.__getSAMSN(sn)
if samsn== None:
log.warning(f"Cannot get samsn from Sensor: {sn}", __name__, "", "" )
raise Exception(f"Cannot get samsn from Sensor: {sn}")
self.cal_configuration[k].update({ "samsn" : samsn })
self.cal_configuration[k].update({ "inifile" : "SAMIP_"+sn+"_ALL.ini" })
self.cal_configuration[k].update({ "calfile" : "Cal_SAM_"+samsn+".dat" })
self.cal_configuration[k].update({ "calaqfile" : "CalAQ_SAM_"+samsn+".dat" })
self.cal_configuration[k].update({ "backfile" : "Back_SAM_"+samsn+".dat" })
if not self.__isSamIniExisted(sn) and not self.__isSamIPIniExisted(sn):
log.warning(f"Cannot find ini file for Sensor: {sn}", __name__, "", "" )
raise Exception(f"Cannot find ini file for Sensor: {sn}")
pass
def __init_configuration_cal(self ) -> None:
# self.cfgtool = Config()
for k in self.cal_configuration.keys():
sn = self.cal_configuration[k]["SN"]
# Device File
calpath = CAL_DIR.joinpath(self.device_type, self.cal_configuration[k]["calfile"])
if calpath.exists( ):
res = ReadCal.read_columns_set_by_mark( calpath, FILE_MARK, 1 )
self.cal_configuration[k].update({ "cal" : res[1][0] })
calaqpath = CAL_DIR.joinpath(self.device_type, self.cal_configuration[k]["calaqfile"])
if calaqpath.exists( ):
res = ReadCal.read_columns_set_by_mark( calaqpath, FILE_MARK, 1 )
self.cal_configuration[k].update({ "calaq" : res[1][0] })
backpath = CAL_DIR.joinpath(self.device_type, self.cal_configuration[k]["backfile"])
if calaqpath.exists( ):
res = ReadCal.read_columns_set_by_mark( backpath, FILE_MARK, 1,2 )
self.cal_configuration[k].update({ "b0" : res[1][0] })
self.cal_configuration[k].update({ "b1" : res[1][1] })
pass
def __init_configuration_IP_SAM(self ) -> None:
# self.cfgtool = Config()
for j in self.cal_configuration.keys():
# log.debug(f"__init_configuration_IP_SAM {j}", __name__, "", "" )
inipath = CAL_DIR.joinpath(self.device_type, self.cal_configuration[j]["inifile"])
# log.debug(f"__init_configuration_IP_SAM {inipath}", __name__, "", "" )
sam = ReadCal.readSAMCalFromIni(inipath)
# log.debug(f"__init_configuration_IP_SAM {sam}", __name__, "", "" )
for k,v in sam.items():
self.cal_configuration[j].update({ k : v })
if self.cal_configuration[j]["TYPE"] == "SAMIP":
ip = ReadCal.readIPCalFromIni(inipath)
for k,v in ip.items():
self.cal_configuration[j].update({ k : v })
def __isSamIniExisted(self,sn) ->bool:
sn_0 = "SAM_"+str(sn)+".ini"
path_ = CAL_DIR.joinpath(self.device_type.lower(), sn_0)
if path_.exists():
return True
return False
def __isSamIPIniExisted(self,sn) ->bool:
sn_0 = "SAMIP_"+str(sn)+"_ALL.ini"
path_ = CAL_DIR.joinpath(self.device_type.lower(), sn_0)
if path_.exists():
return True
return False
def __getSAMSN(self,sn) -> None:
sn_0 = "SAMIP_"+str(sn)+"_ALL.ini"
path_ = CAL_DIR.joinpath(self.device_type.lower(), sn_0)
# path_ = DATA_DIR.joinpath(self.device.lower(), CAL_DIR, sn_0)
samsn = ReadCal.readSamSNFromIni( path_ )
if samsn == None:
return None
return samsn
pass
# def __init2__(self, device:str, **kwargs) -> None:
# """
# get cal parameter for every sensor
# para : {"1":{"SN":"85B5","FUNC","Lsky"},"2":{},"3":{}}
# """
# # log.info(f"ProcessAWRAMS kwargs: {kwargs}", __name__, "", "")
# # log.info(f"len: { len(kwargs)}", __name__, "", "")
# if len(kwargs) != 3:
# log.warning(f" pass a wrong para to ProcessAWRAMS {kwargs}", __name__, "", "")
# self.device = device.lower() # surface profile awrams
# self.ramses = {}
# # 生成标定文件 { }
# for k,v in kwargs.items():
# self.ramses.update( {v["FUNC"]:{}} )
# self.ramses[v["FUNC"]].update( {"SN":v['SN']} )
# self.ramses[v["FUNC"]].update( {"FUNC":v['FUNC']} )
# pass
# log.debug(f" ===== {self.ramses}",__name__, "", "" )
# # if kwargs.__contains__("1"):
# # self.ramses.append( self.cfgtool.getDictByAttr("ramses"))
# # self.cfgtool.set_attr(self.ramses[1],kwargs['1']"SN",kwargs['1'])
# # if kwargs.__contains__("2"):
# # self.ramses.append( self.cfgtool.getDictByAttr("ramses"))
# # self.cfgtool.set_attr(self.ramses[2],"SN",kwargs['1'])
# # if kwargs.__contains__("3"):
# # self.ramses.append( self.cfgtool.getDictByAttr("ramses"))
# # self.cfgtool.set_attr(self.ramses[3],"SN",kwargs['1'])
# self.__init_configuration_basic()
# self.__init_configuration_cal()
# self.__init_configuration_IP_SAM()
# # log.info(f"ProcessAWRAMS after initiate: {kwargs}", __name__, "", "")
# def __init_configuration_basic2(self ) -> None:
# # self.cfgtool = Config()
# for k in self.ramses.keys():
# sn = self.ramses[k]["SN"]
# if self.__isSamIniExisted(sn):
# self.ramses[k].update({ "TYPE" : "SAM" })
# self.ramses[k].update({ "samsn" : sn })
# self.ramses[k].update({ "inifile" : "SAM_"+sn+".ini" })
# self.ramses[k].update({ "calfile" : "Cal_SAM_"+sn+".dat" })
# self.ramses[k].update({ "calaqfile" : "CalAQ_SAM_"+sn+".dat" })
# self.ramses[k].update({ "backfile" : "Back_SAM_"+sn+".dat" })
# if self.__isSamIPIniExisted(sn):
# self.ramses[k].update({ "TYPE" : "SAMIP" })
# samsn = self.__getSAMSN(sn)
# if samsn== None:
# log.warning(f"Cannot get samsn from Sensor: {sn}", __name__, "", "" )
# raise Exception(f"Cannot get samsn from Sensor: {sn}")
# self.ramses[k].update({ "samsn" : samsn })
# self.ramses[k].update({ "inifile" : "SAMIP_"+sn+"_ALL.ini" })
# self.ramses[k].update({ "calfile" : "Cal_SAM_"+samsn+".dat" })
# self.ramses[k].update({ "calaqfile" : "CalAQ_SAM_"+samsn+".dat" })
# self.ramses[k].update({ "backfile" : "Back_SAM_"+samsn+".dat" })
# if not self.__isSamIniExisted(sn) and not self.__isSamIPIniExisted(sn):
# log.warning(f"Cannot find ini file for Sensor: {sn}", __name__, "", "" )
# raise Exception(f"Cannot find ini file for Sensor: {sn}")
# pass
# def __init_configuration_cal2(self ) -> None:
# # self.cfgtool = Config()
# for k in self.ramses.keys():
# sn = self.ramses[k]["SN"]
# # Device File
# calpath = CAL_DIR.joinpath(self.device, self.ramses[k]["calfile"])
# if calpath.exists( ):
# res = Readfile.read_columns_set_by_mark( calpath, FILE_MARK, 1 )
# self.ramses[k].update({ "cal" : res[1][0] })
# calaqpath = CAL_DIR.joinpath(self.device, self.ramses[k]["calaqfile"])
# if calaqpath.exists( ):
# res = Readfile.read_columns_set_by_mark( calaqpath, FILE_MARK, 1 )
# self.ramses[k].update({ "calaq" : res[1][0] })
# backpath = CAL_DIR.joinpath(self.device, self.ramses[k]["backfile"])
# if calaqpath.exists( ):
# res = Readfile.read_columns_set_by_mark( backpath, FILE_MARK, 1,2 )
# self.ramses[k].update({ "b0" : res[1][0] })
# self.ramses[k].update({ "b1" : res[1][1] })
# pass
# def __init_configuration_IP_SAM2(self ) -> None:
# # self.cfgtool = Config()
# for j in self.ramses.keys():
# # log.debug(f"__init_configuration_IP_SAM {j}", __name__, "", "" )
# inipath = CAL_DIR.joinpath(self.device, self.ramses[j]["inifile"])
# # log.debug(f"__init_configuration_IP_SAM {inipath}", __name__, "", "" )
# sam = Readfile.readSAMCalFromIni(inipath)
# # log.debug(f"__init_configuration_IP_SAM {sam}", __name__, "", "" )
# for k,v in sam.items():
# self.ramses[j].update({ k : v })
# if self.ramses[j]["TYPE"] == "SAMIP":
# ip = Readfile.readIPCalFromIni(inipath)
# for k,v in ip.items():
# self.ramses[j].update({ k : v })