Compare commits

..

41 Commits

Author SHA1 Message Date
peterlu14 c084f29f06 [update] add script to auto update db columns & python pacakges 2022-11-16 16:27:12 +08:00
peterlu14 130d260add Update README.md 2022-11-16 06:30:19 +00:00
peterlu14 575d5d8af1 [update] rolloff_cali from cutoff_freq/1e5 to hsrtia_c[gain] 2022-11-16 13:37:51 +08:00
peterlu14 fbf6297047 Merge remote-tracking branch 'origin/dev/update_eis_parameter' into dev/scheduler_cf 2022-11-16 13:34:17 +08:00
Roy c540013d19 [update] new cf mode 2022-11-16 11:51:15 +08:00
Roy 7f0b00a323 [update] update highz instruction 2022-11-15 17:28:51 +08:00
Roy 4828c85668 [update] clean up eis parameter 2022-11-15 16:08:43 +08:00
Roy 4ce9fe5b8d [update] remove ADC_LEVEL_V_IN_15 parameter 2022-11-15 16:08:09 +08:00
Roy d74f09254e [update] update high z status 2022-11-15 16:07:58 +08:00
Roy 79ecff69cc [update] update VT_MEASURE_VIN_RANGE parameter 2022-11-15 16:03:06 +08:00
Roy df45126ead [update] update CA_VOLT parameter 2022-11-15 16:00:53 +08:00
Roy 9fade3469a [update] update CV_SCAN_RATE parameter 2022-11-15 15:51:42 +08:00
Roy a77331176c [update] update CV_E2 parameter 2022-11-15 15:47:49 +08:00
Roy 8f98337267 [update] update CV_E1 parameter 2022-11-15 15:44:42 +08:00
Roy 205d39cb11 [update] update CV_E_INITIAL parameter 2022-11-15 15:41:38 +08:00
Roy a5ea3243fa [update] new lprtia function 2022-11-15 15:39:31 +08:00
peterlu14 2edf28c7ba Merge branch 'release/v1.6.8/sqlAlchemy+projectTable' into dev/scheduler_idle_mode 2022-11-15 15:35:06 +08:00
peterlu14 b20d46daa8 [update] add new mode idle & project stop condition change 2022-11-15 13:23:49 +08:00
Roy 789d9b3a81 [update] fix hstia gain 2022-11-15 11:51:16 +08:00
Roy 0d0427ed14 [update] receive hsrtia & lprtia gain level 2022-11-09 17:19:48 +08:00
Roy d434509c5b [update] new hsrtia function 2022-11-09 16:03:45 +08:00
Roy 787d76d48c [update] update eis instruction 2022-11-08 17:55:20 +08:00
Roy 50f2432088 [update] update number of mode 2022-11-08 17:28:03 +08:00
Roy 1cff19ac58 [update] update GENERAL_HS_RTIA parameter 2022-11-08 16:13:20 +08:00
Roy baef447c0e [update] update EIS_AVERAGE_NUM parameter 2022-11-08 15:57:52 +08:00
Roy ee9c13d4c5 [update] update EIS_DELAY parameter 2022-11-08 15:44:57 +08:00
Roy 9076f2f10b [update] update EIS_SCALE parameter 2022-11-08 15:36:22 +08:00
Roy 9b2e2964b0 [update] update EIS_PPD parameter 2022-11-08 14:49:07 +08:00
Roy 2622109c89 [update] update EIS_FREQ parameter 2022-11-08 14:35:32 +08:00
Roy a3fe6b87af [update] update EIS_AC_AMP parameter 2022-11-08 14:24:07 +08:00
Roy 64419ca1c5 [update] update EIS_DC_BIAS parameter 2022-11-08 14:17:31 +08:00
Roy 7d77c44741 [update] update EIS_FREQ parameter 2022-11-08 12:09:42 +08:00
Roy 29b4dd5cc7 [update] update EIS_FREQ parameter 2022-11-08 12:07:49 +08:00
Roy f151ae6fce [update] delete FREQ_START & FREQ_STOP parameter 2022-11-08 11:08:01 +08:00
peterlu14 e535e3d2b1 Merge remote-tracking branch 'origin/EIS_10test' into release/v1.7.0/fix_EIS_freq-RT 2022-11-08 09:38:19 +08:00
10 06c36aa737 Merge remote-tracking branch 'origin/dev/RT_mode' into EIS_10test 2022-11-07 16:54:28 +08:00
10 402022c451 cutoff freq 2022-11-07 16:44:54 +08:00
Roy 4daff72d39 [update] update RT mode 2022-10-27 17:43:16 +08:00
Roy f99719832a [update] short instruction for RT mode 2022-10-27 17:13:38 +08:00
10 fcc39dbfed Merge branch 'release/v1.6.9/fix_phase_90ToN90' into EIS_10test 2022-10-13 15:28:39 +08:00
10 1174d54bc0 fix phase in PEIS mode 2022-10-13 15:13:00 +08:00
10 changed files with 1007 additions and 569 deletions
+22
View File
@@ -78,6 +78,8 @@ add ssh.txt in boot folder
###### Install dependencies ###### Install dependencies
sudo apt-get install vim git wiringpi build-essential libi2c-dev i2c-tools python-dev libffi-dev python3-pip postgresql npm sudo apt-get install vim git wiringpi build-essential libi2c-dev i2c-tools python-dev libffi-dev python3-pip postgresql npm
sudo apt-get install libatlas-base-dev
sudo apt-get install python3-numpy
###### wiringpi conflict ###### wiringpi conflict
need to install wiringpi: https://github.com/WiringPi/WiringPi need to install wiringpi: https://github.com/WiringPi/WiringPi
@@ -94,6 +96,7 @@ git clone https://gitlab.com/wisetop/controller/wisetopdataserver.git
``` ```
cd ~/wisetopdataserver cd ~/wisetopdataserver
pip3 install -r requirements.txt pip3 install -r requirements.txt
pip3 install SQLAlchemy
``` ```
##### Packages version ##### Packages version
``` ```
@@ -358,3 +361,22 @@ $sudo vim ./sites-available/000-default.conf
##### raspberry website document: ##### raspberry website document:
> https://www.raspberrypi.org/documentation/configuration/wireless/access-point-routed.md > https://www.raspberrypi.org/documentation/configuration/wireless/access-point-routed.md
# ChangeLog
[2022.11.16]
add python package SQLAlchemy
add new column project(int4) in postgresSQL table recording_meta_datas
add new postgresSQL table project_report
add new postgresSQL table meta_project_info
[2022.10.18]
socektTimeout from 1s -> 5s
socketListen from 3 -> 20
[2022.09.30]
add new column cycle(jsonb) in postgresSQL table projects
[2022.9.28]
add python package numpy
+22 -23
View File
@@ -1346,8 +1346,8 @@ class EISZeroOneDataDecoder(RecDataDecoder):
__slots__ = ('_message', '_cycle_number', '_start_return_data', '_time_stamp', __slots__ = ('_message', '_cycle_number', '_start_return_data', '_time_stamp',
'_total_time_stamp', '_mode', '_cycle_start_time', '_total_time_stamp', '_mode', '_cycle_start_time',
'_mode_stop', '_last_time_stamp', '_last_delta', '_cali_coeff', '_mode_stop', '_last_time_stamp', '_last_delta', '_cali_coeff',
'cali_coeff', '_ac_amp', '_mode', '_freq_start', '_freq_stop', 'cali_coeff', '_ac_amp', '_mode',
'_freq_direction', '_last_phase', '_first_phase_flag', '_show_data') '_last_phase', '_first_phase_flag', '_show_data')
def __init__(self, cali_coeff: bytes = None): def __init__(self, cali_coeff: bytes = None):
super().__init__() super().__init__()
@@ -1362,9 +1362,6 @@ class EISZeroOneDataDecoder(RecDataDecoder):
self._cycle_start_time = [] self._cycle_start_time = []
self._ac_amp: int = 0 self._ac_amp: int = 0
self._mode: int = 0 self._mode: int = 0
self._freq_start: int = 0
self._freq_stop: int = 0
self._freq_direction = 0
self._last_phase = 0 self._last_phase = 0
self._first_phase_flag = 1 self._first_phase_flag = 1
@@ -1429,25 +1426,25 @@ class EISZeroOneDataDecoder(RecDataDecoder):
index = 60 index = 60
hsrtia_a.append(struct.unpack('>i', cali_coeff[index+1:index+5])[0]/1e8) hsrtia_a.append(struct.unpack('>i', cali_coeff[index+1:index+5])[0]/1e8)
hsrtia_b.append(struct.unpack('>i', cali_coeff[index+5:index+9])[0]/1e8) hsrtia_b.append(struct.unpack('>i', cali_coeff[index+5:index+9])[0]/1e8)
hsrtia_c.append(struct.unpack('>i', cali_coeff[index+9:index+13])[0]/1e4) hsrtia_c.append(struct.unpack('>i', cali_coeff[index+9:index+13])[0])
#Lv[1] 20k #Lv[1] 20k
index = 80 index = 80
hsrtia_a.append(struct.unpack('>i', cali_coeff[index+1:index+5])[0]/1e8) hsrtia_a.append(struct.unpack('>i', cali_coeff[index+1:index+5])[0]/1e8)
hsrtia_b.append(struct.unpack('>i', cali_coeff[index+5:index+9])[0]/1e8) hsrtia_b.append(struct.unpack('>i', cali_coeff[index+5:index+9])[0]/1e8)
hsrtia_c.append(struct.unpack('>i', cali_coeff[index+9:index+13])[0]/1e4) hsrtia_c.append(struct.unpack('>i', cali_coeff[index+9:index+13])[0])
#Lv[2] 5k #Lv[2] 5k
index = 100 index = 100
hsrtia_a.append(struct.unpack('>i', cali_coeff[index+1:index+5])[0]/1e8) hsrtia_a.append(struct.unpack('>i', cali_coeff[index+1:index+5])[0]/1e8)
hsrtia_b.append(struct.unpack('>i', cali_coeff[index+5:index+9])[0]/1e8) hsrtia_b.append(struct.unpack('>i', cali_coeff[index+5:index+9])[0]/1e8)
hsrtia_c.append(struct.unpack('>i', cali_coeff[index+9:index+13])[0]/1e4) hsrtia_c.append(struct.unpack('>i', cali_coeff[index+9:index+13])[0])
#Lv[3] 200R #Lv[3] 200R
index = 120 index = 120
hsrtia_a.append(struct.unpack('>i', cali_coeff[index+1:index+5])[0]/1e8) hsrtia_a.append(struct.unpack('>i', cali_coeff[index+1:index+5])[0]/1e8)
hsrtia_b.append(struct.unpack('>i', cali_coeff[index+5:index+9])[0]/1e8) hsrtia_b.append(struct.unpack('>i', cali_coeff[index+5:index+9])[0]/1e8)
hsrtia_c.append(struct.unpack('>i', cali_coeff[index+9:index+13])[0]/1e4) hsrtia_c.append(struct.unpack('>i', cali_coeff[index+9:index+13])[0])
index = 140 index = 140
g = 1 g = 1
@@ -1530,7 +1527,7 @@ class EISZeroOneDataDecoder(RecDataDecoder):
time_stamp: float = struct.unpack('<I', data[13+3:17+3])[0] # unit: ms time_stamp: float = struct.unpack('<I', data[13+3:17+3])[0] # unit: ms
cycle_number = struct.unpack('>H', data[17+3:19+3])[0] cycle_number = struct.unpack('>H', data[17+3:19+3])[0]
d19 = data[19+3] d19 = data[19+3]
gain = (d19 & 0x0F) gain = data[20+3]
finishMode = (d19 & 0x80) >> 7 finishMode = (d19 & 0x80) >> 7
if time_stamp == 0: if time_stamp == 0:
@@ -1540,7 +1537,7 @@ class EISZeroOneDataDecoder(RecDataDecoder):
return None return None
if time_stamp != 0 and self._start_return_data == True: if time_stamp != 0 and self._start_return_data == True:
if (self._mode == 0): if (self._mode == 0 or self._mode == 5):
time_stamp, delta, ret_get_time_stamp = self.eis_get_time_stamp(time_stamp) time_stamp, delta, ret_get_time_stamp = self.eis_get_time_stamp(time_stamp)
else: else:
time_stamp, delta, ret_get_time_stamp = self.get_time_stamp(time_stamp) time_stamp, delta, ret_get_time_stamp = self.get_time_stamp(time_stamp)
@@ -1549,7 +1546,7 @@ class EISZeroOneDataDecoder(RecDataDecoder):
print("error timeStamp full data:", list(data), datetime.now(), '\n') print("error timeStamp full data:", list(data), datetime.now(), '\n')
return None return None
else: else:
if self.cali_coeff is not None and self._mode == 0: if self.cali_coeff is not None and (self._mode == 0 or self._mode == 5):
hsrtia_a = [] hsrtia_a = []
hsrtia_b = [] hsrtia_b = []
hsrtia_c = [] hsrtia_c = []
@@ -1557,23 +1554,25 @@ class EISZeroOneDataDecoder(RecDataDecoder):
cutoff_freq, phase_coeff, phase_offset, hsrtia_a, hsrtia_b, hsrtia_c, hsrtia_d = self.cali_coeff[0] cutoff_freq, phase_coeff, phase_offset, hsrtia_a, hsrtia_b, hsrtia_c, hsrtia_d = self.cali_coeff[0]
voltage_amp = round(self._ac_amp * 800 / 2047) # use UI value voltage_amp = round(self._ac_amp * 800 / 2047) # use UI value
if (self._freq_start > self._freq_stop):
self._freq_direction = 0
else:
self._freq_direction = 1
if (self._mode == 0): if (self._mode == 0 or self._mode == 5):
img = ch1 img = ch1
real = ch2 real = ch2
freq = ch3 freq = ch3
fre_idx = 0 fre_idx = 0
voltage_mag = math.sqrt(img ** 2 + real ** 2) * (1 + freq ** 2 / cutoff_freq ** 2) # rolloff_cali = cutoff_freq/1e5
rolloff_cali = hsrtia_c[gain]
voltage_mag = math.sqrt(img ** 2 + real ** 2) * (1 + freq ** 2 / rolloff_cali ** 2 / 1e4)
# if (gain == 3): # if (gain == 3):
# current = hsrtia_a[gain] * math.exp(hsrtia_b[gain] * voltage_mag) + hsrtia_c[gain] * math.exp(hsrtia_d[gain] * voltage_mag) # current = hsrtia_a[gain] * math.exp(hsrtia_b[gain] * voltage_mag) + hsrtia_c[gain] * math.exp(hsrtia_d[gain] * voltage_mag)
# else: # else:
current = voltage_mag ** 2 * hsrtia_a[gain] + voltage_mag * hsrtia_b[gain] + hsrtia_c[gain]
current = voltage_mag ** 2 * hsrtia_a[gain] + voltage_mag * hsrtia_b[gain]
# current = voltage_mag ** 2 * hsrtia_a[gain] + voltage_mag * hsrtia_b[gain] + hsrtia_c[gain]
# print(current) # print(current)
# print(voltage_mag) # print(voltage_mag)
# print(hsrtia_a[gain]) # print(hsrtia_a[gain])
@@ -1617,7 +1616,7 @@ class EISZeroOneDataDecoder(RecDataDecoder):
real_after_cal = impedance * math.cos(round(phase) * math.pi / 180) real_after_cal = impedance * math.cos(round(phase) * math.pi / 180)
if self._show_data: if self._show_data:
if (self._mode == 0): if (self._mode == 0 or self._mode == 5):
print('|', '{:10}'.format(time_stamp), print('|', '{:10}'.format(time_stamp),
'|', '{:5}'.format(delta), '|', '{:5}'.format(delta),
'|', '{:6}'.format(ch1), '|', '{:6}'.format(ch1),
@@ -1631,7 +1630,7 @@ class EISZeroOneDataDecoder(RecDataDecoder):
'|', '{:5}'.format(round(current, 3)), '|', '{:5}'.format(round(current, 3)),
'|', '{:1}'.format(gain), '|', '{:1}'.format(gain),
'|', '{:1}'.format(finishMode), '|', '{:1}'.format(finishMode),
'@', str(self.device), '|') '@', str(self.device), '|', flush = True)
pass pass
else: else:
print('|', '{:10}'.format(time_stamp), print('|', '{:10}'.format(time_stamp),
@@ -1642,7 +1641,7 @@ class EISZeroOneDataDecoder(RecDataDecoder):
'|', '{:5}'.format(cycle_number), '|', '{:5}'.format(cycle_number),
'|', '{:1}'.format(gain), '|', '{:1}'.format(gain),
'|', '{:1}'.format(finishMode), '|', '{:1}'.format(finishMode),
'@', str(self.device), '|') '@', str(self.device), '|', flush = True)
pass pass
if finishMode == True: if finishMode == True:
@@ -1652,7 +1651,7 @@ class EISZeroOneDataDecoder(RecDataDecoder):
self._mode_stop = 0 self._mode_stop = 0
ret = RecordingData(self.device, int(time_stamp * 1000 / 2), 0) ret = RecordingData(self.device, int(time_stamp * 1000 / 2), 0)
if (self._mode == 0): #EIS Mode if self._mode == 0 or self._mode == 5: #EIS Mode
ret.append_data(0, ch1) #Raw Imag ret.append_data(0, ch1) #Raw Imag
ret.append_data(1, ch2) #Raw Real ret.append_data(1, ch2) #Raw Real
ret.append_data(2, ch3 * 10) #Frequency [mHz] ret.append_data(2, ch3 * 10) #Frequency [mHz]
+1 -1
View File
@@ -1141,7 +1141,7 @@ class CompletedDevice(Device):
# raise RuntimeError('illegal parameter value : ' + value) from e # raise RuntimeError('illegal parameter value : ' + value) from e
else: else:
if name == 'MODE': if name == 'MODE':
if self.library_name.startswith('Elite_EDC'): if self.library_name.startswith('Elite_EDC') or 'EIS' in self.library_name:
self.set_parameter('CTRL_HIGH_Z_15', self.get_parameter('HIGHZ_TABLE')[value]) self.set_parameter('CTRL_HIGH_Z_15', self.get_parameter('HIGHZ_TABLE')[value])
self.set_parameter('TIME_DURATION', 0) self.set_parameter('TIME_DURATION', 0)
+8 -1
View File
@@ -137,6 +137,10 @@ class Project(threading.Thread):
def running_task(self): def running_task(self):
return self._task_manager.running_task return self._task_manager.running_task
def get_device_parameter_set(self, device_address):
parameter_set = self._task_manager.running_task.parameter_set
return next((x for x in parameter_set if parameter_set[x]['target'] == device_address), None)
def run(self): def run(self):
self._status = 1 self._status = 1
self._start_time = time() self._start_time = time()
@@ -162,6 +166,7 @@ class Project(threading.Thread):
for condition in match_condition_list: for condition in match_condition_list:
match_action_list = task.get_match_action(condition.id) match_action_list = task.get_match_action(condition.id)
print('match_action_list', match_action_list, match_action_list)
for action in match_action_list: for action in match_action_list:
if action.type == 'cycle' and condition.type == 'previous_task_done': if action.type == 'cycle' and condition.type == 'previous_task_done':
self.mqtt_thread.broadcast_command('project:task ' + task.name + ' start at ' + datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]) self.mqtt_thread.broadcast_command('project:task ' + task.name + ' start at ' + datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3])
@@ -185,6 +190,8 @@ class Project(threading.Thread):
elif action.type == 'idle': elif action.type == 'idle':
self._task_manager.running_task.stop() self._task_manager.running_task.stop()
# elif action.type == 'stop':
# self._task_manager.running_task.stop()
instruction_set = None instruction_set = None
@@ -224,7 +231,7 @@ class Project(threading.Thread):
task_info['file_name'] += '#' + str(cycle_info['name']) + '-' + str(cycle_info['count']) task_info['file_name'] += '#' + str(cycle_info['name']) + '-' + str(cycle_info['count'])
self.log_verbose('file name ' + task_info['file_name']) self.log_verbose('file name ' + task_info['file_name'])
if instruction_set != None and len(task.parameter_set) > 0: if instruction_set != None and self.get_device_parameter_set(action.target) != None:
if action.type == 'start': if action.type == 'start':
self._count += 1 self._count += 1
for instruction in instruction_set: for instruction in instruction_set:
+1 -3
View File
@@ -158,9 +158,7 @@ class RecordingProcess(Process):
elif isinstance(decoder, EISZeroOneDataDecoder): elif isinstance(decoder, EISZeroOneDataDecoder):
# get amp_gain from meta file # get amp_gain from meta file
decoder._mode = self._meta_file.configuration.get_parameter('MODE') decoder._mode = self._meta_file.configuration.get_parameter('MODE')
decoder._ac_amp = self._meta_file.configuration.get_parameter('AC_AMP') decoder._ac_amp = self._meta_file.configuration.get_parameter('EIS_AC_AMP')
decoder._freq_start = self._meta_file.configuration.get_parameter('FREQ_START')
decoder._freq_stop = self._meta_file.configuration.get_parameter('FREQ_STOP')
return decoder return decoder
@@ -33,6 +33,7 @@
0, 0,
1, 1,
1, 1,
1,
1 1
], ],
"domain": { "domain": {
@@ -617,7 +618,8 @@
"Open Circuit Potential", "Open Circuit Potential",
"Pulse Sensing", "Pulse Sensing",
"Differential Pulse Voltammetry (DPV)", "Differential Pulse Voltammetry (DPV)",
"Chronopotentiometry" "Chronopotentiometry",
"Idle"
] ]
}, },
"VOLT_ORIGIN": { "VOLT_ORIGIN": {
@@ -949,6 +951,7 @@
"10": "cali_dac_test", "10": "cali_dac_test",
"11": "cali_adc_test", "11": "cali_adc_test",
"12": "", "12": "",
"17": "start_data_with_empty_ins",
"*": "start_data" "*": "start_data"
} }
} }
@@ -976,6 +979,11 @@
"VIS_STI", "VIS_STI",
"_cdr('1X;4X>ADC_VALUE_I')" "_cdr('1X;4X>ADC_VALUE_I')"
], ],
"start_data_with_empty_ins": [
"data_format",
"_sync(True)",
"VIS_STI"
],
"start_data": [ "start_data": [
"data_format", "data_format",
"_notify(True)", "_notify(True)",
+339 -177
View File
@@ -9,7 +9,7 @@
"minor_version_number": 0 "minor_version_number": 0
}, },
"constant": { "constant": {
"FREQ_MAX": 4294967296, "FREQ_MAX": 13333334,
"VOLT_MAX": 65536, "VOLT_MAX": 65536,
"BLE_WRITE_MAX": 255, "BLE_WRITE_MAX": 255,
"TIME_MAX": 100000 "TIME_MAX": 100000
@@ -26,17 +26,43 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"CHANNEL": { "HIGHZ_TABLE": {
"derzteription": "record channels", "initial": [
"record_meta": true, 1,
"domain": "property", 1,
"value": "[0, 1, 2]" 1,
0,
1,
1,
1
],
"domain": {
"list": [
100
]
},
"value": "VALUE"
}, },
"CHANNEL_LABEL": { "CTRL_HIGH_Z_15": {
"description": "channel label", "description": "ctrl highZ level",
"record_meta": true, "record_meta": true,
"domain": "property", "initial": 1,
"value": "['current', 'voltage', 'impedance']" "value": [
"On",
"Off"
],
"on_change": "set_ctrl_highZ"
},
"CYCLE_NUMBER": {
"description": "CV cycle number",
"record_meta": true,
"initial": 1,
"domain": [
65536
],
"value": {
"expression": "VALUE"
}
}, },
"SAMPLE_RATE": { "SAMPLE_RATE": {
"description": "data sampling rate", "description": "data sampling rate",
@@ -50,6 +76,12 @@
}, },
"on_change": "set_sample_rate" "on_change": "set_sample_rate"
}, },
"CHANNEL": {
"derzteription": "record channels",
"record_meta": true,
"domain": "property",
"value": "[0, 1, 2]"
},
"AMP_GAIN": { "AMP_GAIN": {
"description": "amp gain", "description": "amp gain",
"record_meta": true, "record_meta": true,
@@ -63,11 +95,59 @@
"EIS CURVE", "EIS CURVE",
"Cyclic Voltammetry", "Cyclic Voltammetry",
"Chronoamperometric", "Chronoamperometric",
"V-T Graph",
"R-T Graph",
"EIS constant frequency",
"Dev Mode" "Dev Mode"
] ]
}, },
"FREQ": { "GENERAL_HS_RTIA": {
"description": "DPV current recording period start", "description": "High speed rtia gain",
"record_meta": true,
"initial": 4,
"value": [
0,
1,
2,
3,
4
],
"on_change": "set_general_hs_rtia"
},
"GENERAL_LP_RTIA": {
"description": "Low power rtia gain",
"record_meta": true,
"initial": 4,
"value": [
"0",
"1",
"2",
"3",
"auto"
],
"on_change": "set_general_lp_rtia"
},
"EIS_DC_BIAS": {
"description": "DC voltage bias",
"record_meta": true,
"initial": 25000,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "VALUE"
}
},
"EIS_AC_AMP": {
"description": "AC Amplitude",
"record_meta": true,
"initial": 25,
"domain": [
2048
]
},
"EIS_FREQ": {
"description": "[start, stop] of frequency scan",
"record_meta": true, "record_meta": true,
"initial": [ "initial": [
13333333, 13333333,
@@ -80,29 +160,24 @@
}, },
"value": "VALUE" "value": "VALUE"
}, },
"FREQ_START": { "EIS_PPD": {
"description": "Start of Freq Scan", "description": "Point per decades",
"record_meta": true, "record_meta": true,
"initial": 13422819, "initial": 10,
"domain": [ "domain": [
"FREQ_MAX" 11
], ]
"value": {
"expression": "VALUE"
}
}, },
"FREQ_STOP": { "EIS_SCALE": {
"description": "End of Freq Scan", "description": "Point spacing pattern",
"record_meta": true, "record_meta": true,
"initial": 7, "initial": 0,
"domain": [ "value": [
"FREQ_MAX" 0,
], 1
"value": { ]
"expression": "VALUE"
}
}, },
"DELAY": { "EIS_DELAY": {
"description": "Wait x peroid before start taking measurements", "description": "Wait x peroid before start taking measurements",
"record_meta": true, "record_meta": true,
"initial": 0, "initial": 0,
@@ -113,19 +188,19 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"AVERAGE_NUM": { "EIS_AVERAGE_NUM": {
"description": "Number of sample used for average funciton", "description": "Number of sample used for average funciton",
"record_meta": true, "record_meta": true,
"initial": 8, "initial": 8,
"value": [ "value": [
2, 2,
4, 4,
8, 6,
16 8
] ]
}, },
"DC_BIAS": { "CF_DC_BIAS": {
"description": "DC voltage bias in mV", "description": "DC voltage bias",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
"domain": [ "domain": [
@@ -135,15 +210,34 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"AC_AMP": { "CF_AC_AMP": {
"description": "AC Amplitude in mV", "description": "AC Amplitude",
"record_meta": true, "record_meta": true,
"initial": 25, "initial": 25,
"domain": [ "domain": [
2048 2048
] ]
}, },
"SCALE": { "CF_FREQ": {
"description": "frequency of cf",
"record_meta": true,
"initial": 13333333,
"domain": [
"FREQ_MAX"
],
"value": {
"expression": "VALUE"
}
},
"CF_PPD": {
"description": "Point per decades",
"record_meta": true,
"initial": 10,
"domain": [
11
]
},
"CF_SCALE": {
"description": "Point spacing pattern", "description": "Point spacing pattern",
"record_meta": true, "record_meta": true,
"initial": 0, "initial": 0,
@@ -152,77 +246,29 @@
1 1
] ]
}, },
"PPD": { "CF_DELAY": {
"description": "Point per decades", "description": "Wait x peroid before start taking measurements",
"record_meta": true, "record_meta": true,
"initial": 10, "initial": 0,
"domain": [ "domain": [
11 101
]
},
"RTIA": {
"description": "High speed tia gain",
"record_meta": true,
"initial": 4,
"value": [
0,
1,
2,
3,
4
]
},
"ADC_VALUE_I": {
"description": "ADC value current value",
"domain": "int"
},
"Scan_Rate": {
"description": "Voltage Scan Rate",
"record_meta": true,
"initial": 10000,
"domain": [
100001
], ],
"value": { "value": {
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"CTRL_HIGH_Z_15": { "CF_AVERAGE_NUM": {
"description": "ctrl highZ level", "description": "Number of sample used for average funciton",
"record_meta": true, "record_meta": true,
"initial": 1, "initial": 8,
"value": [ "value": [
"On", 2,
"Off" 4,
], 6,
"on_change": "set_ctrl_highZ" 8
]
}, },
"ADC_LEVEL_I_15": { "CV_E_INITIAL": {
"description": "ADC level",
"record_meta": true,
"initial": 4,
"value": [
"0",
"1",
"2",
"3",
"auto"
],
"on_change": "set_adc_gain_I"
},
"ADC_LEVEL_V_IN_15": {
"description": "ADC level",
"record_meta": true,
"initial": 3,
"value": [
"0",
"1",
"2",
"auto"
],
"on_change": "set_adc_gain_Vin"
},
"VOLT_INITIAL": {
"description": "Initial Voltage of Scan", "description": "Initial Voltage of Scan",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
@@ -233,8 +279,8 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"VOLT_MAX": { "CV_E1": {
"description": "Max Voltage of Scan", "description": "First voltage of Scan",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
"domain": [ "domain": [
@@ -244,8 +290,8 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"VOLT_MIN": { "CV_E2": {
"description": "Min Voltage of Scan", "description": "Second voltage of Scan",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
"domain": [ "domain": [
@@ -255,27 +301,54 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"CYCLE_NUMBER": { "CV_SCAN_RATE": {
"description": "CV cycle number", "description": "Voltage scan rate",
"record_meta": true, "record_meta": true,
"initial": 1, "initial": 10000,
"domain": [
100001
],
"value": {
"expression": "VALUE"
}
},
"CA_VOLT": {
"description": "Voltage of ca",
"record_meta": true,
"initial": 25000,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "VALUE"
}
},
"VT_MEASURE_VIN_RANGE": {
"description": "measure range of Vin",
"record_meta": true,
"initial": 0,
"value": [
"0",
"1",
"2",
"auto"
]
},
"RT_VOLT_SET": {
"description": "DAC output Voltage",
"record_meta": true,
"initial": 37500,
"domain": [ "domain": [
65536 65536
], ],
"value": { "value": {
"expression": "VALUE" "expression": "VALUE"
} },
"on_change": "set_para_RT_VOLT_SET"
}, },
"VOLT_VSCAN": { "ADC_VALUE_I": {
"description": "Voltage of VScan", "description": "ADC value current value",
"record_meta": true, "domain": "int"
"initial": 25000,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "VALUE"
}
}, },
"BLE_WRITE": { "BLE_WRITE": {
"description": "send msg to elite", "description": "send msg to elite",
@@ -307,15 +380,12 @@
{ {
"expression": "MODE", "expression": "MODE",
"when": { "when": {
"1": "set_adc_gain_I", "0": "set_general_hs_rtia",
"2": "set_adc_gain_I" "1": "set_general_lp_rtia",
} "2": "set_general_lp_rtia",
}, "3": "set_general_lp_rtia",
{ "4": "set_general_lp_rtia",
"expression": "MODE", "5": "set_general_hs_rtia"
"when": {
"1": "set_adc_gain_Vin",
"2": "set_adc_gain_Vin"
} }
}, },
{ {
@@ -323,14 +393,25 @@
"when": { "when": {
"0": "curve_eis", "0": "curve_eis",
"1": "curve_cv3", "1": "curve_cv3",
"2": "curve_const_vscan" "2": "curve_ca",
"3": "curve_vt",
"4": "curve_rt",
"5": "curve_cf"
} }
}, },
{ {
"expression": "MODE", "expression": "MODE",
"when": { "when": {
"0": "curve_eis_para2", "0": "curve_eis_para2",
"1": "curve_cv3_para2" "1": "curve_cv3_para2",
"5": "curve_cf_para2"
}
},
{
"expression": "MODE",
"when": {
"0": "curve_eis_mode",
"5": "curve_cf_mode"
} }
}, },
"_sync(True)", "_sync(True)",
@@ -350,6 +431,18 @@
"data_format_cali": [ "data_format_cali": [
"_data_format_cali('EISZeroOne')" "_data_format_cali('EISZeroOne')"
], ],
"set_general_hs_rtia": {
"type": "RIS",
"data": [
"1XFF;1X70;1B>GENERAL_HS_RTIA"
]
},
"set_general_lp_rtia": {
"type": "RIS",
"data": [
"1XFF;1X71;1B>GENERAL_LP_RTIA"
]
},
"set_sample_rate": { "set_sample_rate": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
@@ -359,103 +452,172 @@
"XE0;2B>va" "XE0;2B>va"
] ]
}, },
"set_adc_gain_I": {
"type": "RIS",
"data": [
"XE1;X05;B>ADC_LEVEL_I_15"
]
},
"set_adc_gain_Vin": {
"type": "RIS",
"data": [
"XE1;X06;B>ADC_LEVEL_V_IN_15"
]
},
"set_ctrl_highZ": { "set_ctrl_highZ": {
"type": "RIS", "type": "RIS",
"data": [ "data": [
"XE1;X03;B>CTRL_HIGH_Z_15" "1XFF;1X72;1B>CTRL_HIGH_Z_15"
] ]
}, },
"curve_eis": { "curve_eis": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"fa": "FREQ[0]", "fa": "EIS_FREQ[0]",
"fb": "FREQ[1]", "fb": "EIS_FREQ[1]",
"dp": "DELAY", "dp": "EIS_DELAY",
"dc": "DC_BIAS", "dc": "EIS_DC_BIAS",
"am": "AC_AMP", "am": "EIS_AC_AMP",
"an": "AVERAGE_NUM", "an": "EIS_AVERAGE_NUM",
"rt": "RTIA", "rt": "GENERAL_HS_RTIA",
"pp": "PPD", "pp": "EIS_PPD",
"sp": "SCALE" "sp": "EIS_SCALE"
}, },
"data": [ "data": [
"1XD1;1X01;4B>fa;4B>fb;2B>dp" "1X12;1X01;4B>fa;4B>fb;2B>dp"
] ]
}, },
"curve_eis_para2": { "curve_eis_para2": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"fa": "FREQ[0]", "fa": "EIS_FREQ[0]",
"fb": "FREQ[1]", "fb": "EIS_FREQ[1]",
"dp": "DELAY", "dp": "EIS_DELAY",
"dc": "DC_BIAS", "dc": "EIS_DC_BIAS",
"am": "AC_AMP", "am": "EIS_AC_AMP",
"an": "AVERAGE_NUM", "an": "EIS_AVERAGE_NUM",
"rt": "RTIA", "rt": "GENERAL_HS_RTIA",
"pp": "PPD", "pp": "EIS_PPD",
"sp": "SCALE" "sp": "EIS_SCALE"
}, },
"data": [ "data": [
"1XD1;1X02;2B>dc;2B>am;B>an;B>rt;2B>pp;B>sp" "1X12;1X02;2B>dc;2B>am;B>an;B>rt;2B>pp;B>sp"
]
},
"curve_eis_mode": {
"type": "RIS",
"data": [
"1X12;1XFF"
]
},
"curve_cf": {
"type": "RIS",
"parameter": {
"fa": "CF_FREQ",
"dp": "CF_DELAY",
"dc": "CF_DC_BIAS",
"am": "CF_AC_AMP",
"an": "CF_AVERAGE_NUM",
"rt": "GENERAL_HS_RTIA",
"pp": "CF_PPD",
"sp": "CF_SCALE"
},
"data": [
"1X13;1X01;4B>fa;4B>0;2B>dp"
]
},
"curve_cf_para2": {
"type": "RIS",
"parameter": {
"fa": "CF_FREQ",
"dp": "CF_DELAY",
"dc": "CF_DC_BIAS",
"am": "CF_AC_AMP",
"an": "CF_AVERAGE_NUM",
"rt": "GENERAL_HS_RTIA",
"pp": "CF_PPD",
"sp": "CF_SCALE"
},
"data": [
"1X13;1X02;2B>dc;2B>am;B>an;B>rt;2B>pp;B>sp"
]
},
"curve_cf_mode": {
"type": "RIS",
"data": [
"1X13;1XFF"
] ]
}, },
"curve_cv3": { "curve_cv3": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"va": "VOLT_INITIAL", "va": "CV_E_INITIAL",
"vb": "VOLT_MAX", "vb": "CV_E1",
"vc": "VOLT_MIN", "vc": "CV_E2",
"ve": "Scan_Rate", "ve": "CV_SCAN_RATE",
"vf": "SAMPLE_RATE", "vf": "SAMPLE_RATE",
"cn": "CYCLE_NUMBER" "cn": "CYCLE_NUMBER"
}, },
"data": [ "data": [
"1XD2;1X01;2B>va;2B>vb;2B>vc;" "1X09;1X01;2B>va;2B>vb;2B>vc;"
] ]
}, },
"curve_cv3_para2": { "curve_cv3_para2": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"va": "VOLT_INITIAL", "va": "CV_E_INITIAL",
"vb": "VOLT_MAX", "vb": "CV_E1",
"vc": "VOLT_MIN", "vc": "CV_E2",
"ve": "Scan_Rate", "ve": "CV_SCAN_RATE",
"vf": "SAMPLE_RATE", "vf": "SAMPLE_RATE",
"cn": "CYCLE_NUMBER" "cn": "CYCLE_NUMBER"
}, },
"data": [ "data": [
"1XD2;1X02;4B>ve;2B>vf;2B>cn" "1X09;1X02;4B>ve;2B>vf;2B>cn"
] ]
}, },
"curve_const_vscan": { "curve_ca": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"va": "VOLT_VSCAN", "va": "CA_VOLT",
"pa": "ADC_LEVEL_I_15", "pa": "GENERAL_LP_RTIA",
"pb": "ADC_LEVEL_V_IN_15",
"pd": "CTRL_HIGH_Z_15", "pd": "CTRL_HIGH_Z_15",
"pe": "SAMPLE_RATE" "pe": "SAMPLE_RATE"
}, },
"data": [ "data": [
"1XD3;", "1X0B;",
"2B>va;", "2B>va;",
"4b>pa;4b>pb;", "4b>pa;4b>0;",
"4b>0;4b>pd;", "4b>0;4b>pd;",
"2B>pe" "2B>pe"
] ]
}, },
"curve_rt": {
"type": "RIS",
"parameter": {
"va": "RT_VOLT_SET",
"pa": "GENERAL_LP_RTIA",
"pd": "CTRL_HIGH_Z_15",
"pe": "SAMPLE_RATE"
},
"data": [
"X04;",
"2B>va;",
"4b>pa;4b>0;",
"4b>0;4b>pd;",
"2B>pe"
]
},
"curve_vt": {
"type": "RIS",
"parameter": {
"pa": "GENERAL_LP_RTIA",
"pd": "CTRL_HIGH_Z_15",
"pe": "SAMPLE_RATE",
"va": "VT_MEASURE_VIN_RANGE"
},
"data": [
"X05;",
"4b>pa;4b>0;",
"4b>0;4b>pd;",
"2B>pe;",
"1B>va"
]
},
"set_para_RT_VOLT_SET": {
"type": "RIS",
"data": [
"XE2;X01;2B>RT_VOLT_SET"
]
},
"ble_instru_send": [ "ble_instru_send": [
"ble_write", "ble_write",
"_cdr('20X>ADC_VALUE_I')" "_cdr('20X>ADC_VALUE_I')"
+284 -186
View File
@@ -9,7 +9,7 @@
"minor_version_number": 1 "minor_version_number": 1
}, },
"constant": { "constant": {
"FREQ_MAX": 4294967296, "FREQ_MAX": 13333334,
"VOLT_MAX": 65536, "VOLT_MAX": 65536,
"BLE_WRITE_MAX": 255, "BLE_WRITE_MAX": 255,
"TIME_MAX": 100000 "TIME_MAX": 100000
@@ -26,17 +26,43 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"CHANNEL": { "HIGHZ_TABLE": {
"derzteription": "record channels", "initial": [
"record_meta": true, 1,
"domain": "property", 1,
"value": "[0, 1, 2]" 1,
0,
1,
1,
1
],
"domain": {
"list": [
100
]
},
"value": "VALUE"
}, },
"CHANNEL_LABEL": { "CTRL_HIGH_Z_15": {
"description": "channel label", "description": "ctrl highZ level",
"record_meta": true, "record_meta": true,
"domain": "property", "initial": 1,
"value": "['current', 'voltage', 'impedance']" "value": [
"On",
"Off"
],
"on_change": "set_ctrl_highZ"
},
"CYCLE_NUMBER": {
"description": "CV cycle number",
"record_meta": true,
"initial": 1,
"domain": [
65536
],
"value": {
"expression": "VALUE"
}
}, },
"SAMPLE_RATE": { "SAMPLE_RATE": {
"description": "data sampling rate", "description": "data sampling rate",
@@ -50,6 +76,12 @@
}, },
"on_change": "set_sample_rate" "on_change": "set_sample_rate"
}, },
"CHANNEL": {
"derzteription": "record channels",
"record_meta": true,
"domain": "property",
"value": "[0, 1, 2]"
},
"AMP_GAIN": { "AMP_GAIN": {
"description": "amp gain", "description": "amp gain",
"record_meta": true, "record_meta": true,
@@ -65,11 +97,57 @@
"Chronoamperometric", "Chronoamperometric",
"V-T Graph", "V-T Graph",
"R-T Graph", "R-T Graph",
"EIS constant frequency",
"Dev Mode" "Dev Mode"
] ]
}, },
"FREQ": { "GENERAL_HS_RTIA": {
"description": "DPV current recording period start", "description": "High speed rtia gain",
"record_meta": true,
"initial": 4,
"value": [
0,
1,
2,
3,
4
],
"on_change": "set_general_hs_rtia"
},
"GENERAL_LP_RTIA": {
"description": "Low power rtia gain",
"record_meta": true,
"initial": 4,
"value": [
"0",
"1",
"2",
"3",
"auto"
],
"on_change": "set_general_lp_rtia"
},
"EIS_DC_BIAS": {
"description": "DC voltage bias",
"record_meta": true,
"initial": 25000,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "VALUE"
}
},
"EIS_AC_AMP": {
"description": "AC Amplitude",
"record_meta": true,
"initial": 25,
"domain": [
2048
]
},
"EIS_FREQ": {
"description": "[start, stop] of frequency scan",
"record_meta": true, "record_meta": true,
"initial": [ "initial": [
13333333, 13333333,
@@ -82,29 +160,24 @@
}, },
"value": "VALUE" "value": "VALUE"
}, },
"FREQ_START": { "EIS_PPD": {
"description": "Start of Freq Scan", "description": "Point per decades",
"record_meta": true, "record_meta": true,
"initial": 13422819, "initial": 10,
"domain": [ "domain": [
"FREQ_MAX" 11
], ]
"value": {
"expression": "VALUE"
}
}, },
"FREQ_STOP": { "EIS_SCALE": {
"description": "End of Freq Scan", "description": "Point spacing pattern",
"record_meta": true, "record_meta": true,
"initial": 7, "initial": 0,
"domain": [ "value": [
"FREQ_MAX" 0,
], 1
"value": { ]
"expression": "VALUE"
}
}, },
"DELAY": { "EIS_DELAY": {
"description": "Wait x peroid before start taking measurements", "description": "Wait x peroid before start taking measurements",
"record_meta": true, "record_meta": true,
"initial": 0, "initial": 0,
@@ -115,19 +188,19 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"AVERAGE_NUM": { "EIS_AVERAGE_NUM": {
"description": "Number of sample used for average funciton", "description": "Number of sample used for average funciton",
"record_meta": true, "record_meta": true,
"initial": 8, "initial": 8,
"value": [ "value": [
2, 2,
4, 4,
8, 6,
16 8
] ]
}, },
"DC_BIAS": { "CF_DC_BIAS": {
"description": "DC voltage bias in mV", "description": "DC voltage bias",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
"domain": [ "domain": [
@@ -137,15 +210,34 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"AC_AMP": { "CF_AC_AMP": {
"description": "AC Amplitude in mV", "description": "AC Amplitude",
"record_meta": true, "record_meta": true,
"initial": 25, "initial": 25,
"domain": [ "domain": [
2048 2048
] ]
}, },
"SCALE": { "CF_FREQ": {
"description": "frequency of cf",
"record_meta": true,
"initial": 13333333,
"domain": [
"FREQ_MAX"
],
"value": {
"expression": "VALUE"
}
},
"CF_PPD": {
"description": "Point per decades",
"record_meta": true,
"initial": 10,
"domain": [
11
]
},
"CF_SCALE": {
"description": "Point spacing pattern", "description": "Point spacing pattern",
"record_meta": true, "record_meta": true,
"initial": 0, "initial": 0,
@@ -154,77 +246,29 @@
1 1
] ]
}, },
"PPD": { "CF_DELAY": {
"description": "Point per decades", "description": "Wait x peroid before start taking measurements",
"record_meta": true, "record_meta": true,
"initial": 10, "initial": 0,
"domain": [ "domain": [
11 101
]
},
"RTIA": {
"description": "High speed tia gain",
"record_meta": true,
"initial": 4,
"value": [
0,
1,
2,
3,
4
]
},
"ADC_VALUE_I": {
"description": "ADC value current value",
"domain": "int"
},
"Scan_Rate": {
"description": "Voltage Scan Rate",
"record_meta": true,
"initial": 10000,
"domain": [
100001
], ],
"value": { "value": {
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"CTRL_HIGH_Z_15": { "CF_AVERAGE_NUM": {
"description": "ctrl highZ level", "description": "Number of sample used for average funciton",
"record_meta": true, "record_meta": true,
"initial": 1, "initial": 8,
"value": [ "value": [
"On", 2,
"Off" 4,
], 6,
"on_change": "set_ctrl_highZ" 8
]
}, },
"ADC_LEVEL_I_15": { "CV_E_INITIAL": {
"description": "ADC level",
"record_meta": true,
"initial": 4,
"value": [
"0",
"1",
"2",
"3",
"auto"
],
"on_change": "set_adc_gain_I"
},
"ADC_LEVEL_V_IN_15": {
"description": "ADC level",
"record_meta": true,
"initial": 3,
"value": [
"0",
"1",
"2",
"auto"
],
"on_change": "set_adc_gain_Vin"
},
"VOLT_INITIAL": {
"description": "Initial Voltage of Scan", "description": "Initial Voltage of Scan",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
@@ -235,8 +279,8 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"VOLT_MAX": { "CV_E1": {
"description": "Max Voltage of Scan", "description": "First voltage of Scan",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
"domain": [ "domain": [
@@ -246,8 +290,8 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"VOLT_MIN": { "CV_E2": {
"description": "Min Voltage of Scan", "description": "Second voltage of Scan",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
"domain": [ "domain": [
@@ -257,19 +301,19 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"CYCLE_NUMBER": { "CV_SCAN_RATE": {
"description": "CV cycle number", "description": "Voltage scan rate",
"record_meta": true, "record_meta": true,
"initial": 1, "initial": 10000,
"domain": [ "domain": [
65536 100001
], ],
"value": { "value": {
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"VOLT_VSCAN": { "CA_VOLT": {
"description": "Voltage of VScan", "description": "Voltage of ca",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
"domain": [ "domain": [
@@ -279,7 +323,7 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"MEASURE_VIN_RANGE": { "VT_MEASURE_VIN_RANGE": {
"description": "measure range of Vin", "description": "measure range of Vin",
"record_meta": true, "record_meta": true,
"initial": 0, "initial": 0,
@@ -290,7 +334,7 @@
"auto" "auto"
] ]
}, },
"DAC_VOLT": { "RT_VOLT_SET": {
"description": "DAC output Voltage", "description": "DAC output Voltage",
"record_meta": true, "record_meta": true,
"initial": 37500, "initial": 37500,
@@ -299,7 +343,12 @@
], ],
"value": { "value": {
"expression": "VALUE" "expression": "VALUE"
} },
"on_change": "set_para_RT_VOLT_SET"
},
"ADC_VALUE_I": {
"description": "ADC value current value",
"domain": "int"
}, },
"BLE_WRITE": { "BLE_WRITE": {
"description": "send msg to elite", "description": "send msg to elite",
@@ -331,19 +380,12 @@
{ {
"expression": "MODE", "expression": "MODE",
"when": { "when": {
"1": "set_adc_gain_I", "0": "set_general_hs_rtia",
"2": "set_adc_gain_I", "1": "set_general_lp_rtia",
"3": "set_adc_gain_I", "2": "set_general_lp_rtia",
"4": "set_adc_gain_I" "3": "set_general_lp_rtia",
} "4": "set_general_lp_rtia",
}, "5": "set_general_hs_rtia"
{
"expression": "MODE",
"when": {
"1": "set_adc_gain_Vin",
"2": "set_adc_gain_Vin",
"3": "set_adc_gain_Vin",
"4": "set_adc_gain_Vin"
} }
}, },
{ {
@@ -351,16 +393,25 @@
"when": { "when": {
"0": "curve_eis", "0": "curve_eis",
"1": "curve_cv3", "1": "curve_cv3",
"2": "curve_const_vscan", "2": "curve_ca",
"3": "curve_vt", "3": "curve_vt",
"4": "curve_zt" "4": "curve_rt",
"5": "curve_cf"
} }
}, },
{ {
"expression": "MODE", "expression": "MODE",
"when": { "when": {
"0": "curve_eis_para2", "0": "curve_eis_para2",
"1": "curve_cv3_para2" "1": "curve_cv3_para2",
"5": "curve_cf_para2"
}
},
{
"expression": "MODE",
"when": {
"0": "curve_eis_mode",
"5": "curve_cf_mode"
} }
}, },
"_sync(True)", "_sync(True)",
@@ -380,6 +431,18 @@
"data_format_cali": [ "data_format_cali": [
"_data_format_cali('EISZeroOne')" "_data_format_cali('EISZeroOne')"
], ],
"set_general_hs_rtia": {
"type": "RIS",
"data": [
"1XFF;1X70;1B>GENERAL_HS_RTIA"
]
},
"set_general_lp_rtia": {
"type": "RIS",
"data": [
"1XFF;1X71;1B>GENERAL_LP_RTIA"
]
},
"set_sample_rate": { "set_sample_rate": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
@@ -389,116 +452,146 @@
"XE0;2B>va" "XE0;2B>va"
] ]
}, },
"set_adc_gain_I": {
"type": "RIS",
"data": [
"XE1;X05;B>ADC_LEVEL_I_15"
]
},
"set_adc_gain_Vin": {
"type": "RIS",
"data": [
"XE1;X06;B>ADC_LEVEL_V_IN_15"
]
},
"set_ctrl_highZ": { "set_ctrl_highZ": {
"type": "RIS", "type": "RIS",
"data": [ "data": [
"XE1;X03;B>CTRL_HIGH_Z_15" "1XFF;1X72;1B>CTRL_HIGH_Z_15"
] ]
}, },
"curve_eis": { "curve_eis": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"fa": "FREQ[0]", "fa": "EIS_FREQ[0]",
"fb": "FREQ[1]", "fb": "EIS_FREQ[1]",
"dp": "DELAY", "dp": "EIS_DELAY",
"dc": "DC_BIAS", "dc": "EIS_DC_BIAS",
"am": "AC_AMP", "am": "EIS_AC_AMP",
"an": "AVERAGE_NUM", "an": "EIS_AVERAGE_NUM",
"rt": "RTIA", "rt": "GENERAL_HS_RTIA",
"pp": "PPD", "pp": "EIS_PPD",
"sp": "SCALE" "sp": "EIS_SCALE"
}, },
"data": [ "data": [
"1XD1;1X01;4B>fa;4B>fb;2B>dp" "1X12;1X01;4B>fa;4B>fb;2B>dp"
] ]
}, },
"curve_eis_para2": { "curve_eis_para2": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"fa": "FREQ[0]", "fa": "EIS_FREQ[0]",
"fb": "FREQ[1]", "fb": "EIS_FREQ[1]",
"dp": "DELAY", "dp": "EIS_DELAY",
"dc": "DC_BIAS", "dc": "EIS_DC_BIAS",
"am": "AC_AMP", "am": "EIS_AC_AMP",
"an": "AVERAGE_NUM", "an": "EIS_AVERAGE_NUM",
"rt": "RTIA", "rt": "GENERAL_HS_RTIA",
"pp": "PPD", "pp": "EIS_PPD",
"sp": "SCALE" "sp": "EIS_SCALE"
}, },
"data": [ "data": [
"1XD1;1X02;2B>dc;2B>am;B>an;B>rt;2B>pp;B>sp" "1X12;1X02;2B>dc;2B>am;B>an;B>rt;2B>pp;B>sp"
]
},
"curve_eis_mode": {
"type": "RIS",
"data": [
"1X12;1XFF"
]
},
"curve_cf": {
"type": "RIS",
"parameter": {
"fa": "CF_FREQ",
"dp": "CF_DELAY",
"dc": "CF_DC_BIAS",
"am": "CF_AC_AMP",
"an": "CF_AVERAGE_NUM",
"rt": "GENERAL_HS_RTIA",
"pp": "CF_PPD",
"sp": "CF_SCALE"
},
"data": [
"1X13;1X01;4B>fa;4B>0;2B>dp"
]
},
"curve_cf_para2": {
"type": "RIS",
"parameter": {
"fa": "CF_FREQ",
"dp": "CF_DELAY",
"dc": "CF_DC_BIAS",
"am": "CF_AC_AMP",
"an": "CF_AVERAGE_NUM",
"rt": "GENERAL_HS_RTIA",
"pp": "CF_PPD",
"sp": "CF_SCALE"
},
"data": [
"1X13;1X02;2B>dc;2B>am;B>an;B>rt;2B>pp;B>sp"
]
},
"curve_cf_mode": {
"type": "RIS",
"data": [
"1X13;1XFF"
] ]
}, },
"curve_cv3": { "curve_cv3": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"va": "VOLT_INITIAL", "va": "CV_E_INITIAL",
"vb": "VOLT_MAX", "vb": "CV_E1",
"vc": "VOLT_MIN", "vc": "CV_E2",
"ve": "Scan_Rate", "ve": "CV_SCAN_RATE",
"vf": "SAMPLE_RATE", "vf": "SAMPLE_RATE",
"cn": "CYCLE_NUMBER" "cn": "CYCLE_NUMBER"
}, },
"data": [ "data": [
"1XD2;1X01;2B>va;2B>vb;2B>vc;" "1X09;1X01;2B>va;2B>vb;2B>vc;"
] ]
}, },
"curve_cv3_para2": { "curve_cv3_para2": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"va": "VOLT_INITIAL", "va": "CV_E_INITIAL",
"vb": "VOLT_MAX", "vb": "CV_E1",
"vc": "VOLT_MIN", "vc": "CV_E2",
"ve": "Scan_Rate", "ve": "CV_SCAN_RATE",
"vf": "SAMPLE_RATE", "vf": "SAMPLE_RATE",
"cn": "CYCLE_NUMBER" "cn": "CYCLE_NUMBER"
}, },
"data": [ "data": [
"1XD2;1X02;4B>ve;2B>vf;2B>cn" "1X09;1X02;4B>ve;2B>vf;2B>cn"
] ]
}, },
"curve_const_vscan": { "curve_ca": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"va": "VOLT_VSCAN", "va": "CA_VOLT",
"pa": "ADC_LEVEL_I_15", "pa": "GENERAL_LP_RTIA",
"pb": "ADC_LEVEL_V_IN_15",
"pd": "CTRL_HIGH_Z_15", "pd": "CTRL_HIGH_Z_15",
"pe": "SAMPLE_RATE" "pe": "SAMPLE_RATE"
}, },
"data": [ "data": [
"1XD3;", "1X0B;",
"2B>va;", "2B>va;",
"4b>pa;4b>pb;", "4b>pa;4b>0;",
"4b>0;4b>pd;", "4b>0;4b>pd;",
"2B>pe" "2B>pe"
] ]
}, },
"curve_zt": { "curve_rt": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"va": "DAC_VOLT", "va": "RT_VOLT_SET",
"pa": "ADC_LEVEL_I_15", "pa": "GENERAL_LP_RTIA",
"pb": "ADC_LEVEL_V_IN_15",
"pd": "CTRL_HIGH_Z_15", "pd": "CTRL_HIGH_Z_15",
"pe": "SAMPLE_RATE" "pe": "SAMPLE_RATE"
}, },
"data": [ "data": [
"X04;", "X04;",
"2B>va;", "2B>va;",
"4b>pa;4b>pb;", "4b>pa;4b>0;",
"4b>0;4b>pd;", "4b>0;4b>pd;",
"2B>pe" "2B>pe"
] ]
@@ -506,20 +599,25 @@
"curve_vt": { "curve_vt": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"pa": "ADC_LEVEL_I_15", "pa": "GENERAL_LP_RTIA",
"pb": "ADC_LEVEL_V_IN_15",
"pd": "CTRL_HIGH_Z_15", "pd": "CTRL_HIGH_Z_15",
"pe": "SAMPLE_RATE", "pe": "SAMPLE_RATE",
"va": "MEASURE_VIN_RANGE" "va": "VT_MEASURE_VIN_RANGE"
}, },
"data": [ "data": [
"X05;", "X05;",
"4b>pa;4b>pb;", "4b>pa;4b>0;",
"4b>0;4b>pd;", "4b>0;4b>pd;",
"2B>pe;", "2B>pe;",
"1B>va" "1B>va"
] ]
}, },
"set_para_RT_VOLT_SET": {
"type": "RIS",
"data": [
"XE2;X01;2B>RT_VOLT_SET"
]
},
"ble_instru_send": [ "ble_instru_send": [
"ble_write", "ble_write",
"_cdr('20X>ADC_VALUE_I')" "_cdr('20X>ADC_VALUE_I')"
@@ -9,7 +9,7 @@
"minor_version_number": 2 "minor_version_number": 2
}, },
"constant": { "constant": {
"FREQ_MAX": 4294967296, "FREQ_MAX": 13333334,
"VOLT_MAX": 65536, "VOLT_MAX": 65536,
"BLE_WRITE_MAX": 255, "BLE_WRITE_MAX": 255,
"TIME_MAX": 100000 "TIME_MAX": 100000
@@ -26,17 +26,43 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"CHANNEL": { "HIGHZ_TABLE": {
"derzteription": "record channels", "initial": [
"record_meta": true, 1,
"domain": "property", 1,
"value": "[0, 1, 2]" 1,
0,
1,
1,
1
],
"domain": {
"list": [
100
]
},
"value": "VALUE"
}, },
"CHANNEL_LABEL": { "CTRL_HIGH_Z_15": {
"description": "channel label", "description": "ctrl highZ level",
"record_meta": true, "record_meta": true,
"domain": "property", "initial": 1,
"value": "['current', 'voltage', 'impedance']" "value": [
"On",
"Off"
],
"on_change": "set_ctrl_highZ"
},
"CYCLE_NUMBER": {
"description": "CV cycle number",
"record_meta": true,
"initial": 1,
"domain": [
65536
],
"value": {
"expression": "VALUE"
}
}, },
"SAMPLE_RATE": { "SAMPLE_RATE": {
"description": "data sampling rate", "description": "data sampling rate",
@@ -50,6 +76,12 @@
}, },
"on_change": "set_sample_rate" "on_change": "set_sample_rate"
}, },
"CHANNEL": {
"derzteription": "record channels",
"record_meta": true,
"domain": "property",
"value": "[0, 1, 2]"
},
"AMP_GAIN": { "AMP_GAIN": {
"description": "amp gain", "description": "amp gain",
"record_meta": true, "record_meta": true,
@@ -64,11 +96,58 @@
"Cyclic Voltammetry", "Cyclic Voltammetry",
"Chronoamperometric", "Chronoamperometric",
"V-T Graph", "V-T Graph",
"R-T Graph",
"EIS constant frequency",
"Dev Mode" "Dev Mode"
] ]
}, },
"FREQ": { "GENERAL_HS_RTIA": {
"description": "DPV current recording period start", "description": "High speed rtia gain",
"record_meta": true,
"initial": 4,
"value": [
0,
1,
2,
3,
4
],
"on_change": "set_general_hs_rtia"
},
"GENERAL_LP_RTIA": {
"description": "Low power rtia gain",
"record_meta": true,
"initial": 4,
"value": [
"0",
"1",
"2",
"3",
"auto"
],
"on_change": "set_general_lp_rtia"
},
"EIS_DC_BIAS": {
"description": "DC voltage bias",
"record_meta": true,
"initial": 25000,
"domain": [
"VOLT_MAX"
],
"value": {
"expression": "VALUE"
}
},
"EIS_AC_AMP": {
"description": "AC Amplitude",
"record_meta": true,
"initial": 25,
"domain": [
2048
]
},
"EIS_FREQ": {
"description": "[start, stop] of frequency scan",
"record_meta": true, "record_meta": true,
"initial": [ "initial": [
13333333, 13333333,
@@ -81,29 +160,24 @@
}, },
"value": "VALUE" "value": "VALUE"
}, },
"FREQ_START": { "EIS_PPD": {
"description": "Start of Freq Scan", "description": "Point per decades",
"record_meta": true, "record_meta": true,
"initial": 13422819, "initial": 10,
"domain": [ "domain": [
"FREQ_MAX" 11
], ]
"value": {
"expression": "VALUE"
}
}, },
"FREQ_STOP": { "EIS_SCALE": {
"description": "End of Freq Scan", "description": "Point spacing pattern",
"record_meta": true, "record_meta": true,
"initial": 7, "initial": 0,
"domain": [ "value": [
"FREQ_MAX" 0,
], 1
"value": { ]
"expression": "VALUE"
}
}, },
"DELAY": { "EIS_DELAY": {
"description": "Wait x peroid before start taking measurements", "description": "Wait x peroid before start taking measurements",
"record_meta": true, "record_meta": true,
"initial": 0, "initial": 0,
@@ -114,19 +188,19 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"AVERAGE_NUM": { "EIS_AVERAGE_NUM": {
"description": "Number of sample used for average funciton", "description": "Number of sample used for average funciton",
"record_meta": true, "record_meta": true,
"initial": 8, "initial": 8,
"value": [ "value": [
2, 2,
4, 4,
8, 6,
16 8
] ]
}, },
"DC_BIAS": { "CF_DC_BIAS": {
"description": "DC voltage bias in mV", "description": "DC voltage bias",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
"domain": [ "domain": [
@@ -136,15 +210,34 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"AC_AMP": { "CF_AC_AMP": {
"description": "AC Amplitude in mV", "description": "AC Amplitude",
"record_meta": true, "record_meta": true,
"initial": 25, "initial": 25,
"domain": [ "domain": [
2048 2048
] ]
}, },
"SCALE": { "CF_FREQ": {
"description": "frequency of cf",
"record_meta": true,
"initial": 13333333,
"domain": [
"FREQ_MAX"
],
"value": {
"expression": "VALUE"
}
},
"CF_PPD": {
"description": "Point per decades",
"record_meta": true,
"initial": 10,
"domain": [
11
]
},
"CF_SCALE": {
"description": "Point spacing pattern", "description": "Point spacing pattern",
"record_meta": true, "record_meta": true,
"initial": 0, "initial": 0,
@@ -153,77 +246,29 @@
1 1
] ]
}, },
"PPD": { "CF_DELAY": {
"description": "Point per decades", "description": "Wait x peroid before start taking measurements",
"record_meta": true, "record_meta": true,
"initial": 10, "initial": 0,
"domain": [ "domain": [
11 101
]
},
"RTIA": {
"description": "High speed tia gain",
"record_meta": true,
"initial": 4,
"value": [
0,
1,
2,
3,
4
]
},
"ADC_VALUE_I": {
"description": "ADC value current value",
"domain": "int"
},
"Scan_Rate": {
"description": "Voltage Scan Rate",
"record_meta": true,
"initial": 10000,
"domain": [
100001
], ],
"value": { "value": {
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"CTRL_HIGH_Z_15": { "CF_AVERAGE_NUM": {
"description": "ctrl highZ level", "description": "Number of sample used for average funciton",
"record_meta": true, "record_meta": true,
"initial": 1, "initial": 8,
"value": [ "value": [
"On", 2,
"Off" 4,
], 6,
"on_change": "set_ctrl_highZ" 8
]
}, },
"ADC_LEVEL_I_15": { "CV_E_INITIAL": {
"description": "ADC level",
"record_meta": true,
"initial": 4,
"value": [
"0",
"1",
"2",
"3",
"auto"
],
"on_change": "set_adc_gain_I"
},
"ADC_LEVEL_V_IN_15": {
"description": "ADC level",
"record_meta": true,
"initial": 3,
"value": [
"0",
"1",
"2",
"auto"
],
"on_change": "set_adc_gain_Vin"
},
"VOLT_INITIAL": {
"description": "Initial Voltage of Scan", "description": "Initial Voltage of Scan",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
@@ -234,8 +279,8 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"VOLT_MAX": { "CV_E1": {
"description": "Max Voltage of Scan", "description": "First voltage of Scan",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
"domain": [ "domain": [
@@ -245,8 +290,8 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"VOLT_MIN": { "CV_E2": {
"description": "Min Voltage of Scan", "description": "Second voltage of Scan",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
"domain": [ "domain": [
@@ -256,19 +301,19 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"CYCLE_NUMBER": { "CV_SCAN_RATE": {
"description": "CV cycle number", "description": "Voltage scan rate",
"record_meta": true, "record_meta": true,
"initial": 1, "initial": 10000,
"domain": [ "domain": [
65536 100001
], ],
"value": { "value": {
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"VOLT_VSCAN": { "CA_VOLT": {
"description": "Voltage of VScan", "description": "Voltage of ca",
"record_meta": true, "record_meta": true,
"initial": 25000, "initial": 25000,
"domain": [ "domain": [
@@ -278,7 +323,7 @@
"expression": "VALUE" "expression": "VALUE"
} }
}, },
"MEASURE_VIN_RANGE": { "VT_MEASURE_VIN_RANGE": {
"description": "measure range of Vin", "description": "measure range of Vin",
"record_meta": true, "record_meta": true,
"initial": 0, "initial": 0,
@@ -289,6 +334,22 @@
"auto" "auto"
] ]
}, },
"RT_VOLT_SET": {
"description": "DAC output Voltage",
"record_meta": true,
"initial": 37500,
"domain": [
65536
],
"value": {
"expression": "VALUE"
},
"on_change": "set_para_RT_VOLT_SET"
},
"ADC_VALUE_I": {
"description": "ADC value current value",
"domain": "int"
},
"BLE_WRITE": { "BLE_WRITE": {
"description": "send msg to elite", "description": "send msg to elite",
"domain": { "domain": {
@@ -319,17 +380,12 @@
{ {
"expression": "MODE", "expression": "MODE",
"when": { "when": {
"1": "set_adc_gain_I", "0": "set_general_hs_rtia",
"2": "set_adc_gain_I", "1": "set_general_lp_rtia",
"3": "set_adc_gain_I" "2": "set_general_lp_rtia",
} "3": "set_general_lp_rtia",
}, "4": "set_general_lp_rtia",
{ "5": "set_general_hs_rtia"
"expression": "MODE",
"when": {
"1": "set_adc_gain_Vin",
"2": "set_adc_gain_Vin",
"3": "set_adc_gain_Vin"
} }
}, },
{ {
@@ -337,15 +393,25 @@
"when": { "when": {
"0": "curve_eis", "0": "curve_eis",
"1": "curve_cv3", "1": "curve_cv3",
"2": "curve_const_vscan", "2": "curve_ca",
"3": "curve_vt" "3": "curve_vt",
"4": "curve_rt",
"5": "curve_cf"
} }
}, },
{ {
"expression": "MODE", "expression": "MODE",
"when": { "when": {
"0": "curve_eis_para2", "0": "curve_eis_para2",
"1": "curve_cv3_para2" "1": "curve_cv3_para2",
"5": "curve_cf_para2"
}
},
{
"expression": "MODE",
"when": {
"0": "curve_eis_mode",
"5": "curve_cf_mode"
} }
}, },
"_sync(True)", "_sync(True)",
@@ -365,6 +431,18 @@
"data_format_cali": [ "data_format_cali": [
"_data_format_cali('EISZeroOne')" "_data_format_cali('EISZeroOne')"
], ],
"set_general_hs_rtia": {
"type": "RIS",
"data": [
"1XFF;1X70;1B>GENERAL_HS_RTIA"
]
},
"set_general_lp_rtia": {
"type": "RIS",
"data": [
"1XFF;1X71;1B>GENERAL_LP_RTIA"
]
},
"set_sample_rate": { "set_sample_rate": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
@@ -374,99 +452,146 @@
"XE0;2B>va" "XE0;2B>va"
] ]
}, },
"set_adc_gain_I": {
"type": "RIS",
"data": [
"XE1;X05;B>ADC_LEVEL_I_15"
]
},
"set_adc_gain_Vin": {
"type": "RIS",
"data": [
"XE1;X06;B>ADC_LEVEL_V_IN_15"
]
},
"set_ctrl_highZ": { "set_ctrl_highZ": {
"type": "RIS", "type": "RIS",
"data": [ "data": [
"XE1;X03;B>CTRL_HIGH_Z_15" "1XFF;1X72;1B>CTRL_HIGH_Z_15"
] ]
}, },
"curve_eis": { "curve_eis": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"fa": "FREQ[0]", "fa": "EIS_FREQ[0]",
"fb": "FREQ[1]", "fb": "EIS_FREQ[1]",
"dp": "DELAY", "dp": "EIS_DELAY",
"dc": "DC_BIAS", "dc": "EIS_DC_BIAS",
"am": "AC_AMP", "am": "EIS_AC_AMP",
"an": "AVERAGE_NUM", "an": "EIS_AVERAGE_NUM",
"rt": "RTIA", "rt": "GENERAL_HS_RTIA",
"pp": "PPD", "pp": "EIS_PPD",
"sp": "SCALE" "sp": "EIS_SCALE"
}, },
"data": [ "data": [
"1XD1;1X01;4B>fa;4B>fb;2B>dp" "1X12;1X01;4B>fa;4B>fb;2B>dp"
] ]
}, },
"curve_eis_para2": { "curve_eis_para2": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"fa": "FREQ[0]", "fa": "EIS_FREQ[0]",
"fb": "FREQ[1]", "fb": "EIS_FREQ[1]",
"dp": "DELAY", "dp": "EIS_DELAY",
"dc": "DC_BIAS", "dc": "EIS_DC_BIAS",
"am": "AC_AMP", "am": "EIS_AC_AMP",
"an": "AVERAGE_NUM", "an": "EIS_AVERAGE_NUM",
"rt": "RTIA", "rt": "GENERAL_HS_RTIA",
"pp": "PPD", "pp": "EIS_PPD",
"sp": "SCALE" "sp": "EIS_SCALE"
}, },
"data": [ "data": [
"1XD1;1X02;2B>dc;2B>am;B>an;B>rt;2B>pp;B>sp" "1X12;1X02;2B>dc;2B>am;B>an;B>rt;2B>pp;B>sp"
]
},
"curve_eis_mode": {
"type": "RIS",
"data": [
"1X12;1XFF"
]
},
"curve_cf": {
"type": "RIS",
"parameter": {
"fa": "CF_FREQ",
"dp": "CF_DELAY",
"dc": "CF_DC_BIAS",
"am": "CF_AC_AMP",
"an": "CF_AVERAGE_NUM",
"rt": "GENERAL_HS_RTIA",
"pp": "CF_PPD",
"sp": "CF_SCALE"
},
"data": [
"1X13;1X01;4B>fa;4B>0;2B>dp"
]
},
"curve_cf_para2": {
"type": "RIS",
"parameter": {
"fa": "CF_FREQ",
"dp": "CF_DELAY",
"dc": "CF_DC_BIAS",
"am": "CF_AC_AMP",
"an": "CF_AVERAGE_NUM",
"rt": "GENERAL_HS_RTIA",
"pp": "CF_PPD",
"sp": "CF_SCALE"
},
"data": [
"1X13;1X02;2B>dc;2B>am;B>an;B>rt;2B>pp;B>sp"
]
},
"curve_cf_mode": {
"type": "RIS",
"data": [
"1X13;1XFF"
] ]
}, },
"curve_cv3": { "curve_cv3": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"va": "VOLT_INITIAL", "va": "CV_E_INITIAL",
"vb": "VOLT_MAX", "vb": "CV_E1",
"vc": "VOLT_MIN", "vc": "CV_E2",
"ve": "Scan_Rate", "ve": "CV_SCAN_RATE",
"vf": "SAMPLE_RATE", "vf": "SAMPLE_RATE",
"cn": "CYCLE_NUMBER" "cn": "CYCLE_NUMBER"
}, },
"data": [ "data": [
"1XD2;1X01;2B>va;2B>vb;2B>vc;" "1X09;1X01;2B>va;2B>vb;2B>vc;"
] ]
}, },
"curve_cv3_para2": { "curve_cv3_para2": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"va": "VOLT_INITIAL", "va": "CV_E_INITIAL",
"vb": "VOLT_MAX", "vb": "CV_E1",
"vc": "VOLT_MIN", "vc": "CV_E2",
"ve": "Scan_Rate", "ve": "CV_SCAN_RATE",
"vf": "SAMPLE_RATE", "vf": "SAMPLE_RATE",
"cn": "CYCLE_NUMBER" "cn": "CYCLE_NUMBER"
}, },
"data": [ "data": [
"1XD2;1X02;4B>ve;2B>vf;2B>cn" "1X09;1X02;4B>ve;2B>vf;2B>cn"
] ]
}, },
"curve_const_vscan": { "curve_ca": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"va": "VOLT_VSCAN", "va": "CA_VOLT",
"pa": "ADC_LEVEL_I_15", "pa": "GENERAL_LP_RTIA",
"pb": "ADC_LEVEL_V_IN_15",
"pd": "CTRL_HIGH_Z_15", "pd": "CTRL_HIGH_Z_15",
"pe": "SAMPLE_RATE" "pe": "SAMPLE_RATE"
}, },
"data": [ "data": [
"1XD3;", "1X0B;",
"2B>va;", "2B>va;",
"4b>pa;4b>pb;", "4b>pa;4b>0;",
"4b>0;4b>pd;",
"2B>pe"
]
},
"curve_rt": {
"type": "RIS",
"parameter": {
"va": "RT_VOLT_SET",
"pa": "GENERAL_LP_RTIA",
"pd": "CTRL_HIGH_Z_15",
"pe": "SAMPLE_RATE"
},
"data": [
"X04;",
"2B>va;",
"4b>pa;4b>0;",
"4b>0;4b>pd;", "4b>0;4b>pd;",
"2B>pe" "2B>pe"
] ]
@@ -474,20 +599,25 @@
"curve_vt": { "curve_vt": {
"type": "RIS", "type": "RIS",
"parameter": { "parameter": {
"pa": "ADC_LEVEL_I_15", "pa": "GENERAL_LP_RTIA",
"pb": "ADC_LEVEL_V_IN_15",
"pd": "CTRL_HIGH_Z_15", "pd": "CTRL_HIGH_Z_15",
"pe": "SAMPLE_RATE", "pe": "SAMPLE_RATE",
"va": "MEASURE_VIN_RANGE" "va": "VT_MEASURE_VIN_RANGE"
}, },
"data": [ "data": [
"X05;", "X05;",
"4b>pa;4b>pb;", "4b>pa;4b>0;",
"4b>0;4b>pd;", "4b>0;4b>pd;",
"2B>pe;", "2B>pe;",
"1B>va" "1B>va"
] ]
}, },
"set_para_RT_VOLT_SET": {
"type": "RIS",
"data": [
"XE2;X01;2B>RT_VOLT_SET"
]
},
"ble_instru_send": [ "ble_instru_send": [
"ble_write", "ble_write",
"_cdr('20X>ADC_VALUE_I')" "_cdr('20X>ADC_VALUE_I')"
+14
View File
@@ -0,0 +1,14 @@
#!/bin/bash
# install python module numpy
sudo apt-get install libatlas-base-dev
sudo apt-get install python3-numpy
# install python module SQLAlchemy
pip3 install SQLAlchemy
# add column cycle in projects
sudo su -c "psql -d postgres -c \"ALTER TABLE projects ADD COLUMN IF NOT EXISTS cycle JSONB;\"" postgres
# add column project in recording_data_metas
sudo su -c "psql -d postgres -c \"ALTER TABLE recording_data_metas ADD COLUMN IF NOT EXISTS project Int4;\"" postgres