Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e152e56031 |
@@ -163,12 +163,14 @@ def is_headstage_device(info: cc2650.GapEvt_DeviceInformation) -> Optional[Devic
|
||||
version_info[3],
|
||||
version_info[4],
|
||||
version_info[5])
|
||||
|
||||
return DeviceResponseInfo(local_name.decode(), serial_number, info.address, battery=battery_percentage)
|
||||
|
||||
elif company_code[:2] == b'HS':
|
||||
# legacy device
|
||||
|
||||
serial_number = DeviceSerialNumber(0, 0, 0, 0, 0, 0)
|
||||
|
||||
return DeviceResponseInfo(local_name.decode(), serial_number, info.address)
|
||||
|
||||
else:
|
||||
@@ -198,7 +200,7 @@ def is_headstage_device_central_version(device_mac: ADDRESS = EMPTY_ADDRESS,
|
||||
version_info[3],
|
||||
version_info[4],
|
||||
version_info[5])
|
||||
print('***********', version_info, device_mac)
|
||||
|
||||
return DeviceResponseInfo(local_name,
|
||||
serial_number,
|
||||
device_mac,
|
||||
@@ -468,6 +470,7 @@ class CC2650Device(Device):
|
||||
# receive
|
||||
data = self._master.read_characteristic(self.device_id, CC2650MasterDevice.RETURN_HANDLE)
|
||||
data = self._decode_data(DeviceInstruction.CIS_VERSION, data)
|
||||
print('data:',list(data))
|
||||
|
||||
except SendInstructionTimeoutError:
|
||||
self._master.log_warn('device', self.device_id, 'update_device_version no response')
|
||||
@@ -481,13 +484,9 @@ class CC2650Device(Device):
|
||||
day = struct.unpack('<B', data[4:5])[0]
|
||||
hour = struct.unpack('<B', data[5:6])[0]
|
||||
minute = struct.unpack('<B', data[6:7])[0]
|
||||
mac1 = struct.unpack('<B', data[7:8])[0]
|
||||
mac2 = struct.unpack('<B', data[8:9])[0]
|
||||
mac1 = "%02X" % mac1
|
||||
mac2 = "%02X" % mac2
|
||||
|
||||
self._device_version = str(year) + '/' + str(month) + '/' + str(day) + " " + str(hour) + ":" + str(
|
||||
minute) + " | " + str(mac1) + ":" + str(mac2)
|
||||
minute)
|
||||
|
||||
@property
|
||||
def battery(self) -> int:
|
||||
@@ -2032,32 +2031,22 @@ class CC2650SingleMasterCentralDevice(CC2650MasterDevice, Synchronized):
|
||||
ins.append(0xF1)
|
||||
self._interface.flush_input()
|
||||
|
||||
for _ in range(5):
|
||||
try:
|
||||
self.log_verbose('[CC2650]', 'scan_callback att_write','0x'+str.upper(ins.hex()))
|
||||
self._cc2650.send("bytes", bytes(ins))
|
||||
|
||||
except SerialTimeoutException:
|
||||
self.log_verbose('[CC2650]', 'scan_callback send fail')
|
||||
|
||||
else:
|
||||
try:
|
||||
self.log_verbose('[CC2650]', 'scan_callback att_write','0x'+str.upper(ins.hex()))
|
||||
self._cc2650.send("bytes", bytes(ins))
|
||||
scan_response = self._cc2650.recv_uart(0.01)
|
||||
|
||||
except SerialTimeoutException:
|
||||
self.log_verbose('[CC2650]', 'scan_callback send fail, rescan')
|
||||
continue
|
||||
|
||||
else:
|
||||
try:
|
||||
scan_response = self._cc2650.recv_uart(0.01)
|
||||
|
||||
except RecvTimeout:
|
||||
self.log_verbose('[CC2650]', 'scan_callback response timeout, no device, rescan')
|
||||
continue
|
||||
|
||||
else:
|
||||
if scan_response is None:
|
||||
self.log_verbose('[CC2650]', 'scan_callback response is None, rescan')
|
||||
continue
|
||||
else:
|
||||
break
|
||||
except RecvTimeout:
|
||||
self.log_verbose('[CC2650]', 'scan_callback response timeout, no device')
|
||||
return False
|
||||
|
||||
if scan_response is None:
|
||||
self.log_verbose('[CC2650]', 'scan_callback response is None--2')
|
||||
return False
|
||||
|
||||
scan_response_hex = ''.join(format(i, '02X') for i in scan_response)
|
||||
@@ -2142,9 +2131,9 @@ class CC2650SingleMasterCentralDevice(CC2650MasterDevice, Synchronized):
|
||||
addr_type = response.addr_type
|
||||
address_s = cc2650.address_str(address)
|
||||
|
||||
connected = False
|
||||
connect_response = None
|
||||
ins = bytearray()
|
||||
|
||||
ins.append(0x05)
|
||||
ins.append(0x08) #length
|
||||
ins.append(addr_type)
|
||||
@@ -2156,6 +2145,7 @@ class CC2650SingleMasterCentralDevice(CC2650MasterDevice, Synchronized):
|
||||
ins.append(address[5])
|
||||
ins.append(0xF1)
|
||||
self._interface.flush_input()
|
||||
|
||||
for retry in range(5):
|
||||
try:
|
||||
self.log_verbose('[CC2650]', 'connect att_write', '0x'+str.upper(ins.hex()))
|
||||
@@ -2168,6 +2158,7 @@ class CC2650SingleMasterCentralDevice(CC2650MasterDevice, Synchronized):
|
||||
else:
|
||||
try:
|
||||
connect_response = self._cc2650.recv_uart(2)
|
||||
print('!!connect_response:', list(connect_response))
|
||||
except RecvTimeout:
|
||||
self.log_verbose('[CC2650]', 'connect response timeout')
|
||||
if retry < 5:
|
||||
@@ -2175,26 +2166,24 @@ class CC2650SingleMasterCentralDevice(CC2650MasterDevice, Synchronized):
|
||||
continue
|
||||
else:
|
||||
break
|
||||
|
||||
|
||||
if connect_response is None:
|
||||
return False
|
||||
|
||||
pack_len = connect_response[0]
|
||||
connect_ack = connect_response[1:pack_len+1]
|
||||
|
||||
if connect_ack[0] == 46 and connect_ack[1] == 80 and \
|
||||
connect_ack[2] == 48 and connect_ack[3] == 4:
|
||||
connected = True
|
||||
|
||||
if connect_ack == [3]:
|
||||
connect_response_hex = ''.join(format(i, '02X') for i in connect_response)
|
||||
self.log_verbose('[CC2650]', 'connect success', '0x'+connect_response_hex)
|
||||
|
||||
if connected == True:
|
||||
# CC2650Device(device_id, master, scan_response) is a slave device
|
||||
# device_id is don't care, because it will be overwrite later
|
||||
dont_care = 0
|
||||
self._device = ret = CC2650Device(device_id=dont_care, master=self, response_info=response)
|
||||
self.log_verbose('[CC2650]', DEVICE_CONNECTED, address_s)
|
||||
return ret
|
||||
|
||||
|
||||
self.log_verbose('[CC2650]', 'connect fail')
|
||||
return False
|
||||
|
||||
@@ -2569,15 +2558,15 @@ class CC2650MultiMasterCentralDevice(CC2650MasterDevice, Synchronized):
|
||||
|
||||
return ret
|
||||
|
||||
def connect(self, response: DeviceResponseInfo, direct_connect: bool = True) -> Device:
|
||||
def connect(self, response: DeviceResponseInfo, direct_connect: bool = False) -> Device:
|
||||
self.log_verbose('connect')
|
||||
|
||||
master = None
|
||||
print('self._foreach_empty_master()', self._foreach_empty_master())
|
||||
|
||||
for master in self._foreach_empty_master():
|
||||
m = self._cc2650[master]
|
||||
d = self._device[master]
|
||||
print('master', master, d, m)
|
||||
|
||||
if direct_connect is True and d is None:
|
||||
break
|
||||
|
||||
@@ -2588,27 +2577,22 @@ class CC2650MultiMasterCentralDevice(CC2650MasterDevice, Synchronized):
|
||||
if master is None:
|
||||
raise RuntimeError('cannot connect any more device')
|
||||
else:
|
||||
print('456')
|
||||
raise RuntimeError('rescan please')
|
||||
|
||||
#
|
||||
master = 4
|
||||
self.log_verbose('use', master)
|
||||
m = self._cc2650[master]
|
||||
d = self._device[master]
|
||||
print('4')
|
||||
|
||||
if d is not None:
|
||||
raise RuntimeError('cc2650 has connected a device')
|
||||
|
||||
with self:
|
||||
print('5')
|
||||
self._interface.flush()
|
||||
self._selector.select(master)
|
||||
|
||||
sleep(0.0001)
|
||||
d = m.connect(response, direct_connect)
|
||||
print('6')
|
||||
|
||||
if d is None:
|
||||
raise RuntimeError('connect failed, retry please')
|
||||
|
||||
@@ -683,12 +683,12 @@ class DeviceManager(MasterDevice, Synchronized):
|
||||
address = address_str(response.mac_address)
|
||||
self.log_info(DEVICE_CONNECTING, address)
|
||||
|
||||
# response = self.found_device(response)
|
||||
response = self.found_device(response)
|
||||
|
||||
# ''' device not found'''
|
||||
# if response is None:
|
||||
# self.log_warn(DEVICE_CONNECT_FAIL, address, DEVICE_NOT_FOUND)
|
||||
# return None
|
||||
''' device not found'''
|
||||
if response is None:
|
||||
self.log_warn(DEVICE_CONNECT_FAIL, address, DEVICE_NOT_FOUND)
|
||||
return None
|
||||
# raise RuntimeError(DEVICE_NOT_FOUND, address)
|
||||
|
||||
# get device library
|
||||
@@ -718,9 +718,7 @@ class DeviceManager(MasterDevice, Synchronized):
|
||||
serial_number=response.serial_number)
|
||||
else:
|
||||
try:
|
||||
print('here!!!!!!!!!!!!!!!!!!!!!!!', response)
|
||||
device = self._centralMaster.connect(response)
|
||||
print('connect', device)
|
||||
|
||||
device = CompletedDevice(self, library, device.device_id, device)
|
||||
except Exception as e:
|
||||
|
||||
@@ -532,7 +532,6 @@ class ComplexExpression(Expression[T]):
|
||||
@classmethod
|
||||
def parse(cls, json: JSON_OBJECT) -> Union['ComplexExpression', UndeterminedExpression]:
|
||||
expression = _get(json, 'expression', str, _truncate(json), nullable=True)
|
||||
print('expression parse', expression, json)
|
||||
|
||||
if expression is None:
|
||||
# un-determined expression
|
||||
@@ -880,13 +879,9 @@ class WhenExpression(ComplexExpression[T]):
|
||||
self._when: Dict[str, Expression[T]] = when
|
||||
|
||||
def value(self, context: Scope) -> Union[str, T]:
|
||||
print('value', context)
|
||||
value = super().value(context)
|
||||
|
||||
|
||||
key = str(value)
|
||||
print('value1', key,value)
|
||||
print('when', self._when)
|
||||
|
||||
if key in self._when:
|
||||
return self._when[key].value(context.child(VALUE=value))
|
||||
|
||||
@@ -372,6 +372,7 @@ class InternalInstruction(SingleInstruction):
|
||||
|
||||
else:
|
||||
data = [v for v in data]
|
||||
print('cdr data:', data)
|
||||
|
||||
parser.parse_instruction(context, data)
|
||||
|
||||
@@ -404,9 +405,7 @@ class ListInstruction(Instruction, ImmutableListNode[Union[Instruction, Expressi
|
||||
ImmutableListNode.__init__(self, list(ins))
|
||||
|
||||
def eval_instruction(self, context: Scope) -> Iterable['SingleInstruction']:
|
||||
print('eval_instruction', context)
|
||||
for ins in self:
|
||||
print(ins)
|
||||
# foreach instructions
|
||||
|
||||
# ins type could be Union[str, Expression]
|
||||
@@ -778,6 +777,12 @@ class InstructionDataContent(InstructionContent):
|
||||
|
||||
def parse_instruction(self, context: Scope, buffer: List[int], offset: int = 0, shift: int = 0) -> Tuple[int, int]:
|
||||
|
||||
print('self._width', self._width)
|
||||
print('self._width.size', self._width.size)
|
||||
|
||||
for _ in range (self._width.size - len(buffer)):
|
||||
buffer.append(0)
|
||||
|
||||
if self._width.is_array:
|
||||
raise NotImplementedError()
|
||||
|
||||
@@ -791,21 +796,20 @@ class InstructionDataContent(InstructionContent):
|
||||
|
||||
value = 0
|
||||
|
||||
if self._width.size == 1:
|
||||
value = buffer[offset]
|
||||
for i in range(self._width.size):
|
||||
if self._width.little_endian:
|
||||
value |= (buffer[offset] << (1 * i))
|
||||
else:
|
||||
value = (value << 8) | buffer[offset]
|
||||
offset += 1
|
||||
|
||||
else:
|
||||
for i in range(self._width.size):
|
||||
if self._width.little_endian:
|
||||
value |= (buffer[offset] << (1 * i))
|
||||
else:
|
||||
value = (value << 8) | buffer[offset]
|
||||
offset += 1
|
||||
|
||||
if len(self._value) > 0:
|
||||
context[self._value] = value
|
||||
|
||||
print('value',value)
|
||||
print('hex(value)',hex(value))
|
||||
|
||||
|
||||
return offset, 0
|
||||
|
||||
else:
|
||||
@@ -823,7 +827,6 @@ class InstructionDataContent(InstructionContent):
|
||||
if self._width.bytes_unit:
|
||||
if shift != 0:
|
||||
offset += 1
|
||||
|
||||
return offset + self._width.size, 0
|
||||
|
||||
else:
|
||||
|
||||
@@ -3708,8 +3708,8 @@ class CC2650Central(LoggerFlag):
|
||||
|
||||
def _recv_byte(self) -> Optional[int]:
|
||||
ret = self._recv_bytes(1)
|
||||
# if ret is not None:
|
||||
# print('packet = {0}'.format(hex(ret[0]).upper()))
|
||||
if ret is not None:
|
||||
print('packet = {0}'.format(hex(ret[0]).upper()))
|
||||
return ret[0] if ret is not None else None
|
||||
|
||||
def _recv_bytes(self, size: int = 1) -> Union[None, bytes]:
|
||||
|
||||
@@ -329,30 +329,6 @@ class ControlServer(SocketServer, ControlServerAPI):
|
||||
finally:
|
||||
self.led_thread.set_state(LED.AVAILABLE)
|
||||
|
||||
# version_info = [0, 2, 1, 7, 23, 2]
|
||||
# serial_number = DeviceSerialNumber(version_info[0],
|
||||
# version_info[1],
|
||||
# version_info[2],
|
||||
# version_info[3],
|
||||
# version_info[4],
|
||||
# version_info[5])
|
||||
# response = DeviceResponseInfo('Elite-EDC', serial_number, (164, 218, 50, 212, 231, 12), addr_type=0)
|
||||
# print('setup done', response)
|
||||
# ret = self.device_manager.connect(response)
|
||||
# print('ret', ret)
|
||||
|
||||
version_info = [0, 5, 1, 0, 23, 5]
|
||||
serial_number = DeviceSerialNumber(version_info[0],
|
||||
version_info[1],
|
||||
version_info[2],
|
||||
version_info[3],
|
||||
version_info[4],
|
||||
version_info[5])
|
||||
response = DeviceResponseInfo('Elite-EDC', serial_number, (164, 218, 50, 212, 238, 89), addr_type=0)
|
||||
print('setup done', response)
|
||||
ret = self.device_manager.connect(response)
|
||||
print('ret', ret)
|
||||
|
||||
def _setup_get_available_channel(self) -> Optional[List[int]]:
|
||||
client = self.data_server.client()
|
||||
|
||||
@@ -582,6 +558,7 @@ class ControlServer(SocketServer, ControlServerAPI):
|
||||
response = content
|
||||
else:
|
||||
response = to_device_info(content)
|
||||
|
||||
try:
|
||||
ret = self.device_manager.connect(response)
|
||||
except DeviceInstructionError as e:
|
||||
@@ -1421,6 +1398,7 @@ class ControlServer(SocketServer, ControlServerAPI):
|
||||
if client is not None:
|
||||
with client:
|
||||
client.show_data(device)
|
||||
|
||||
class _RandomCrashThread(ServerThread):
|
||||
def __init__(self):
|
||||
super().__init__('Crash')
|
||||
|
||||
@@ -9,189 +9,9 @@
|
||||
"minor_version_number": 0
|
||||
},
|
||||
"constant": {
|
||||
"TIME_MAX": 100000,
|
||||
"BLE_WRITE_MAX": 255,
|
||||
"MODE_ALL_OUTPUT": 15,
|
||||
"ELITE_CH_PR0": 0,
|
||||
"ELITE_CH_D0": 1,
|
||||
"ELITE_CH_A0": 2,
|
||||
"ELITE_CH_A2": 3,
|
||||
"ELITE_CH_A3": 4,
|
||||
"ELITE_CH_A1": 5,
|
||||
"ELITE_CH_D1": 6,
|
||||
"ELITE_CH_PR1": 7,
|
||||
"PR0": 0,
|
||||
"PR1": 1,
|
||||
"D0": 2,
|
||||
"D1": 3,
|
||||
"A0": 4,
|
||||
"A1": 5,
|
||||
"A2": 6,
|
||||
"A3": 7
|
||||
"TIME_MAX": 100000
|
||||
},
|
||||
"parameters": {
|
||||
"USED": {
|
||||
"initial": [false, false, false, false, false, false, false, false],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 2
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"T_EARLY": {
|
||||
"initial": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 86400000
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"V_EARLY": {
|
||||
"initial": [false, false, false, false, false, false, false, false],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 2
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"CYCLE": {
|
||||
"initial": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 65535
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"T_MID0": {
|
||||
"initial": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 86400000
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"T_MID1": {
|
||||
"initial": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 86400000
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"T_MID2": {
|
||||
"initial": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 86400000
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"T_MID3": {
|
||||
"initial": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 86400000
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"V_MID0": {
|
||||
"initial": [false, false, false, false, false, false, false, false],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 2
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"V_MID1": {
|
||||
"initial": [false, false, false, false, false, false, false, false],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 2
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"V_MID2": {
|
||||
"initial": [false, false, false, false, false, false, false, false],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 2
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"V_MID3": {
|
||||
"initial": [false, false, false, false, false, false, false, false],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 2
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"T_LATE": {
|
||||
"initial": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 86400000
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"V_LATE": {
|
||||
"initial": [false, false, false, false, false, false, false, false],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 2
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"CURRENT": {
|
||||
"initial": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 50000
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"OUTPUT_5V": {
|
||||
"initial": [false, false, false, false, false, false, false, false],
|
||||
"domain": {
|
||||
"list": [
|
||||
0, 2
|
||||
]
|
||||
},
|
||||
"value": "VALUE"
|
||||
},
|
||||
"ADC_VALUE_I": {
|
||||
"description": "ADC value current value",
|
||||
"domain": "int"
|
||||
},
|
||||
"BLE_WRITE": {
|
||||
"description": "send msg to elite",
|
||||
"domain": {
|
||||
"list": [
|
||||
"BLE_WRITE_MAX"
|
||||
]
|
||||
},
|
||||
"initial": "[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]",
|
||||
"value": "VALUE"
|
||||
},
|
||||
"BLE_READ": {
|
||||
"description": "receive msg from elite",
|
||||
"domain": "int"
|
||||
},
|
||||
"TIME_DURATION": {
|
||||
"description": "timer",
|
||||
"record_meta": true,
|
||||
@@ -334,11 +154,14 @@
|
||||
"record_meta": true,
|
||||
"value": [
|
||||
"Analog Current Control (ACC)",
|
||||
"Idle",
|
||||
"Dev Mode",
|
||||
"Trigger"
|
||||
"Idle"
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"CHANNEL": {
|
||||
"description": "delete it",
|
||||
"record_meta": true,
|
||||
@@ -397,8 +220,7 @@
|
||||
{
|
||||
"expression": "MODE",
|
||||
"when": {
|
||||
"0": "curve_acc",
|
||||
"3": "trig_timer_mode"
|
||||
"0": "curve_acc"
|
||||
}
|
||||
},
|
||||
"_sync(True)",
|
||||
@@ -423,21 +245,6 @@
|
||||
"CIS_VOLT",
|
||||
"_cdr('20X>ADC_VALUE_I')"
|
||||
],
|
||||
"ble_instru_send": [
|
||||
"ble_write",
|
||||
"_cdr('20X>ADC_VALUE_I')"
|
||||
],
|
||||
"ble_write": {
|
||||
"type": "RIS",
|
||||
"data": [
|
||||
"XFF;",
|
||||
"1B>BLE_WRITE[0];1B>BLE_WRITE[1];1B>BLE_WRITE[2];1B>BLE_WRITE[3];",
|
||||
"1B>BLE_WRITE[4];1B>BLE_WRITE[5];1B>BLE_WRITE[6];1B>BLE_WRITE[7];",
|
||||
"1B>BLE_WRITE[8];1B>BLE_WRITE[9];1B>BLE_WRITE[10];1B>BLE_WRITE[11];",
|
||||
"1B>BLE_WRITE[12];1B>BLE_WRITE[13];1B>BLE_WRITE[14];1B>BLE_WRITE[15];",
|
||||
"1B>BLE_WRITE[16];"
|
||||
]
|
||||
},
|
||||
"curve_acc": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
@@ -500,677 +307,6 @@
|
||||
"data": [
|
||||
"XE2;X02;X03;2B>ACC_a_out3_current;1B>ACC_a_out3"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode": [
|
||||
"trig_timer_mode_set_mode",
|
||||
{
|
||||
"expression": "USED[PR0]",
|
||||
"when": {
|
||||
"True": "trig_timer_mode_set_PR0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"expression": "USED[PR1]",
|
||||
"when": {
|
||||
"True": "trig_timer_mode_set_PR1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"expression": "USED[D0]",
|
||||
"when": {
|
||||
"True": "trig_timer_mode_set_D0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"expression": "USED[D1]",
|
||||
"when": {
|
||||
"True": "trig_timer_mode_set_D1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"expression": "USED[A0]",
|
||||
"when": {
|
||||
"True": "trig_timer_mode_set_A0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"expression": "USED[A1]",
|
||||
"when": {
|
||||
"True": "trig_timer_mode_set_A1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"expression": "USED[A2]",
|
||||
"when": {
|
||||
"True": "trig_timer_mode_set_A2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"expression": "USED[A3]",
|
||||
"when": {
|
||||
"True": "trig_timer_mode_set_A3"
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
"trig_timer_mode_set_mode": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1XFF;"
|
||||
]
|
||||
},
|
||||
|
||||
"trig_timer_mode_set_PR0": [
|
||||
"trig_timer_mode_set_PR0_para1",
|
||||
"trig_timer_mode_set_PR0_para2",
|
||||
"trig_timer_mode_set_PR0_para3"
|
||||
],
|
||||
"trig_timer_mode_set_PR0_para1": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_PR0",
|
||||
"para_sequence": 1,
|
||||
"used": "USED[PR0]",
|
||||
"v_early": "V_EARLY[PR0]",
|
||||
"v_late": "V_LATE[PR0]",
|
||||
"v_mid0": "V_MID0[PR0]",
|
||||
"v_mid1": "V_MID1[PR0]",
|
||||
"v_mid2": "V_MID2[PR0]",
|
||||
"v_mid3": "V_MID3[PR0]",
|
||||
"cycle": "CYCLE[PR0]",
|
||||
"t_early": "T_EARLY[PR0]",
|
||||
"t_late": "T_LATE[PR0]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"5b>0;1b>v_late;1b>v_early;1b>used;",
|
||||
"4b>0;1b>v_mid3;1b>v_mid2;1b>v_mid1;1b>v_mid0;",
|
||||
"2B>cycle;4B>t_early;4B>t_late;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_PR0_para2": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_PR0",
|
||||
"para_sequence": 2,
|
||||
"t_mid0": "T_MID0[PR0]",
|
||||
"t_mid1": "T_MID1[PR0]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid0;4B>t_mid1;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_PR0_para3": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_PR0",
|
||||
"para_sequence": 3,
|
||||
"t_mid2": "T_MID2[PR0]",
|
||||
"t_mid3": "T_MID3[PR0]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid2;4B>t_mid3;"
|
||||
]
|
||||
},
|
||||
|
||||
"trig_timer_mode_set_PR1": [
|
||||
"trig_timer_mode_set_PR1_para1",
|
||||
"trig_timer_mode_set_PR1_para2",
|
||||
"trig_timer_mode_set_PR1_para3"
|
||||
],
|
||||
"trig_timer_mode_set_PR1_para1": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_PR1",
|
||||
"para_sequence": 1,
|
||||
"used": "USED[PR1]",
|
||||
"v_early": "V_EARLY[PR1]",
|
||||
"v_late": "V_LATE[PR1]",
|
||||
"v_mid0": "V_MID0[PR1]",
|
||||
"v_mid1": "V_MID1[PR1]",
|
||||
"v_mid2": "V_MID2[PR1]",
|
||||
"v_mid3": "V_MID3[PR1]",
|
||||
"cycle": "CYCLE[PR1]",
|
||||
"t_early": "T_EARLY[PR1]",
|
||||
"t_late": "T_LATE[PR1]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"5b>0;1b>v_late;1b>v_early;1b>used;",
|
||||
"4b>0;1b>v_mid3;1b>v_mid2;1b>v_mid1;1b>v_mid0;",
|
||||
"2B>cycle;4B>t_early;4B>t_late;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_PR1_para2": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_PR1",
|
||||
"para_sequence": 2,
|
||||
"t_mid0": "T_MID0[PR1]",
|
||||
"t_mid1": "T_MID1[PR1]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid0;4B>t_mid1;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_PR1_para3": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_PR1",
|
||||
"para_sequence": 3,
|
||||
"t_mid2": "T_MID2[PR1]",
|
||||
"t_mid3": "T_MID3[PR1]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid2;4B>t_mid3;"
|
||||
]
|
||||
},
|
||||
|
||||
"trig_timer_mode_set_D0": [
|
||||
"trig_timer_mode_set_D0_para1",
|
||||
"trig_timer_mode_set_D0_para2",
|
||||
"trig_timer_mode_set_D0_para3",
|
||||
"trig_timer_mode_set_D0_para4"
|
||||
],
|
||||
"trig_timer_mode_set_D0_para1": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_D0",
|
||||
"para_sequence": 1,
|
||||
"used": "USED[D0]",
|
||||
"v_early": "V_EARLY[D0]",
|
||||
"v_late": "V_LATE[D0]",
|
||||
"v_mid0": "V_MID0[D0]",
|
||||
"v_mid1": "V_MID1[D0]",
|
||||
"v_mid2": "V_MID2[D0]",
|
||||
"v_mid3": "V_MID3[D0]",
|
||||
"cycle": "CYCLE[D0]",
|
||||
"t_early": "T_EARLY[D0]",
|
||||
"t_late": "T_LATE[D0]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"5b>0;1b>v_late;1b>v_early;1b>used;",
|
||||
"4b>0;1b>v_mid3;1b>v_mid2;1b>v_mid1;1b>v_mid0;",
|
||||
"2B>cycle;4B>t_early;4B>t_late;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_D0_para2": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_D0",
|
||||
"para_sequence": 2,
|
||||
"t_mid0": "T_MID0[D0]",
|
||||
"t_mid1": "T_MID1[D0]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid0;4B>t_mid1;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_D0_para3": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_D0",
|
||||
"para_sequence": 3,
|
||||
"t_mid2": "T_MID2[D0]",
|
||||
"t_mid3": "T_MID3[D0]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid2;4B>t_mid3;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_D0_para4": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_D0",
|
||||
"para_sequence": 4,
|
||||
"d0_as_5v_en": "OUTPUT_5V[D0]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"1B>d0_as_5v_en;"
|
||||
]
|
||||
},
|
||||
|
||||
"trig_timer_mode_set_D1": [
|
||||
"trig_timer_mode_set_D1_para1",
|
||||
"trig_timer_mode_set_D1_para2",
|
||||
"trig_timer_mode_set_D1_para3",
|
||||
"trig_timer_mode_set_D1_para4"
|
||||
],
|
||||
"trig_timer_mode_set_D1_para1": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_D1",
|
||||
"para_sequence": 1,
|
||||
"used": "USED[D1]",
|
||||
"v_early": "V_EARLY[D1]",
|
||||
"v_late": "V_LATE[D1]",
|
||||
"v_mid0": "V_MID0[D1]",
|
||||
"v_mid1": "V_MID1[D1]",
|
||||
"v_mid2": "V_MID2[D1]",
|
||||
"v_mid3": "V_MID3[D1]",
|
||||
"cycle": "CYCLE[D1]",
|
||||
"t_early": "T_EARLY[D1]",
|
||||
"t_late": "T_LATE[D1]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"5b>0;1b>v_late;1b>v_early;1b>used;",
|
||||
"4b>0;1b>v_mid3;1b>v_mid2;1b>v_mid1;1b>v_mid0;",
|
||||
"2B>cycle;4B>t_early;4B>t_late;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_D1_para2": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_D1",
|
||||
"para_sequence": 2,
|
||||
"t_mid0": "T_MID0[D1]",
|
||||
"t_mid1": "T_MID1[D1]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid0;4B>t_mid1;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_D1_para3": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_D1",
|
||||
"para_sequence": 3,
|
||||
"t_mid2": "T_MID2[D1]",
|
||||
"t_mid3": "T_MID3[D1]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid2;4B>t_mid3;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_D1_para4": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_D1",
|
||||
"para_sequence": 4,
|
||||
"d0_as_5v_en": "OUTPUT_5V[D1]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"1B>d0_as_5v_en;"
|
||||
]
|
||||
},
|
||||
|
||||
"trig_timer_mode_set_A0": [
|
||||
"trig_timer_mode_set_A0_para1",
|
||||
"trig_timer_mode_set_A0_para2",
|
||||
"trig_timer_mode_set_A0_para3",
|
||||
"trig_timer_mode_set_A0_para4"
|
||||
],
|
||||
"trig_timer_mode_set_A0_para1": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A0",
|
||||
"para_sequence": 1,
|
||||
"used": "USED[A0]",
|
||||
"v_early": "V_EARLY[A0]",
|
||||
"v_late": "V_LATE[A0]",
|
||||
"v_mid0": "V_MID0[A0]",
|
||||
"v_mid1": "V_MID1[A0]",
|
||||
"v_mid2": "V_MID2[A0]",
|
||||
"v_mid3": "V_MID3[A0]",
|
||||
"cycle": "CYCLE[A0]",
|
||||
"t_early": "T_EARLY[A0]",
|
||||
"t_late": "T_LATE[A0]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"5b>0;1b>v_late;1b>v_early;1b>used;",
|
||||
"4b>0;1b>v_mid3;1b>v_mid2;1b>v_mid1;1b>v_mid0;",
|
||||
"2B>cycle;4B>t_early;4B>t_late;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_A0_para2": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A0",
|
||||
"para_sequence": 2,
|
||||
"t_mid0": "T_MID0[A0]",
|
||||
"t_mid1": "T_MID1[A0]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid0;4B>t_mid1;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_A0_para3": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A0",
|
||||
"para_sequence": 3,
|
||||
"t_mid2": "T_MID2[A0]",
|
||||
"t_mid3": "T_MID3[A0]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid2;4B>t_mid3;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_A0_para4": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A0",
|
||||
"para_sequence": 4,
|
||||
"current": "CURRENT[A0]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"2B>current;"
|
||||
]
|
||||
},
|
||||
|
||||
"trig_timer_mode_set_A1": [
|
||||
"trig_timer_mode_set_A1_para1",
|
||||
"trig_timer_mode_set_A1_para2",
|
||||
"trig_timer_mode_set_A1_para3",
|
||||
"trig_timer_mode_set_A1_para4"
|
||||
],
|
||||
"trig_timer_mode_set_A1_para1": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A1",
|
||||
"para_sequence": 1,
|
||||
"used": "USED[A1]",
|
||||
"v_early": "V_EARLY[A1]",
|
||||
"v_late": "V_LATE[A1]",
|
||||
"v_mid0": "V_MID0[A1]",
|
||||
"v_mid1": "V_MID1[A1]",
|
||||
"v_mid2": "V_MID2[A1]",
|
||||
"v_mid3": "V_MID3[A1]",
|
||||
"cycle": "CYCLE[A1]",
|
||||
"t_early": "T_EARLY[A1]",
|
||||
"t_late": "T_LATE[A1]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"5b>0;1b>v_late;1b>v_early;1b>used;",
|
||||
"4b>0;1b>v_mid3;1b>v_mid2;1b>v_mid1;1b>v_mid0;",
|
||||
"2B>cycle;4B>t_early;4B>t_late;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_A1_para2": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A1",
|
||||
"para_sequence": 2,
|
||||
"t_mid0": "T_MID0[A1]",
|
||||
"t_mid1": "T_MID1[A1]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid0;4B>t_mid1;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_A1_para3": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A1",
|
||||
"para_sequence": 3,
|
||||
"t_mid2": "T_MID2[A1]",
|
||||
"t_mid3": "T_MID3[A1]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid2;4B>t_mid3;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_A1_para4": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A1",
|
||||
"para_sequence": 4,
|
||||
"current": "CURRENT[A1]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"2B>current;"
|
||||
]
|
||||
},
|
||||
|
||||
"trig_timer_mode_set_A2": [
|
||||
"trig_timer_mode_set_A2_para1",
|
||||
"trig_timer_mode_set_A2_para2",
|
||||
"trig_timer_mode_set_A2_para3",
|
||||
"trig_timer_mode_set_A2_para4"
|
||||
],
|
||||
"trig_timer_mode_set_A2_para1": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A2",
|
||||
"para_sequence": 1,
|
||||
"used": "USED[A2]",
|
||||
"v_early": "V_EARLY[A2]",
|
||||
"v_late": "V_LATE[A2]",
|
||||
"v_mid0": "V_MID0[A2]",
|
||||
"v_mid1": "V_MID1[A2]",
|
||||
"v_mid2": "V_MID2[A2]",
|
||||
"v_mid3": "V_MID3[A2]",
|
||||
"cycle": "CYCLE[A2]",
|
||||
"t_early": "T_EARLY[A2]",
|
||||
"t_late": "T_LATE[A2]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"5b>0;1b>v_late;1b>v_early;1b>used;",
|
||||
"4b>0;1b>v_mid3;1b>v_mid2;1b>v_mid1;1b>v_mid0;",
|
||||
"2B>cycle;4B>t_early;4B>t_late;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_A2_para2": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A2",
|
||||
"para_sequence": 2,
|
||||
"t_mid0": "T_MID0[A2]",
|
||||
"t_mid1": "T_MID1[A2]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid0;4B>t_mid1;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_A2_para3": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A2",
|
||||
"para_sequence": 3,
|
||||
"t_mid2": "T_MID2[A2]",
|
||||
"t_mid3": "T_MID3[A2]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid2;4B>t_mid3;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_A2_para4": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A2",
|
||||
"para_sequence": 4,
|
||||
"current": "CURRENT[A2]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"2B>current;"
|
||||
]
|
||||
},
|
||||
|
||||
"trig_timer_mode_set_A3": [
|
||||
"trig_timer_mode_set_A3_para1",
|
||||
"trig_timer_mode_set_A3_para2",
|
||||
"trig_timer_mode_set_A3_para3",
|
||||
"trig_timer_mode_set_A3_para4"
|
||||
],
|
||||
"trig_timer_mode_set_A3_para1": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A3",
|
||||
"para_sequence": 1,
|
||||
"used": "USED[A3]",
|
||||
"v_early": "V_EARLY[A3]",
|
||||
"v_late": "V_LATE[A3]",
|
||||
"v_mid0": "V_MID0[A3]",
|
||||
"v_mid1": "V_MID1[A3]",
|
||||
"v_mid2": "V_MID2[A3]",
|
||||
"v_mid3": "V_MID3[A3]",
|
||||
"cycle": "CYCLE[A3]",
|
||||
"t_early": "T_EARLY[A3]",
|
||||
"t_late": "T_LATE[A3]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"5b>0;1b>v_late;1b>v_early;1b>used;",
|
||||
"4b>0;1b>v_mid3;1b>v_mid2;1b>v_mid1;1b>v_mid0;",
|
||||
"2B>cycle;4B>t_early;4B>t_late;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_A3_para2": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A3",
|
||||
"para_sequence": 2,
|
||||
"t_mid0": "T_MID0[A3]",
|
||||
"t_mid1": "T_MID1[A3]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid0;4B>t_mid1;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_A3_para3": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A3",
|
||||
"para_sequence": 3,
|
||||
"t_mid2": "T_MID2[A3]",
|
||||
"t_mid3": "T_MID3[A3]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"4B>t_mid2;4B>t_mid3;"
|
||||
]
|
||||
},
|
||||
"trig_timer_mode_set_A3_para4": {
|
||||
"type": "RIS",
|
||||
"parameter": {
|
||||
"mode": "MODE_ALL_OUTPUT",
|
||||
"elite_ch": "ELITE_CH_A3",
|
||||
"para_sequence": 4,
|
||||
"current": "CURRENT[A3]"
|
||||
},
|
||||
"data": [
|
||||
"1B>mode;",
|
||||
"1B>elite_ch;",
|
||||
"1B>para_sequence;",
|
||||
"2B>current;"
|
||||
]
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user