Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ead98fe8da | |||
| dc4e1bd233 | |||
| 42025d2243 | |||
| b341dbf073 | |||
| 20f6f126b0 | |||
| bf4a00db1a | |||
| 0b7a650b95 | |||
| 062613c681 |
@@ -885,12 +885,8 @@ class I4V4Z4T4DataDecoder(RecDataDecoder):
|
||||
mem_cnt = data[1]
|
||||
time_stamp: float = struct.unpack('<I', data[4:8])[0] # unit: ms 0x18030000
|
||||
current = struct.unpack('<i', data[8:12])[0] # unit: nA
|
||||
ch2 = struct.unpack('<i', data[12:16])[0] # unit: uV
|
||||
voltage = struct.unpack('<i', data[12:16])[0] # unit: uV
|
||||
impedance = struct.unpack('<i', data[16:20])[0] # unit: mOm
|
||||
if self._mode == 16:
|
||||
voltage = impedance - ch2
|
||||
else:
|
||||
voltage = ch2
|
||||
|
||||
cycle_number = struct.unpack('<H', data[20:22])[0]
|
||||
finish_mode_falg = data[22]
|
||||
|
||||
@@ -651,8 +651,6 @@ class DeviceInstruction:
|
||||
VIS_DEVICE_DONE = 0x20
|
||||
"""identify device done"""
|
||||
|
||||
VIS_CC_ZERO = 0x40
|
||||
|
||||
VIS_STI = 0xC0
|
||||
"""stimulation on virtual instruction"""
|
||||
|
||||
@@ -726,7 +724,6 @@ class DeviceCommonInstruction:
|
||||
STOP_STIMULATE = "stop_stimulate"
|
||||
VIS_DEVICE_DETECT = 'VIS_DEVICE_DETECT'
|
||||
VIS_DEVICE_DONE = 'VIS_DEVICE_DONE'
|
||||
VIS_CC_ZERO = 'VIS_CC_ZERO'
|
||||
CIS_VOLT = 'CIS_VOLT'
|
||||
CIS_VERSION = 'CIS_VERSION'
|
||||
|
||||
@@ -750,8 +747,6 @@ class DeviceCommonInstruction:
|
||||
return 'VIS_DEVICE_DETECT',
|
||||
elif instruction == cls.VIS_DEVICE_DONE:
|
||||
return 'VIS_DEVICE_DONE',
|
||||
elif instruction == cls.VIS_CC_ZERO:
|
||||
return 'VIS_CC_ZERO',
|
||||
elif instruction == cls.RECORD:
|
||||
return 'VIS_STARTR',
|
||||
elif instruction == cls.RECORD_ALL:
|
||||
|
||||
@@ -211,6 +211,9 @@ class Project(threading.Thread):
|
||||
return True
|
||||
|
||||
def as_json(self):
|
||||
running_task = None
|
||||
if self._task_manager.running_task is not None:
|
||||
running_task = self._task_manager.running_task.as_json()
|
||||
data = {
|
||||
'id': self._id,
|
||||
'name': self._name,
|
||||
@@ -219,6 +222,6 @@ class Project(threading.Thread):
|
||||
'status': self._status,
|
||||
'device': self._device,
|
||||
'task': self.task_list,
|
||||
'running_task': self._task_manager.running_task.as_json()
|
||||
'running_task': running_task
|
||||
}
|
||||
return data
|
||||
|
||||
@@ -1131,14 +1131,17 @@ class RecordingFileWriter:
|
||||
self._splitting_size = 0
|
||||
return None
|
||||
|
||||
def close(self):
|
||||
# if self._recording_file is not None:
|
||||
# self._recording_file.close()
|
||||
# self._recording_file = None
|
||||
print('close1')
|
||||
def close(self, mqtt_thread):
|
||||
self._close = True
|
||||
if len(self._recording_file_dict) > 0:
|
||||
for ch in self._data_db.keys():
|
||||
if len(self._data_rl[ch]) > 0:
|
||||
self._data_rl[ch].append(str(int(self._time_now)))
|
||||
mes = ' '.join(self._data_rl[ch])
|
||||
mqtt_thread[ch].on_message(mes)
|
||||
self._data_rl[ch].clear()
|
||||
self._send_data[ch] = False
|
||||
|
||||
if self._recording_file_dict[ch]._status:
|
||||
_data = ' '.join(self._data_db[ch])
|
||||
self._raw_save['data'][ch] = _data
|
||||
|
||||
@@ -229,25 +229,6 @@ class RecordingProcess(Process):
|
||||
# except:
|
||||
# pass
|
||||
|
||||
try:
|
||||
time_duration = self._meta_file.configuration.get_parameter('TIME_DURATION')
|
||||
if time_duration and time_duration is not 0 and time() - self._start_time >= time_duration:
|
||||
self._queue_msg.put(['ds', self._device, 'interrupt'])
|
||||
return None
|
||||
|
||||
if isinstance(self._decoder, I4V4Z4T4DataDecoder) or isinstance(self._decoder, EISZeroOneDataDecoder):
|
||||
if self._decoder.isFinishMode is not None and self._decoder.isFinishMode() == 1:
|
||||
self._queue_msg.put(['ds', self._device, 'interrupt'])
|
||||
return None
|
||||
# content = {}
|
||||
# content['header'] = 'device_instruction/0'
|
||||
# content['device'] = result.device
|
||||
# content['instruction'] = 'interrupt'
|
||||
# self._mqtt_thread.publish('device_instruction',json_stringify(content), True)
|
||||
# self.server.stop_sync(self.device)
|
||||
except RuntimeError as e:
|
||||
print(e)
|
||||
|
||||
if result is not None:
|
||||
##
|
||||
if len(self._mqtt_send_data_ch_level) == 0:
|
||||
@@ -264,9 +245,27 @@ class RecordingProcess(Process):
|
||||
self._writer.channels_update(ret[0].channels())
|
||||
self._writer.write(ret, self._mqtt_send_data_ch_level)
|
||||
# print('write time: ', time() - ctime1)
|
||||
|
||||
# print(ret)
|
||||
|
||||
try:
|
||||
time_duration = self._meta_file.configuration.get_parameter('TIME_DURATION')
|
||||
if time_duration and time_duration is not 0 and time() - self._start_time >= time_duration:
|
||||
self._queue_msg.put(['ds', self._device, 'interrupt'])
|
||||
return None
|
||||
|
||||
if isinstance(self._decoder, I4V4Z4T4DataDecoder) or isinstance(self._decoder, EISZeroOneDataDecoder):
|
||||
if self._decoder.isFinishMode is not None and self._decoder.isFinishMode() == 1:
|
||||
self._queue_msg.put(['ds', self._device, 'interrupt'])
|
||||
return None
|
||||
# content = {}
|
||||
# content['header'] = 'device_instruction/0'
|
||||
# content['device'] = result.device
|
||||
# content['instruction'] = 'interrupt'
|
||||
# self._mqtt_thread.publish('device_instruction',json_stringify(content), True)
|
||||
# self.server.stop_sync(self.device)
|
||||
except RuntimeError as e:
|
||||
print(e)
|
||||
|
||||
del ret
|
||||
del data
|
||||
return
|
||||
@@ -607,7 +606,7 @@ class RecordingProcess(Process):
|
||||
|
||||
def final_write(self):
|
||||
if self._writer is not None:
|
||||
return self._writer.close()
|
||||
return self._writer.close(self._mqtt_send_data_ch_level)
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
@@ -1633,16 +1633,6 @@
|
||||
"dpv_engineering_mode_advanced": [
|
||||
"dpv_advanced_mode"
|
||||
],
|
||||
"VIS_CC_ZERO": [
|
||||
"_data_format('I4V4Z4T4')",
|
||||
"_disable_cache(False)",
|
||||
"_notify(True)",
|
||||
"set_adc_gain_I",
|
||||
"set_adc_gain_Vin",
|
||||
"VIS_CC_ZERO",
|
||||
"_sync(True)",
|
||||
"VIS_STI"
|
||||
],
|
||||
"ble_instru_send": [
|
||||
"ble_write",
|
||||
"_cdr('20X>ADC_VALUE_I')"
|
||||
|
||||
@@ -492,14 +492,6 @@
|
||||
"1XC0;1X02;4B>ve;2B>vf;4B>vg;B>cn"
|
||||
]
|
||||
},
|
||||
"VIS_CC_ZERO": [
|
||||
"_data_format('I4V4Z4T4')",
|
||||
"_disable_cache(False)",
|
||||
"_notify(True)",
|
||||
"VIS_CC_ZERO",
|
||||
"_sync(True)",
|
||||
"VIS_STI"
|
||||
],
|
||||
"curve_cv3_high_cycle": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
|
||||
@@ -1058,7 +1058,7 @@
|
||||
"va": "VOLT_ORIGIN",
|
||||
"vb": "VOLT_FINAL",
|
||||
"vc": "VOLT_STEP",
|
||||
"vd": "STEP_TIME * 0x12",
|
||||
"vd": "STEP_TIME",
|
||||
"pa": "ADC_LEVEL_I_15",
|
||||
"pb": "ADC_LEVEL_V_IN_15",
|
||||
"pc": "DAC_LEVEL_V_OUT_15",
|
||||
@@ -1079,7 +1079,7 @@
|
||||
"va": "VOLT_ORIGIN",
|
||||
"vb": "VOLT_FINAL",
|
||||
"vc": "VOLT_STEP",
|
||||
"vd": "STEP_TIME * 0x12",
|
||||
"vd": "STEP_TIME",
|
||||
"ve": "CYCLE_NUMBER",
|
||||
"pa": "ADC_LEVEL_I_15",
|
||||
"pb": "ADC_LEVEL_V_IN_15",
|
||||
@@ -1633,16 +1633,6 @@
|
||||
"dpv_engineering_mode_advanced": [
|
||||
"dpv_advanced_mode"
|
||||
],
|
||||
"VIS_CC_ZERO": [
|
||||
"_data_format('I4V4Z4T4')",
|
||||
"_disable_cache(False)",
|
||||
"_notify(True)",
|
||||
"set_adc_gain_I",
|
||||
"set_adc_gain_Vin",
|
||||
"VIS_CC_ZERO",
|
||||
"_sync(True)",
|
||||
"VIS_STI"
|
||||
],
|
||||
"ble_instru_send": [
|
||||
"ble_write",
|
||||
"_cdr('20X>ADC_VALUE_I')"
|
||||
|
||||
@@ -1058,7 +1058,7 @@
|
||||
"va": "VOLT_ORIGIN",
|
||||
"vb": "VOLT_FINAL",
|
||||
"vc": "VOLT_STEP",
|
||||
"vd": "STEP_TIME * 0x12",
|
||||
"vd": "STEP_TIME",
|
||||
"pa": "ADC_LEVEL_I_15",
|
||||
"pb": "ADC_LEVEL_V_IN_15",
|
||||
"pc": "DAC_LEVEL_V_OUT_15",
|
||||
@@ -1079,7 +1079,7 @@
|
||||
"va": "VOLT_ORIGIN",
|
||||
"vb": "VOLT_FINAL",
|
||||
"vc": "VOLT_STEP",
|
||||
"vd": "STEP_TIME * 0x12",
|
||||
"vd": "STEP_TIME",
|
||||
"ve": "CYCLE_NUMBER",
|
||||
"pa": "ADC_LEVEL_I_15",
|
||||
"pb": "ADC_LEVEL_V_IN_15",
|
||||
@@ -1633,16 +1633,6 @@
|
||||
"dpv_engineering_mode_advanced": [
|
||||
"dpv_advanced_mode"
|
||||
],
|
||||
"VIS_CC_ZERO": [
|
||||
"_data_format('I4V4Z4T4')",
|
||||
"_disable_cache(False)",
|
||||
"_notify(True)",
|
||||
"set_adc_gain_I",
|
||||
"set_adc_gain_Vin",
|
||||
"VIS_CC_ZERO",
|
||||
"_sync(True)",
|
||||
"VIS_STI"
|
||||
],
|
||||
"ble_instru_send": [
|
||||
"ble_write",
|
||||
"_cdr('20X>ADC_VALUE_I')"
|
||||
|
||||
@@ -1058,7 +1058,7 @@
|
||||
"va": "VOLT_ORIGIN",
|
||||
"vb": "VOLT_FINAL",
|
||||
"vc": "VOLT_STEP",
|
||||
"vd": "STEP_TIME * 0x12",
|
||||
"vd": "STEP_TIME",
|
||||
"pa": "ADC_LEVEL_I_15",
|
||||
"pb": "ADC_LEVEL_V_IN_15",
|
||||
"pc": "DAC_LEVEL_V_OUT_15",
|
||||
@@ -1079,7 +1079,7 @@
|
||||
"va": "VOLT_ORIGIN",
|
||||
"vb": "VOLT_FINAL",
|
||||
"vc": "VOLT_STEP",
|
||||
"vd": "STEP_TIME * 0x12",
|
||||
"vd": "STEP_TIME",
|
||||
"ve": "CYCLE_NUMBER",
|
||||
"pa": "ADC_LEVEL_I_15",
|
||||
"pb": "ADC_LEVEL_V_IN_15",
|
||||
@@ -1203,7 +1203,7 @@
|
||||
"pe": "SAMPLE_RATE"
|
||||
},
|
||||
"data": [
|
||||
"X07;",
|
||||
"X0C;",
|
||||
"B>va;4B>vb;2B>vc;2B>vd;",
|
||||
"4b>pa;4b>pb;",
|
||||
"4b>pc;4b>pd;",
|
||||
@@ -1633,16 +1633,6 @@
|
||||
"dpv_engineering_mode_advanced": [
|
||||
"dpv_advanced_mode"
|
||||
],
|
||||
"VIS_CC_ZERO": [
|
||||
"_data_format('I4V4Z4T4')",
|
||||
"_disable_cache(False)",
|
||||
"_notify(True)",
|
||||
"set_adc_gain_I",
|
||||
"set_adc_gain_Vin",
|
||||
"VIS_CC_ZERO",
|
||||
"_sync(True)",
|
||||
"VIS_STI"
|
||||
],
|
||||
"ble_instru_send": [
|
||||
"ble_write",
|
||||
"_cdr('20X>ADC_VALUE_I')"
|
||||
|
||||
@@ -424,14 +424,6 @@
|
||||
"1XD2;1X02;4B>ve;2B>vf;2B>cn"
|
||||
]
|
||||
},
|
||||
"VIS_CC_ZERO": [
|
||||
"_data_format('EISZeroOne')",
|
||||
"_disable_cache(False)",
|
||||
"_notify(True)",
|
||||
"VIS_CC_ZERO",
|
||||
"_sync(True)",
|
||||
"VIS_STI"
|
||||
],
|
||||
"ble_instru_send": [
|
||||
"ble_write",
|
||||
"_cdr('20X>ADC_VALUE_I')"
|
||||
|
||||
@@ -424,14 +424,6 @@
|
||||
"1XD2;1X02;4B>ve;2B>vf;2B>cn"
|
||||
]
|
||||
},
|
||||
"VIS_CC_ZERO": [
|
||||
"_data_format('EISZeroOne')",
|
||||
"_disable_cache(False)",
|
||||
"_notify(True)",
|
||||
"VIS_CC_ZERO",
|
||||
"_sync(True)",
|
||||
"VIS_STI"
|
||||
],
|
||||
"ble_instru_send": [
|
||||
"ble_write",
|
||||
"_cdr('20X>ADC_VALUE_I')"
|
||||
|
||||
@@ -424,14 +424,6 @@
|
||||
"1XD2;1X02;4B>ve;2B>vf;2B>cn"
|
||||
]
|
||||
},
|
||||
"VIS_CC_ZERO": [
|
||||
"_data_format('EISZeroOne')",
|
||||
"_disable_cache(False)",
|
||||
"_notify(True)",
|
||||
"VIS_CC_ZERO",
|
||||
"_sync(True)",
|
||||
"VIS_STI"
|
||||
],
|
||||
"ble_instru_send": [
|
||||
"ble_write",
|
||||
"_cdr('20X>ADC_VALUE_I')"
|
||||
|
||||
@@ -1426,14 +1426,6 @@
|
||||
"X80;X03;B>CTRL_HIGH_Z_15"
|
||||
]
|
||||
},
|
||||
"VIS_CC_ZERO": [
|
||||
"_data_format('I4V4Z4T4')",
|
||||
"_disable_cache(False)",
|
||||
"_notify(True)",
|
||||
"VIS_CC_ZERO",
|
||||
"_sync(True)",
|
||||
"VIS_STI"
|
||||
],
|
||||
"pulse_fly": [
|
||||
"sti_mode",
|
||||
"gas1_mode",
|
||||
|
||||
Reference in New Issue
Block a user