Compare commits
41 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c084f29f06 | |||
| 130d260add | |||
| 575d5d8af1 | |||
| fbf6297047 | |||
| c540013d19 | |||
| 7f0b00a323 | |||
| 4828c85668 | |||
| 4ce9fe5b8d | |||
| d74f09254e | |||
| 79ecff69cc | |||
| df45126ead | |||
| 9fade3469a | |||
| a77331176c | |||
| 8f98337267 | |||
| 205d39cb11 | |||
| a5ea3243fa | |||
| 2edf28c7ba | |||
| b20d46daa8 | |||
| 789d9b3a81 | |||
| 0d0427ed14 | |||
| d434509c5b | |||
| 787d76d48c | |||
| 50f2432088 | |||
| 1cff19ac58 | |||
| baef447c0e | |||
| ee9c13d4c5 | |||
| 9076f2f10b | |||
| 9b2e2964b0 | |||
| 2622109c89 | |||
| a3fe6b87af | |||
| 64419ca1c5 | |||
| 7d77c44741 | |||
| 29b4dd5cc7 | |||
| f151ae6fce | |||
| e535e3d2b1 | |||
| 06c36aa737 | |||
| 402022c451 | |||
| 4daff72d39 | |||
| f99719832a | |||
| fcc39dbfed | |||
| 1174d54bc0 |
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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]
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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)",
|
||||||
|
|||||||
@@ -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')"
|
||||||
|
|||||||
@@ -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')"
|
||||||
|
|||||||
Executable
+14
@@ -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
|
||||||
Reference in New Issue
Block a user