Files
controller-wisetopdataserver/python/res/devlib/json/elite.devlib.json
T
2021-12-20 14:52:55 +08:00

221 lines
4.4 KiB
JSON

{
"name": "Elite",
"version": "0.1",
"match_rule": {
"local_name_pattern": "Elite.*",
"major_product_number": 0,
"minor_product_number": 1,
"major_version_number": 0,
"minor_version_number": 1
},
"constant": {
"REC_CHANNEL_COUNT": 16,
"STI_CHANNEL_COUNT": 15,
"ADC_SAMPLE_RATE_LIST": [
15,
25,
40,
50,
100,
250,
500,
1000,
2500,
4000,
5000
],
"STI_FREQ_LIST": [
15,
25,
40,
50,
100,
250,
500,
1000,
2500,
4000,
5000
]
},
"parameters": {
"MODE": {
"description": "working mode",
"value": [
"Recording Mode",
"Stimulation Mode",
"Artifact Mode"
]
},
"CHANNEL": {
"description": "record channels",
"record_meta": true,
"domain": {
"set": [
"REC_CHANNEL_COUNT"
]
}
},
"SAMPLE_RATE": {
"alias": "ADC_RATE",
"description": "sampling rate",
"record_meta": true,
"domain": [
"len(ADC_SAMPLE_RATE_LIST)"
],
"value": "ADC_SAMPLE_RATE_LIST[VALUE]"
},
"AMP_GAIN": {
"description": "",
"record_meta": true,
"value": [
400,
1000,
2000
]
},
"LOW_FREQ_BAND": {
"description": "",
"record_meta": true,
"domain": [
7
]
},
"STI_MODE": {
"description": "stimulation mode",
"value": [
"Positive Pulse",
"Negative Pulse",
"Pos to Neg Pulse",
"Neg to Pos Pulse",
"Arbitrary Waveform"
]
},
"STI_VOLT": {
"description": "stimulation voltage",
"domain": [
32
],
"value": "2 + 3 * VALUE / 31"
},
"STI_FREQ": {
"description": "stimulation frequency",
"domain": [
"len(STI_FREQ_LIST)"
],
"value": "STI_FREQ_LIST[VALUE]"
},
"STI_PMOS": {
"description": "stimulation PMOS channel",
"initial": 0,
"domain": [
"STI_CHANNEL_COUNT"
],
"guard": "STI_PMOS != STI_NMOS"
},
"STI_NMOS": {
"description": "stimulation NMOS channel",
"initial": "STI_CHANNEL_COUNT - 1",
"domain": [
"STI_CHANNEL_COUNT"
],
"guard": "STI_PMOS != STI_NMOS"
},
"CHOPPER": {
"description": "",
"domain": "bool"
},
"FAST_SETTLE": {
"description": "",
"domain": "bool"
}
},
"instruction": {
"start": [
{
"expression": "MODE",
"when": {
"0": "start_recording",
"1": "start_stimulation",
"2": "start_artifact"
}
},
"VIS_STI"
],
"start_recording": [
{
"expression": "len(CHANNEL) > 0",
"raise": "no recording channel"
},
"data_format",
"_notify(True)",
"start_recording0",
"_sync(True)"
],
"start_artifact": [
{
"expression": "len(CHANNEL) > 0",
"raise": "no recording channel"
},
"data_format",
"_notify(True)",
"start_artifact0",
"_sync(True)"
],
"data_format": [
"_data_format('TDC4VAF2')"
],
"start_recording0": {
"type": "RIS",
"foreach-parameter": {
"parameter": "CHANNEL",
"variable": [
"a",
"b",
"c",
"d"
]
},
"data": [
"3b110#recording header;2b<AMP_GAIN;3b<LOW_FREQ_BAND",
"4b>SAMPLE_RATE;1ba?;1bb?;1bc?;1bd?",
"4b<a?:0;4b<b?:0",
"4b<c?:0;4b<d?:0"
]
},
"start_artifact0": {
"type": "RIS",
"foreach-parameter": {
"parameter": "CHANNEL",
"variable": [
"a",
"b",
"c",
"d"
]
},
"data": [
"3b100#artifact mode header;2b0;3b001",
"4b>SAMPLE_RATE;1ba?;1bb?;1bc?;1bd?",
"4b<a?:0;4b<b?:0",
"4b<c?:0;4b<d?:0"
]
},
"start_stimulation": [
"start_stimulation0"
],
"start_stimulation0": {
"type": "RIS",
"guard": {
"expression": "STI_PMOS != STI_NMOS",
"raise": "same N/PMos channel"
},
"data": [
"3b111#stimulation header;2b0;3bSTI_MODE",
"4b>STI_FREQ;1bCHOPPER;1bFAST_SETTLE;2b0",
"4b<STI_PMOS;4b<STI_NMOS",
"5b<STI_VOLT;3b0"
]
}
}
}