desktop
esea_info 3 years ago
parent 13b7721df9
commit 5d9f8ada09
  1. 30
      Ramses.py

@ -26,6 +26,7 @@ class Ramses(object):
@param : 23 ..07 .... 06 05 04 03 02 01 00
ip信息不包含
@Returns : realWavelength Intensity
@ 积分时间 04 07 , 07
"""
self.buf = b''
self.mode = 0 # 默认0 空气中,1:水中
@ -34,11 +35,7 @@ class Ramses(object):
self.light_int = None # 未标定的整数值
self.spectrum = None # 光谱强度
self.ip = []
# self.current_buf = ""
# self.current_buf_seq = 0
# self.current_it_int = {"it": 0, "light_int": []} # 积分时间及换算的整数值
# self.res = {"wavelength": [], "light": []}
self.cal_cfg = {}
self.cal_cfg = {} # 单个传感器标定文件还是多个传感器的?
# self.current_cal = {} # 当前传感器的序列号
pass
@ -58,6 +55,9 @@ class Ramses(object):
self.cal_cfg = d
pass
def get_ip(self):
return self.ip
def getSpectrum(self):
return self.spectrum
@ -85,7 +85,10 @@ class Ramses(object):
pass
def dealBuf(self, ip_included:bool=False):
"""多个传感器的数据处理, 头部是否包含Ip帧的信息"""
"""
头部是否包含Ip帧的信息
?? 不支持多个传感器的标定文件
"""
log.info(f" dealBuf ", __name__)
res = {}
@ -125,16 +128,16 @@ class Ramses(object):
def __ConvertBytesToInt(self ) -> None:
res = {}
d = [] # List [ Tuple[ it:int, sing_set:tuple[int] ] ]
print(f" ================= ")
print(f" {self.buf.hex()} ")
self.it = 2 << int(self.buf[1]) # integrated time
# self.it = 2 << int(self.buf[0]) # integrated time
self.light_int = struct.unpack(
"<HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH \
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH \
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH \
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH", self.buf[2:])
print( self.light_int )
# print( self.light_int )
def __CalibrateSpectrumData(self ,) :
t0 = 8092
@ -245,6 +248,15 @@ class Ramses(object):
press_delta = p_bar - 1.021
depth_m = press_delta * 10
return [depth_m,X,Y]
def getWavelength(self,) -> list:
ret = []
for i in range(1,256):
tmp = float(self.cal_cfg['c0s']) + float(self.cal_cfg['c1s'])*i \
+ float(self.cal_cfg['c2s'])*i*i + float(self.cal_cfg['c3s'])*i*i*i
ret.append(tmp)
pass
return ret
pass

Loading…
Cancel
Save