Compare commits
No commits in common. "master" and "l3fixes" have entirely different histories.
112 changed files with 8902 additions and 32097 deletions
62
.gitignore
vendored
62
.gitignore
vendored
|
|
@ -1,8 +1,68 @@
|
|||
*~
|
||||
.idea/
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
*.so
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
*.manifest
|
||||
*.spec
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
htmlcov/
|
||||
.tox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*.cover
|
||||
.hypothesis/
|
||||
.pytest_cache/
|
||||
*.mo
|
||||
*.pot
|
||||
*.log
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
instance/
|
||||
.webassets-cache
|
||||
.scrapy
|
||||
docs/_build/
|
||||
doc-html/
|
||||
target/
|
||||
.ipynb_checkpoints
|
||||
.python-version
|
||||
celerybeat-schedule
|
||||
*.sage.py
|
||||
.env
|
||||
.venv
|
||||
env/
|
||||
venv/
|
||||
ENV/
|
||||
env.bak/
|
||||
venv.bak/
|
||||
.spyderproject
|
||||
.spyproject
|
||||
.ropeproject
|
||||
/site
|
||||
.mypy_cache/
|
||||
pylint_exit.py
|
||||
pylint.txt
|
||||
*~
|
||||
*.pdf
|
||||
*.aux
|
||||
|
|
|
|||
|
|
@ -70,9 +70,7 @@ class config_table(index_table):
|
|||
|
||||
if base_config is None:
|
||||
base_config = self.CONFIG(unit=unit, model=model,
|
||||
temperature=temperatures[0], env=environments[0],
|
||||
version=version, scratch=scratch,
|
||||
**kwargs)
|
||||
temperature=temperatures[0], env=environments[0], version=version, **kwargs)
|
||||
|
||||
self.initialize(unit, model, base_config, scratch, version,
|
||||
enc_base, pha_base, misc_page, dump_page)
|
||||
|
|
@ -113,9 +111,9 @@ class config_table(index_table):
|
|||
self.set_id("%s %s" % (self.unit, self.model.upper()) )
|
||||
|
||||
def assemble(self, start_modulus=60, **kwargs):
|
||||
sys.stderr.write("Creating HK configuration @ index 1\n")
|
||||
sys.stdout.write("Creating HK configuration @ index 1\n")
|
||||
self[1] = self.hk(start_modulus=start_modulus)
|
||||
sys.stderr.write("Creating Nominal configuration @ index 2\n")
|
||||
sys.stdout.write("Creating Nominal configuration @ index 2\n")
|
||||
self[2] = self.mode_to_nom = self.cfg_to_idx(self.nominal, start_modulus=start_modulus,
|
||||
abort=1, fill=True, pad=True, set_index=True, start_seq=True,
|
||||
write_scratch=True, send_scratch=False, partial=False)
|
||||
|
|
@ -147,22 +145,17 @@ class config_table(index_table):
|
|||
bin(i&3), e))
|
||||
return {e: cfg.diff(*self.env_configs.values()) for e,cfg in self.env_configs.items()}
|
||||
|
||||
def make_temp_config(self, index=None, scratch=None):
|
||||
def make_temp_config(self):
|
||||
for t in sorted(self.temp_diffs.keys()):
|
||||
if not index:
|
||||
idx = self.empty()[0]
|
||||
else:
|
||||
idx = index
|
||||
index = index+1
|
||||
sys.stderr.write("Creating differential Temperature = %g°C configuration @ index %d\n" % (t, idx))
|
||||
self[idx] = self.cfg_to_idx(self.temp_diffs[t], partial=True,
|
||||
scratch=scratch, write_scratch=True, send_scratch=True)
|
||||
self.temperatures[t] = idx
|
||||
index = self.empty()[0]
|
||||
sys.stdout.write("Creating differential Temperature = %g°C configuration @ index %d\n" % (t, index))
|
||||
self[index] = self.cfg_to_idx(self.temp_diffs[t], partial=True, write_scratch=True, send_scratch=True)
|
||||
self.temperatures[t] = index
|
||||
|
||||
def make_env_config(self):
|
||||
for e in sorted(self.env_diffs.keys()):
|
||||
index = self.empty()[0]
|
||||
sys.stderr.write("Creating differential Env = %s configuration @ index %d\n" % (e, index))
|
||||
sys.stdout.write("Creating differential Env = %s configuration @ index %d\n" % (e, index))
|
||||
self[index] = self.cfg_to_idx(self.env_diffs[e], partial=True, restart=True)
|
||||
self.environments[e] = index
|
||||
|
||||
|
|
@ -170,7 +163,6 @@ class config_table(index_table):
|
|||
pass
|
||||
|
||||
def make_scratch(self, temp=None, env=None, scratch=None):
|
||||
sys.stderr.write("make_scratch(temp=%s, env=%s, scratch=%s)\n" % (repr(temp), repr(env), repr(scratch)))
|
||||
if temp is None:
|
||||
temp = self.nominal.temperature
|
||||
if scratch is None:
|
||||
|
|
@ -188,9 +180,8 @@ class config_table(index_table):
|
|||
def start_seq(self, ppss=None, start_modulus=60):
|
||||
return []
|
||||
|
||||
def cfg_to_idx(self, cfg, start_modulus=60, abort=1, fill=False, pad=False,
|
||||
scratch=None, write_scratch=False, send_scratch=False,
|
||||
set_index=False, start_seq=False, partial=False, restart=False):
|
||||
def cfg_to_idx(self, cfg, start_modulus=60, abort=1, fill=False, pad=False, write_scratch=False,
|
||||
set_index=False, start_seq=False, send_scratch=False, partial=False, restart=False):
|
||||
|
||||
m = message_block()
|
||||
if start_seq:
|
||||
|
|
@ -212,7 +203,7 @@ class config_table(index_table):
|
|||
if pad:
|
||||
solo_msg.l3_pad()
|
||||
|
||||
sys.stderr.write(str(cfg))
|
||||
print(cfg)
|
||||
|
||||
if set_index:
|
||||
if hasattr(cfg.ppss, "ana"): # hetept only
|
||||
|
|
@ -223,9 +214,7 @@ class config_table(index_table):
|
|||
m += set_index_reg(dump_page = self.dump_page)
|
||||
|
||||
if write_scratch:
|
||||
if scratch is None:
|
||||
scratch = cfg.scratch
|
||||
m += self.make_scratch(temp=cfg.temperature, scratch=scratch)
|
||||
m += self.make_scratch(temp=cfg.temperature)
|
||||
|
||||
if send_scratch: # send scratch register immediately in LL_CONSOLE
|
||||
read_reg(scratch=True, modulus=True, heater=True, tag=0x3c) (self.ppss.arm_insertion_slot(m.msg, flag="SPARE_HK"))
|
||||
|
|
@ -246,21 +235,15 @@ class config_table(index_table):
|
|||
|
||||
return mm
|
||||
|
||||
def write_defs(self, f=sys.stdout, configs=None):
|
||||
def write_defs(self, f=sys.stdout):
|
||||
close_file = False
|
||||
if isinstance(f, str):
|
||||
with open(f, 'w') as ff:
|
||||
self.write_defs(ff, dps)
|
||||
return
|
||||
if configs is None:
|
||||
configs = self.env_configs
|
||||
for e, c in self.env_configs.items():
|
||||
dps_tag = (c.scratch>>8) & 0xff if c.scratch else 0
|
||||
c.dps.write_defs(f, header="\n".join([
|
||||
"# %s" % self.description.decode('utf8'),
|
||||
"# env = %s" % e,
|
||||
"# version/dps: %u/%u\n" % (self.version, dps_tag),
|
||||
"\n"
|
||||
]))
|
||||
f = open(f, 'w')
|
||||
close_file = True
|
||||
for e,c in self.env_configs.items():
|
||||
c.dps.write_defs(f, header="# %s# env = %s:\n\n" % (self.description.decode('utf8'),e))
|
||||
if close_file:
|
||||
f.close()
|
||||
|
||||
def hk(self, start_modulus=60, abort=1):
|
||||
hk = message_block()
|
||||
|
|
@ -293,7 +276,7 @@ class config_table(index_table):
|
|||
msg = self.connect(msg)
|
||||
self[2](msg)
|
||||
|
||||
def do_temp(self, temperature, msg=None, force=False, scratch=None, **kwargs):
|
||||
def do_temp(self, temperature, msg=None, force=False, **kwargs):
|
||||
try:
|
||||
cfg = self[self.temperatures[temperature]]
|
||||
except KeyError as err:
|
||||
|
|
@ -302,8 +285,7 @@ class config_table(index_table):
|
|||
temperature))
|
||||
t = [self.nominal.temperature, temperature] + self.temperatures.keys()
|
||||
temp_diffs = make_temp_diffs(t, **kwargs)
|
||||
cfg = self.cfg_to_idx(temp_diffs[temperature], partial=True,
|
||||
scratch=scratch, write_scratch=True, send_scratch=True)
|
||||
cfg = self.cfg_to_idx(temp_diffs[temperature], partial=True, write_scratch=True)
|
||||
msg = self.connect(msg)
|
||||
cfg(msg)
|
||||
|
||||
|
|
@ -319,24 +301,6 @@ class config_table(index_table):
|
|||
insert=self.ppss.arm_insertion_slot(msg, flag="EEPROM_UPLOAD")
|
||||
self.write_eeprom(msg, pad=True, insert=insert)
|
||||
|
||||
def main(self, name=None, oldtable=None):
|
||||
if name is None:
|
||||
name = "%s_config_%s_v%04d" % (
|
||||
self.unit.lower().replace("/",""),
|
||||
self.model.lower(),
|
||||
self.version )
|
||||
|
||||
self.write_defs(name+".defs")
|
||||
with open(name+".txt", "w") as f:
|
||||
f.write("\n".join(self.dumptable())+"\n")
|
||||
self.ppss.packet_table(name+".packets")
|
||||
|
||||
if oldtable:
|
||||
patch, idx= self.upload_index_patch(oldtable)
|
||||
with open(name+"_eeprom_patch.hex", "w") as f:
|
||||
f.write(patch.hexdump())
|
||||
with open(name+"_eeprom_patch.xml", "w") as f:
|
||||
f.write(patch.xml())
|
||||
|
||||
def get_bitmasks(ADCvalues):
|
||||
# figure out the widest possible bitmask for each ADC value given a list of them
|
||||
|
|
@ -387,7 +351,18 @@ def make_old_table(table):
|
|||
unit, table.magic.version-1, unit.strip("12"), table.model.upper())
|
||||
return read_txt_table(oldtxt)
|
||||
except Exception as e:
|
||||
sys.stderr.write(repr(e)+'\n')
|
||||
print(e)
|
||||
|
||||
def main(table, *a, **aa):
|
||||
table.main(*a, **aa)
|
||||
def main(table, name="unit_config", oldtable=None):
|
||||
import json
|
||||
|
||||
table.write_defs(name+".defs")
|
||||
with open(name+".txt", "w") as f:
|
||||
f.write("\n".join(table.dumptable())+"\n")
|
||||
table.ppss.packet_table(name+".packets")
|
||||
if oldtable:
|
||||
patch,idx=table.upload_index_patch(oldtable)
|
||||
with open(name+"_eeprom_patch.hex", "w") as f:
|
||||
f.write(patch.hexdump())
|
||||
with open(name+"_eeprom_patch.xml", "w") as f:
|
||||
f.write(patch.xml())
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class appdata(tcobject):
|
|||
subtype = 0
|
||||
size = 0
|
||||
comment = ""
|
||||
delta = 3
|
||||
delta = 1
|
||||
|
||||
def bin(self):
|
||||
return b""
|
||||
|
|
|
|||
|
|
@ -765,12 +765,12 @@ class index_table(message_index):
|
|||
try:
|
||||
addr_range = self.consistent(list(indices))
|
||||
except ValueError as e:
|
||||
sys.stderr.write("Warning: %s\n" % e)
|
||||
sys.stdout.write("Warning: %s\n" % e)
|
||||
addr_range = []
|
||||
for other in used:
|
||||
for ad in addr_range:
|
||||
if ad in used[other]:
|
||||
sys.stderr.write("Warning: %s configs are not orthogonal to %s configs @ msg(0x%04x,sz,da)\n" % (key, other, ad))
|
||||
sys.stdout.write("Warning: %s configs are not orthogonal to %s configs @ msg(0x%04x,sz,da)\n" % (key, other, ad))
|
||||
used[key] = addr_range
|
||||
|
||||
def reset(self):
|
||||
|
|
|
|||
|
|
@ -1,29 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
"""
|
||||
This script generates XML telecommands for:
|
||||
- updating the unit configuration of HET/EPT1&2 to version v0009 in the ICU RAM
|
||||
- updating the unit configuration of HET/EPT1&2 to version v0009 in the EEPROMs
|
||||
- sending index tables for switching between CLOSE/FAR mode
|
||||
- sending index tables for changing the temperature configuration
|
||||
|
||||
To reproduce to original set of commands, the git repository should be at the state tagged with 'hetept-v0009':
|
||||
git checkout hetept-v0009
|
||||
"""
|
||||
|
||||
|
||||
def main(cf_dir='./solo/configurations/', op_dir='./xml_tcs_hetept_v0010/'):
|
||||
from solo.hetept.config_update import write_xml_cf_to_icu, write_xml_cf_to_eeprom, write_xml_table_index_execution
|
||||
fm1_txt = cf_dir + 'hetept1/v0010/hetept_config_fm1.txt'
|
||||
fm2_txt = cf_dir+ 'hetept2/v0010/hetept_config_fm2.txt'
|
||||
write_xml_cf_to_icu(fm1_txt, op_dir, 0x20000, eeprom_page=0x0)
|
||||
write_xml_cf_to_icu(fm2_txt, op_dir, 0x40000, eeprom_page=0x0)
|
||||
write_xml_cf_to_eeprom(fm1_txt, op_dir, eeprom_page=0x0, pointer_reset=0x30000+0x80)
|
||||
write_xml_cf_to_eeprom(fm2_txt, op_dir, eeprom_page=0x0, pointer_reset=0x50000+0x80)
|
||||
write_xml_table_index_execution(op_dir)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys, os
|
||||
sys.path[1:1] = [os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", ".."))]
|
||||
main(cf_dir='../')
|
||||
|
||||
|
|
@ -11,5 +11,5 @@ if __name__ == "__main__":
|
|||
|
||||
print('writing commands to xml file')
|
||||
telcom.write_xml('step_v0007.xml',tup)
|
||||
telcom.write_xml('step_v0007_execute.xml',[telcom.send_table_index('STEP',2)])
|
||||
telcom.write_xml('step_v0007_execute.xml',[telcom.send_table_index('STEP',2),telcom.send_table_index('STEP',6)])
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
#!/usr/bin/ipython3
|
||||
|
||||
from solo.step.config.fs import table as table
|
||||
table.icumem_upload()
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="Switch HE1 to calibration for -6.0 deg C" delta="00:00:03">
|
||||
<parameter name="SensorID" id="PID00083">2</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">1</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">10</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="Switch HE1 to calibration for -0.8 deg C" delta="00:00:03">
|
||||
<parameter name="SensorID" id="PID00083">2</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">1</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">11</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="Switch HE1 to nominal mode" delta="00:00:03">
|
||||
<parameter name="SensorID" id="PID00083">2</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">1</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">2</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="Switch HE1 to close mode" delta="00:00:03">
|
||||
<parameter name="SensorID" id="PID00083">2</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">1</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">4</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="Switch HE1 to far mode" delta="00:00:03">
|
||||
<parameter name="SensorID" id="PID00083">2</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">1</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">8</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="Switch HE1 to calibration for -11.6 deg C" delta="00:00:03">
|
||||
<parameter name="SensorID" id="PID00083">2</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">1</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">9</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="Switch HE2 to calibration for -0.8 deg C" delta="00:00:03">
|
||||
<parameter name="SensorID" id="PID00083">3</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">2</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">10</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="Switch HE2 to calibration for +4.4 deg C" delta="00:00:03">
|
||||
<parameter name="SensorID" id="PID00083">3</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">2</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">11</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="Switch HE2 to nominal mode" delta="00:00:03">
|
||||
<parameter name="SensorID" id="PID00083">3</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">2</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">2</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="Switch HE2 to close mode" delta="00:00:03">
|
||||
<parameter name="SensorID" id="PID00083">3</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">2</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">4</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="Switch HE2 to far mode" delta="00:00:03">
|
||||
<parameter name="SensorID" id="PID00083">3</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">2</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">8</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="Switch HE2 to calibration for -6.0 deg C" delta="00:00:03">
|
||||
<parameter name="SensorID" id="PID00083">3</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">2</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">9</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,23 +0,0 @@
|
|||
msg(0x000f, 3, 0x0000093500090002)
|
||||
msg(0x2662, 3, 0x00004a000000d22c)
|
||||
msg(0x2663, 3, 0x003003f20010002d)
|
||||
msg(0x2664, 3, 0x00004e010000d22c)
|
||||
msg(0x2665, 3, 0x003003f200100019)
|
||||
msg(0x2666, 3, 0x000052000000d230)
|
||||
msg(0x2667, 3, 0x003003f10010002e)
|
||||
msg(0x266a, 3, 0x000056010000d230)
|
||||
msg(0x266b, 3, 0x003003f100100019)
|
||||
msg(0x266c, 3, 0x00005a000000d234)
|
||||
msg(0x266d, 3, 0x000c03e80004002d)
|
||||
msg(0x266e, 3, 0x00005e010000d234)
|
||||
msg(0x266f, 3, 0x000c03e800040019)
|
||||
msg(0x2670, 3, 0x000062000000d238)
|
||||
msg(0x2671, 3, 0x000c04020004002d)
|
||||
msg(0x2672, 3, 0x000066010000d238)
|
||||
msg(0x2673, 3, 0x000c040200040019)
|
||||
msg(0x2674, 3, 0x00006a010000d23c)
|
||||
msg(0x2675, 3, 0x3c00000000000001)
|
||||
msg(0x2676, 3, 0x00006e010000d240)
|
||||
msg(0x2677, 3, 0x03c0000000000004)
|
||||
msg(0x2697, 1, 0x00000000000000ff)
|
||||
msg(0x2696, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">c00f0000093500090002e66200004a000000d22ce663003003f20010002de66400004e010000d22ce665003003f200100019e666000052000000d230e667003003f10010002ee66a000056010000d230e66b003003f100100019e66c00005a000000d234e66d000c03e80004002de66e00005e010000d234e66f000c03e800040019e670000062000000d238e671000c04020004002de672000066010000d238e673000c040200040019e67400006a010000d23ce6753c00000000000001e67600006e010000d240</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">3</parameter>
|
||||
<parameter name="Messages" id="PID00075">e67703c0000000000004669700ffe6960003e8010000413c</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
msg(0x2694, 3, 0x00012c0100000000)
|
||||
msg(0x2695, 0, 0x0000000000000000)
|
||||
msg(0x0000, 2, 0x0000000002000000)
|
||||
msg(0x000f, 3, 0x0000093500090003)
|
||||
msg(0x2405, 3, 0x0350000009020000)
|
||||
msg(0x2406, 3, 0x890400000100000c)
|
||||
msg(0x2407, 3, 0x1c009e0dd90d6a07)
|
||||
msg(0x2408, 3, 0x99006007840060fe)
|
||||
msg(0x2409, 3, 0x440060fc9b000112)
|
||||
msg(0x240a, 3, 0xc3700000c0c03d00)
|
||||
msg(0x240b, 3, 0x06f7cbff01000016)
|
||||
msg(0x240c, 3, 0x06f7fdfd01000018)
|
||||
msg(0x240d, 3, 0x11190017e0000019)
|
||||
msg(0x240e, 3, 0x091600000100001c)
|
||||
msg(0x240f, 3, 0x091800000100001e)
|
||||
msg(0x2410, 3, 0x111f001de000001f)
|
||||
msg(0x2411, 3, 0x1c009e21d9216a07)
|
||||
msg(0x2412, 3, 0x9c009e1bd91b6a07)
|
||||
msg(0x2413, 3, 0xc3700000c0c03d00)
|
||||
msg(0x2414, 3, 0x19096a07dc009e09)
|
||||
msg(0x2415, 3, 0x85ff6007a040002a)
|
||||
msg(0x2416, 3, 0x6001002b8c00002c)
|
||||
msg(0x2417, 3, 0x80c03d00040060fc)
|
||||
msg(0x2418, 3, 0x440060fe1b000130)
|
||||
msg(0x2419, 3, 0x89050003a0004032)
|
||||
msg(0x241a, 3, 0x857f0033a0c00034)
|
||||
msg(0x241b, 3, 0x8804000281000036)
|
||||
msg(0x241c, 3, 0x9900ef37857fef37)
|
||||
msg(0x241d, 3, 0x8c35193903d00000)
|
||||
msg(0x241e, 3, 0x03b0000020000000)
|
||||
msg(0x241f, 3, 0x60000100a0000200)
|
||||
msg(0x2420, 3, 0x06f7f5f801000040)
|
||||
msg(0x2421, 3, 0x06f7cffa01000042)
|
||||
msg(0x2422, 3, 0x11430041e0000043)
|
||||
msg(0x2423, 3, 0x20000041a0000043)
|
||||
msg(0x2424, 3, 0x0350000009400000)
|
||||
msg(0x2425, 3, 0x894200000100004a)
|
||||
msg(0x2426, 3, 0x1c009e4bd94b6a45)
|
||||
msg(0x2427, 3, 0x99006045840060f8)
|
||||
msg(0x2428, 3, 0x440060fa9b000150)
|
||||
msg(0x2429, 3, 0xc3700000c0c07b00)
|
||||
msg(0x242a, 3, 0x06f7e9f901000054)
|
||||
msg(0x242b, 3, 0x06f7ebfb01000056)
|
||||
msg(0x242c, 3, 0x11570055e0000057)
|
||||
msg(0x242d, 3, 0x095400000100005a)
|
||||
msg(0x242e, 3, 0x095600000100005c)
|
||||
msg(0x242f, 3, 0x115d005be000005d)
|
||||
msg(0x2430, 3, 0x1c009e5fd95f6a45)
|
||||
msg(0x2431, 3, 0x9c009e59d9596a45)
|
||||
msg(0x2432, 3, 0xc3700000c0c07b00)
|
||||
msg(0x2433, 3, 0x19476a45dc009e47)
|
||||
msg(0x2434, 3, 0x85ff6045a0430068)
|
||||
msg(0x2435, 3, 0x7fff00698c00006a)
|
||||
msg(0x2436, 3, 0x80c07b00040060fa)
|
||||
msg(0x2437, 3, 0x440060f81b00016e)
|
||||
msg(0x2438, 3, 0x89410043a0004070)
|
||||
msg(0x2439, 3, 0x857f0071a0c08072)
|
||||
msg(0x243a, 3, 0x8842004081000074)
|
||||
msg(0x243b, 3, 0x9900ef75857fef75)
|
||||
msg(0x243c, 3, 0x8c73197703d00000)
|
||||
msg(0x243d, 3, 0x03b0000020000000)
|
||||
msg(0x243e, 3, 0x60000100a0000200)
|
||||
msg(0x243f, 3, 0x087d003f1c00017e)
|
||||
msg(0x2440, 3, 0xe000020014000001)
|
||||
msg(0x2441, 3, 0x8700008000000000)
|
||||
msg(0x2694, 3, 0x00012c0100008000)
|
||||
msg(0x2695, 2, 0x00000000083f0000)
|
||||
msg(0x2697, 1, 0x00000000000000ff)
|
||||
msg(0x2696, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">22</parameter>
|
||||
<parameter name="Messages" id="PID00075">e69400012c01000000002695800002000000c00f0000093500090003e4050350000009020000e406890400000100000ce4071c009e0dd90d6a07e40899006007840060fee409440060fc9b000112e40ac3700000c0c03d00e40b06f7cbff01000016e40c06f7fdfd01000018e40d11190017e0000019e40e091600000100001ce40f091800000100001ee410111f001de000001fe4111c009e21d9216a07e4129c009e1bd91b6a07e413c3700000c0c03d00e41419096a07dc009e09e41585ff6007a040002ae4166001002b8c00002c</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e41780c03d00040060fce418440060fe1b000130e41989050003a0004032e41a857f0033a0c00034e41b8804000281000036e41c9900ef37857fef37e41d8c35193903d00000e41e03b0000020000000e41f60000100a0000200e42006f7f5f801000040e42106f7cffa01000042e42211430041e0000043e42320000041a0000043e4240350000009400000e425894200000100004ae4261c009e4bd94b6a45e42799006045840060f8e428440060fa9b000150e429c3700000c0c07b00e42a06f7e9f901000054</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e42b06f7ebfb01000056e42c11570055e0000057e42d095400000100005ae42e095600000100005ce42f115d005be000005de4301c009e5fd95f6a45e4319c009e59d9596a45e432c3700000c0c07b00e43319476a45dc009e47e43485ff6045a0430068e4357fff00698c00006ae43680c07b00040060fae437440060f81b00016ee43889410043a0004070e439857f0071a0c08072e43a8842004081000074e43b9900ef75857fef75e43c8c73197703d00000e43d03b0000020000000e43e60000100a0000200</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">7</parameter>
|
||||
<parameter name="Messages" id="PID00075">e43f087d003f1c00017ee440e000020014000001e4418700008000000000e69400012c0100008000a695083f0000669700ffe6960003e8010000413c</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
msg(0x000f, 3, 0x0000093500090004)
|
||||
msg(0x268c, 3, 0x0000af1f0000c002)
|
||||
msg(0x268d, 3, 0x007270e00a0c8600)
|
||||
msg(0x2697, 1, 0x00000000000000ff)
|
||||
msg(0x2696, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">5</parameter>
|
||||
<parameter name="Messages" id="PID00075">c00f0000093500090004e68c0000af1f0000c002e68d007270e00a0c8600669700ffe6960003e8010000413c</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,202 +0,0 @@
|
|||
msg(0x2694, 3, 0x00012c0100000000)
|
||||
msg(0x2695, 0, 0x0000000000000000)
|
||||
msg(0x0000, 2, 0x0000000002000000)
|
||||
msg(0x000f, 3, 0x0000093500090005)
|
||||
msg(0x2400, 3, 0x09e000e000800000)
|
||||
msg(0x2401, 3, 0x06f7edfe01000002)
|
||||
msg(0x2402, 3, 0x06f7d3fc01000004)
|
||||
msg(0x2403, 3, 0x11050003e0000005)
|
||||
msg(0x2404, 3, 0x20000003a0000005)
|
||||
msg(0x2405, 3, 0x0350000009020000)
|
||||
msg(0x2406, 3, 0x890400000100000c)
|
||||
msg(0x2407, 3, 0x1c009e0dd90d6a07)
|
||||
msg(0x2408, 3, 0x99006007840060fe)
|
||||
msg(0x2409, 3, 0x440060fc9b000112)
|
||||
msg(0x240a, 3, 0xc3700000c0c03d00)
|
||||
msg(0x240b, 3, 0x06f7cbff01000016)
|
||||
msg(0x240c, 3, 0x06f7fdfd01000018)
|
||||
msg(0x240d, 3, 0x11190017e0000019)
|
||||
msg(0x240e, 3, 0x091600000100001c)
|
||||
msg(0x240f, 3, 0x091800000100001e)
|
||||
msg(0x2410, 3, 0x111f001de000001f)
|
||||
msg(0x2411, 3, 0x1c009e21d9216a07)
|
||||
msg(0x2412, 3, 0x9c009e1bd91b6a07)
|
||||
msg(0x2413, 3, 0xc3700000c0c03d00)
|
||||
msg(0x2414, 3, 0x19096a07dc009e09)
|
||||
msg(0x2415, 3, 0x85ff6007a040002a)
|
||||
msg(0x2416, 3, 0x6001002b8c00002c)
|
||||
msg(0x2417, 3, 0x80c03d00040060fc)
|
||||
msg(0x2418, 3, 0x440060fe1b000130)
|
||||
msg(0x2419, 3, 0x89050003a0004032)
|
||||
msg(0x241a, 3, 0x857f0033a0c00034)
|
||||
msg(0x241b, 3, 0x8804000281000036)
|
||||
msg(0x241c, 3, 0x9900ef37857fef37)
|
||||
msg(0x241d, 3, 0x8c35193903d00000)
|
||||
msg(0x241e, 3, 0x03b0000020000000)
|
||||
msg(0x241f, 3, 0x60000100a0000200)
|
||||
msg(0x2420, 3, 0x06f7f5f801000040)
|
||||
msg(0x2421, 3, 0x06f7cffa01000042)
|
||||
msg(0x2422, 3, 0x11430041e0000043)
|
||||
msg(0x2423, 3, 0x20000041a0000043)
|
||||
msg(0x2424, 3, 0x0350000009400000)
|
||||
msg(0x2425, 3, 0x894200000100004a)
|
||||
msg(0x2426, 3, 0x1c009e4bd94b6a45)
|
||||
msg(0x2427, 3, 0x99006045840060f8)
|
||||
msg(0x2428, 3, 0x440060fa9b000150)
|
||||
msg(0x2429, 3, 0xc3700000c0c07b00)
|
||||
msg(0x242a, 3, 0x06f7e9f901000054)
|
||||
msg(0x242b, 3, 0x06f7ebfb01000056)
|
||||
msg(0x242c, 3, 0x11570055e0000057)
|
||||
msg(0x242d, 3, 0x095400000100005a)
|
||||
msg(0x242e, 3, 0x095600000100005c)
|
||||
msg(0x242f, 3, 0x115d005be000005d)
|
||||
msg(0x2430, 3, 0x1c009e5fd95f6a45)
|
||||
msg(0x2431, 3, 0x9c009e59d9596a45)
|
||||
msg(0x2432, 3, 0xc3700000c0c07b00)
|
||||
msg(0x2433, 3, 0x19476a45dc009e47)
|
||||
msg(0x2434, 3, 0x85ff6045a0430068)
|
||||
msg(0x2435, 3, 0x7fff00698c00006a)
|
||||
msg(0x2436, 3, 0x80c07b00040060fa)
|
||||
msg(0x2437, 3, 0x440060f81b00016e)
|
||||
msg(0x2438, 3, 0x89410043a0004070)
|
||||
msg(0x2439, 3, 0x857f0071a0c08072)
|
||||
msg(0x243a, 3, 0x8842004081000074)
|
||||
msg(0x243b, 3, 0x9900ef75857fef75)
|
||||
msg(0x243c, 3, 0x8c73197703d00000)
|
||||
msg(0x243d, 3, 0x03b0000020000000)
|
||||
msg(0x243e, 3, 0x60000100a0000200)
|
||||
msg(0x243f, 3, 0x087d003f1c00017e)
|
||||
msg(0x2440, 3, 0xe000020014000001)
|
||||
msg(0x2441, 3, 0x8700008000000000)
|
||||
msg(0x2480, 3, 0x09e000e02088b800)
|
||||
msg(0x2481, 3, 0x08000801140200e8)
|
||||
msg(0x2482, 3, 0xe00000ea86eb4f04)
|
||||
msg(0x2483, 3, 0xc6aa7405140200f7)
|
||||
msg(0x2484, 3, 0xe00000eb86eb3308)
|
||||
msg(0x2485, 3, 0xc6aa5109140a0006)
|
||||
msg(0x2486, 3, 0xa000000a0100000c)
|
||||
msg(0x2487, 3, 0xe0000004a0000008)
|
||||
msg(0x2488, 3, 0x03d00000140200e3)
|
||||
msg(0x2489, 3, 0xe00000e286eaf012)
|
||||
msg(0x248a, 3, 0xc6aa2113140200e4)
|
||||
msg(0x248b, 3, 0xe00000e586eb4016)
|
||||
msg(0x248c, 3, 0xc6aa681714180014)
|
||||
msg(0x248d, 3, 0xa00000180100001a)
|
||||
msg(0x248e, 3, 0xe0000012a0000016)
|
||||
msg(0x248f, 3, 0x200000006000011e)
|
||||
msg(0x2490, 3, 0xa000011f06e91be9)
|
||||
msg(0x2491, 3, 0x010000211c22351b)
|
||||
msg(0x2492, 3, 0x9900b522c400600f)
|
||||
msg(0x2493, 3, 0xdc000125c400601d)
|
||||
msg(0x2494, 3, 0xdc00012780c27700)
|
||||
msg(0x2495, 3, 0x081a000c0100002a)
|
||||
msg(0x2496, 3, 0x140200e7e00000e6)
|
||||
msg(0x2497, 3, 0x86de522dc69bb92e)
|
||||
msg(0x2498, 3, 0x140200f4e00000f6)
|
||||
msg(0x2499, 3, 0x86de5231c69bb932)
|
||||
msg(0x249a, 3, 0x082f113301000034)
|
||||
msg(0x249b, 3, 0x22000000142b5535)
|
||||
msg(0x249c, 3, 0xdc00df35c0c23a00)
|
||||
msg(0x249d, 3, 0x1900df3580c27700)
|
||||
msg(0x249e, 3, 0x1900022003d00000)
|
||||
msg(0x249f, 3, 0xd40000202000000c)
|
||||
msg(0x24a0, 3, 0xc6cfdb3f46cfba40)
|
||||
msg(0x24a1, 3, 0x010000410942002b)
|
||||
msg(0x24a2, 3, 0x06cc00420844002b)
|
||||
msg(0x24a3, 3, 0x3ffdb64511000046)
|
||||
msg(0x24a4, 3, 0x80c175003ffee145)
|
||||
msg(0x24a5, 3, 0x11000049c0c27700)
|
||||
msg(0x24a6, 3, 0x059fd32b1900a049)
|
||||
msg(0x24a7, 3, 0xe0000036cc4c004e)
|
||||
msg(0x24a8, 3, 0xc7000f00c0c17f00)
|
||||
msg(0x24a9, 3, 0x1900d949c0c27700)
|
||||
msg(0x24aa, 3, 0x1900ee4980c16200)
|
||||
msg(0x24ab, 3, 0x19000443c0c27700)
|
||||
msg(0x24ac, 3, 0x3ffee74216000058)
|
||||
msg(0x24ad, 3, 0x2000a036a001e036)
|
||||
msg(0x24ae, 3, 0x2000004c9149e000)
|
||||
msg(0x24af, 3, 0xa000015d0c5e005b)
|
||||
msg(0x24b0, 3, 0x07000e0000c17f00)
|
||||
msg(0x24b1, 3, 0x1900044340c16e00)
|
||||
msg(0x24b2, 3, 0x051f004308000164)
|
||||
msg(0x24b3, 3, 0x3ffef449051f0066)
|
||||
msg(0x24b4, 3, 0x2002003608670068)
|
||||
msg(0x24b5, 3, 0x0c65b069c0c27700)
|
||||
msg(0x24b6, 3, 0x07000d0000c17f00)
|
||||
msg(0x24b7, 3, 0x3ffec7429100006e)
|
||||
msg(0x24b8, 3, 0xc0c2770020014036)
|
||||
msg(0x24b9, 3, 0x0c4c007107000d00)
|
||||
msg(0x24ba, 3, 0x00c17f00051f0043)
|
||||
msg(0x24bb, 3, 0x05ff004620040036)
|
||||
msg(0x24bc, 3, 0x087590770c761078)
|
||||
msg(0x24bd, 3, 0x19000443c0c27700)
|
||||
msg(0x24be, 3, 0x19007046c7000c00)
|
||||
msg(0x24bf, 3, 0x87000b000400e0e1)
|
||||
msg(0x24c0, 3, 0x1400007f80000000)
|
||||
msg(0x24c1, 3, 0x00c0020000000000)
|
||||
msg(0x2500, 3, 0x09e000e02088b800)
|
||||
msg(0x2501, 3, 0x08000801140200f2)
|
||||
msg(0x2502, 3, 0xe00000f386eb3104)
|
||||
msg(0x2503, 3, 0xc6aa3405140200f1)
|
||||
msg(0x2504, 3, 0xe00000f086eb8108)
|
||||
msg(0x2505, 3, 0xc6aaa009140a0006)
|
||||
msg(0x2506, 3, 0xa000000a0100000c)
|
||||
msg(0x2507, 3, 0xe0000004a0000008)
|
||||
msg(0x2508, 3, 0x03d00000140200ed)
|
||||
msg(0x2509, 3, 0xe00000ec86eb0412)
|
||||
msg(0x250a, 3, 0xc6aa7913140200ef)
|
||||
msg(0x250b, 3, 0xe00000ee86eb0616)
|
||||
msg(0x250c, 3, 0xc6aa291714180014)
|
||||
msg(0x250d, 3, 0xa00000180100001a)
|
||||
msg(0x250e, 3, 0xe0000012a0000016)
|
||||
msg(0x250f, 3, 0x200000006000011e)
|
||||
msg(0x2510, 3, 0xa000011f06e969f5)
|
||||
msg(0x2511, 3, 0x010000211c22351b)
|
||||
msg(0x2512, 3, 0x9900b522c400600f)
|
||||
msg(0x2513, 3, 0xdc000125c400601d)
|
||||
msg(0x2514, 3, 0xdc00012780c27700)
|
||||
msg(0x2515, 3, 0x081a000c0100002a)
|
||||
msg(0x2516, 3, 0x140200e7e00000e6)
|
||||
msg(0x2517, 3, 0x86de522dc69bb92e)
|
||||
msg(0x2518, 3, 0x140200f4e00000f6)
|
||||
msg(0x2519, 3, 0x86de5231c69bb932)
|
||||
msg(0x251a, 3, 0x082f113301000034)
|
||||
msg(0x251b, 3, 0x23000000142b5535)
|
||||
msg(0x251c, 3, 0xdc00df3580c13a00)
|
||||
msg(0x251d, 3, 0xc400602ddc00013a)
|
||||
msg(0x251e, 3, 0xc4006031dc00013c)
|
||||
msg(0x251f, 3, 0xd41b350d80c27700)
|
||||
msg(0x2520, 3, 0x141a000ce000001a)
|
||||
msg(0x2521, 3, 0x1900022003d00000)
|
||||
msg(0x2522, 3, 0xd400002020000041)
|
||||
msg(0x2523, 3, 0xc6cfdb4146cfba46)
|
||||
msg(0x2524, 3, 0x0100004706bc0048)
|
||||
msg(0x2525, 3, 0x082a31340100004a)
|
||||
msg(0x2526, 3, 0x084b00493ffe414c)
|
||||
msg(0x2527, 3, 0x1100004dc0c27700)
|
||||
msg(0x2528, 3, 0x19009f4dd900ef1b)
|
||||
msg(0x2529, 3, 0xd900ef0dc57faf4b)
|
||||
msg(0x252a, 3, 0xe0140036cc530054)
|
||||
msg(0x252b, 3, 0xc7000a00c0c27300)
|
||||
msg(0x252c, 3, 0x3fff384d11000058)
|
||||
msg(0x252d, 3, 0xc0c2770019002158)
|
||||
msg(0x252e, 3, 0xc57ff84be0148036)
|
||||
msg(0x252f, 3, 0xcc5c005dc7000900)
|
||||
msg(0x2530, 3, 0xc0c273000948004b)
|
||||
msg(0x2531, 3, 0x2000206108000262)
|
||||
msg(0x2532, 3, 0x051f006319006b58)
|
||||
msg(0x2533, 3, 0xc51f4b58e0150036)
|
||||
msg(0x2534, 3, 0xc8660067cc64b068)
|
||||
msg(0x2535, 3, 0xc7000800c0c27300)
|
||||
msg(0x2536, 3, 0x05ff776620190036)
|
||||
msg(0x2537, 3, 0x086c106d0c64906e)
|
||||
msg(0x2538, 3, 0x1900936cc7000700)
|
||||
msg(0x2539, 3, 0x870006000400e0e1)
|
||||
msg(0x253a, 3, 0x1400007380000000)
|
||||
msg(0x253b, 3, 0x00c002000400e0e1)
|
||||
msg(0x253c, 3, 0x14000077c0c00000)
|
||||
msg(0x253d, 3, 0x0700030000000000)
|
||||
msg(0x2694, 3, 0x00012c0100008000)
|
||||
msg(0x2695, 2, 0x00000000083f0000)
|
||||
msg(0x2697, 1, 0x00000000000000ff)
|
||||
msg(0x2696, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">22</parameter>
|
||||
<parameter name="Messages" id="PID00075">e69400012c01000000002695800002000000c00f0000093500090005e40009e000e000800000e40106f7edfe01000002e40206f7d3fc01000004e40311050003e0000005e40420000003a0000005e4050350000009020000e406890400000100000ce4071c009e0dd90d6a07e40899006007840060fee409440060fc9b000112e40ac3700000c0c03d00e40b06f7cbff01000016e40c06f7fdfd01000018e40d11190017e0000019e40e091600000100001ce40f091800000100001ee410111f001de000001fe4111c009e21d9216a07</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e4129c009e1bd91b6a07e413c3700000c0c03d00e41419096a07dc009e09e41585ff6007a040002ae4166001002b8c00002ce41780c03d00040060fce418440060fe1b000130e41989050003a0004032e41a857f0033a0c00034e41b8804000281000036e41c9900ef37857fef37e41d8c35193903d00000e41e03b0000020000000e41f60000100a0000200e42006f7f5f801000040e42106f7cffa01000042e42211430041e0000043e42320000041a0000043e4240350000009400000e425894200000100004a</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e4261c009e4bd94b6a45e42799006045840060f8e428440060fa9b000150e429c3700000c0c07b00e42a06f7e9f901000054e42b06f7ebfb01000056e42c11570055e0000057e42d095400000100005ae42e095600000100005ce42f115d005be000005de4301c009e5fd95f6a45e4319c009e59d9596a45e432c3700000c0c07b00e43319476a45dc009e47e43485ff6045a0430068e4357fff00698c00006ae43680c07b00040060fae437440060f81b00016ee43889410043a0004070e439857f0071a0c08072</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e43a8842004081000074e43b9900ef75857fef75e43c8c73197703d00000e43d03b0000020000000e43e60000100a0000200e43f087d003f1c00017ee440e000020014000001e4418700008000000000e48009e000e02088b800e48108000801140200e8e482e00000ea86eb4f04e483c6aa7405140200f7e484e00000eb86eb3308e485c6aa5109140a0006e486a000000a0100000ce487e0000004a0000008e48803d00000140200e3e489e00000e286eaf012e48ac6aa2113140200e4e48be00000e586eb4016</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e48cc6aa681714180014e48da00000180100001ae48ee0000012a0000016e48f200000006000011ee490a000011f06e91be9e491010000211c22351be4929900b522c400600fe493dc000125c400601de494dc00012780c27700e495081a000c0100002ae496140200e7e00000e6e49786de522dc69bb92ee498140200f4e00000f6e49986de5231c69bb932e49a082f113301000034e49b22000000142b5535e49cdc00df35c0c23a00e49d1900df3580c27700e49e1900022003d00000e49fd40000202000000c</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e4a0c6cfdb3f46cfba40e4a1010000410942002be4a206cc00420844002be4a33ffdb64511000046e4a480c175003ffee145e4a511000049c0c27700e4a6059fd32b1900a049e4a7e0000036cc4c004ee4a8c7000f00c0c17f00e4a91900d949c0c27700e4aa1900ee4980c16200e4ab19000443c0c27700e4ac3ffee74216000058e4ad2000a036a001e036e4ae2000004c9149e000e4afa000015d0c5e005be4b007000e0000c17f00e4b11900044340c16e00e4b2051f004308000164e4b33ffef449051f0066</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e4b42002003608670068e4b50c65b069c0c27700e4b607000d0000c17f00e4b73ffec7429100006ee4b8c0c2770020014036e4b90c4c007107000d00e4ba00c17f00051f0043e4bb05ff004620040036e4bc087590770c761078e4bd19000443c0c27700e4be19007046c7000c00e4bf87000b000400e0e1e4c01400007f80000000e4c100c0020000000000e50009e000e02088b800e50108000801140200f2e502e00000f386eb3104e503c6aa3405140200f1e504e00000f086eb8108e505c6aaa009140a0006</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e506a000000a0100000ce507e0000004a0000008e50803d00000140200ede509e00000ec86eb0412e50ac6aa7913140200efe50be00000ee86eb0616e50cc6aa291714180014e50da00000180100001ae50ee0000012a0000016e50f200000006000011ee510a000011f06e969f5e511010000211c22351be5129900b522c400600fe513dc000125c400601de514dc00012780c27700e515081a000c0100002ae516140200e7e00000e6e51786de522dc69bb92ee518140200f4e00000f6e51986de5231c69bb932</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e51a082f113301000034e51b23000000142b5535e51cdc00df3580c13a00e51dc400602ddc00013ae51ec4006031dc00013ce51fd41b350d80c27700e520141a000ce000001ae5211900022003d00000e522d400002020000041e523c6cfdb4146cfba46e5240100004706bc0048e525082a31340100004ae526084b00493ffe414ce5271100004dc0c27700e52819009f4dd900ef1be529d900ef0dc57faf4be52ae0140036cc530054e52bc7000a00c0c27300e52c3fff384d11000058e52dc0c2770019002158</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e52ec57ff84be0148036e52fcc5c005dc7000900e530c0c273000948004be5312000206108000262e532051f006319006b58e533c51f4b58e0150036e534c8660067cc64b068e535c7000800c0c27300e53605ff776620190036e537086c106d0c64906ee5381900936cc7000700e539870006000400e0e1e53a1400007380000000e53b00c002000400e0e1e53c14000077c0c00000e53d0700030000000000e69400012c0100008000a695083f0000669700ffe6960003e8010000413c</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
msg(0x268c, 3, 0x0000af1f0000c002)
|
||||
msg(0x268d, 3, 0x007270e00f78ff00)
|
||||
msg(0x2697, 1, 0x00000000000000ff)
|
||||
msg(0x2696, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">4</parameter>
|
||||
<parameter name="Messages" id="PID00075">e68c0000af1f0000c002e68d007270e00f78ff00669700ffe6960003e8010000413c</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
msg(0x000f, 3, 0x0000093500090002)
|
||||
msg(0x2662, 3, 0x00004a000000d22c)
|
||||
msg(0x2663, 3, 0x003003ec0010002d)
|
||||
msg(0x2664, 3, 0x00004e010000d22c)
|
||||
msg(0x2665, 3, 0x003003ec00100019)
|
||||
msg(0x2666, 3, 0x000052000000d230)
|
||||
msg(0x2667, 3, 0x003003eb0010002e)
|
||||
msg(0x266a, 3, 0x000056010000d230)
|
||||
msg(0x266b, 3, 0x003003eb00100019)
|
||||
msg(0x266c, 3, 0x00005a000000d234)
|
||||
msg(0x266d, 3, 0x000c03ec0004002c)
|
||||
msg(0x266e, 3, 0x00005e010000d234)
|
||||
msg(0x266f, 3, 0x000c03ec00040018)
|
||||
msg(0x2670, 3, 0x000062000000d238)
|
||||
msg(0x2671, 3, 0x000c03c50004002d)
|
||||
msg(0x2672, 3, 0x000066010000d238)
|
||||
msg(0x2673, 3, 0x000c03c500040019)
|
||||
msg(0x2674, 3, 0x00006a010000d23c)
|
||||
msg(0x2675, 3, 0x3c00000000000001)
|
||||
msg(0x2676, 3, 0x00006e010000d240)
|
||||
msg(0x2677, 3, 0x03c0000000000004)
|
||||
msg(0x2697, 1, 0x00000000000000ff)
|
||||
msg(0x2696, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">c00f0000093500090002e66200004a000000d22ce663003003ec0010002de66400004e010000d22ce665003003ec00100019e666000052000000d230e667003003eb0010002ee66a000056010000d230e66b003003eb00100019e66c00005a000000d234e66d000c03ec0004002ce66e00005e010000d234e66f000c03ec00040018e670000062000000d238e671000c03c50004002de672000066010000d238e673000c03c500040019e67400006a010000d23ce6753c00000000000001e67600006e010000d240</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">3</parameter>
|
||||
<parameter name="Messages" id="PID00075">e67703c0000000000004669700ffe6960003e8010000413c</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
msg(0x2694, 3, 0x00012c0100000000)
|
||||
msg(0x2695, 0, 0x0000000000000000)
|
||||
msg(0x0000, 2, 0x0000000002000000)
|
||||
msg(0x000f, 3, 0x0000093500090003)
|
||||
msg(0x2405, 3, 0x0350000009020000)
|
||||
msg(0x2406, 3, 0x890400000100000c)
|
||||
msg(0x2407, 3, 0x1c009e0dd90d6a07)
|
||||
msg(0x2408, 3, 0x99006007840060fe)
|
||||
msg(0x2409, 3, 0x440060fc9b000112)
|
||||
msg(0x240a, 3, 0xc3700000c0c03d00)
|
||||
msg(0x240b, 3, 0x06f848ff01000016)
|
||||
msg(0x240c, 3, 0x06f7f6fd01000018)
|
||||
msg(0x240d, 3, 0x11190017e0000019)
|
||||
msg(0x240e, 3, 0x091600000100001c)
|
||||
msg(0x240f, 3, 0x091800000100001e)
|
||||
msg(0x2410, 3, 0x111f001de000001f)
|
||||
msg(0x2411, 3, 0x1c009e21d9216a07)
|
||||
msg(0x2412, 3, 0x9c009e1bd91b6a07)
|
||||
msg(0x2413, 3, 0xc3700000c0c03d00)
|
||||
msg(0x2414, 3, 0x19096a07dc009e09)
|
||||
msg(0x2415, 3, 0x85ff6007a040002a)
|
||||
msg(0x2416, 3, 0x6001002b8c00002c)
|
||||
msg(0x2417, 3, 0x80c03d00040060fc)
|
||||
msg(0x2418, 3, 0x440060fe1b000130)
|
||||
msg(0x2419, 3, 0x89050003a0004032)
|
||||
msg(0x241a, 3, 0x857f0033a0c00034)
|
||||
msg(0x241b, 3, 0x8804000281000036)
|
||||
msg(0x241c, 3, 0x9900ef37857fef37)
|
||||
msg(0x241d, 3, 0x8c35193903d00000)
|
||||
msg(0x241e, 3, 0x03b0000020000000)
|
||||
msg(0x241f, 3, 0x60000100a0000200)
|
||||
msg(0x2420, 3, 0x06f7dbf801000040)
|
||||
msg(0x2421, 3, 0x06f7cffa01000042)
|
||||
msg(0x2422, 3, 0x11430041e0000043)
|
||||
msg(0x2423, 3, 0x20000041a0000043)
|
||||
msg(0x2424, 3, 0x0350000009400000)
|
||||
msg(0x2425, 3, 0x894200000100004a)
|
||||
msg(0x2426, 3, 0x1c009e4bd94b6a45)
|
||||
msg(0x2427, 3, 0x99006045840060f8)
|
||||
msg(0x2428, 3, 0x440060fa9b000150)
|
||||
msg(0x2429, 3, 0xc3700000c0c07b00)
|
||||
msg(0x242a, 3, 0x06f7f6f901000054)
|
||||
msg(0x242b, 3, 0x06f7f8fb01000056)
|
||||
msg(0x242c, 3, 0x11570055e0000057)
|
||||
msg(0x242d, 3, 0x095400000100005a)
|
||||
msg(0x242e, 3, 0x095600000100005c)
|
||||
msg(0x242f, 3, 0x115d005be000005d)
|
||||
msg(0x2430, 3, 0x1c009e5fd95f6a45)
|
||||
msg(0x2431, 3, 0x9c009e59d9596a45)
|
||||
msg(0x2432, 3, 0xc3700000c0c07b00)
|
||||
msg(0x2433, 3, 0x19476a45dc009e47)
|
||||
msg(0x2434, 3, 0x85ff6045a0430068)
|
||||
msg(0x2435, 3, 0x7fff00698c00006a)
|
||||
msg(0x2436, 3, 0x80c07b00040060fa)
|
||||
msg(0x2437, 3, 0x440060f81b00016e)
|
||||
msg(0x2438, 3, 0x89410043a0004070)
|
||||
msg(0x2439, 3, 0x857f0071a0c08072)
|
||||
msg(0x243a, 3, 0x8842004081000074)
|
||||
msg(0x243b, 3, 0x9900ef75857fef75)
|
||||
msg(0x243c, 3, 0x8c73197703d00000)
|
||||
msg(0x243d, 3, 0x03b0000020000000)
|
||||
msg(0x243e, 3, 0x60000100a0000200)
|
||||
msg(0x243f, 3, 0x087d003f1c00017e)
|
||||
msg(0x2440, 3, 0xe000020014000001)
|
||||
msg(0x2441, 3, 0x8700008000000000)
|
||||
msg(0x2694, 3, 0x00012c0100008000)
|
||||
msg(0x2695, 2, 0x00000000083f0000)
|
||||
msg(0x2697, 1, 0x00000000000000ff)
|
||||
msg(0x2696, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">22</parameter>
|
||||
<parameter name="Messages" id="PID00075">e69400012c01000000002695800002000000c00f0000093500090003e4050350000009020000e406890400000100000ce4071c009e0dd90d6a07e40899006007840060fee409440060fc9b000112e40ac3700000c0c03d00e40b06f848ff01000016e40c06f7f6fd01000018e40d11190017e0000019e40e091600000100001ce40f091800000100001ee410111f001de000001fe4111c009e21d9216a07e4129c009e1bd91b6a07e413c3700000c0c03d00e41419096a07dc009e09e41585ff6007a040002ae4166001002b8c00002c</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e41780c03d00040060fce418440060fe1b000130e41989050003a0004032e41a857f0033a0c00034e41b8804000281000036e41c9900ef37857fef37e41d8c35193903d00000e41e03b0000020000000e41f60000100a0000200e42006f7dbf801000040e42106f7cffa01000042e42211430041e0000043e42320000041a0000043e4240350000009400000e425894200000100004ae4261c009e4bd94b6a45e42799006045840060f8e428440060fa9b000150e429c3700000c0c07b00e42a06f7f6f901000054</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e42b06f7f8fb01000056e42c11570055e0000057e42d095400000100005ae42e095600000100005ce42f115d005be000005de4301c009e5fd95f6a45e4319c009e59d9596a45e432c3700000c0c07b00e43319476a45dc009e47e43485ff6045a0430068e4357fff00698c00006ae43680c07b00040060fae437440060f81b00016ee43889410043a0004070e439857f0071a0c08072e43a8842004081000074e43b9900ef75857fef75e43c8c73197703d00000e43d03b0000020000000e43e60000100a0000200</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">7</parameter>
|
||||
<parameter name="Messages" id="PID00075">e43f087d003f1c00017ee440e000020014000001e4418700008000000000e69400012c0100008000a695083f0000669700ffe6960003e8010000413c</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,202 +0,0 @@
|
|||
msg(0x2694, 3, 0x00012c0100000000)
|
||||
msg(0x2695, 0, 0x0000000000000000)
|
||||
msg(0x0000, 2, 0x0000000002000000)
|
||||
msg(0x000f, 3, 0x0000093500090005)
|
||||
msg(0x2400, 3, 0x09e000e000800000)
|
||||
msg(0x2401, 3, 0x06f7e8fe01000002)
|
||||
msg(0x2402, 3, 0x06f808fc01000004)
|
||||
msg(0x2403, 3, 0x11050003e0000005)
|
||||
msg(0x2404, 3, 0x20000003a0000005)
|
||||
msg(0x2405, 3, 0x0350000009020000)
|
||||
msg(0x2406, 3, 0x890400000100000c)
|
||||
msg(0x2407, 3, 0x1c009e0dd90d6a07)
|
||||
msg(0x2408, 3, 0x99006007840060fe)
|
||||
msg(0x2409, 3, 0x440060fc9b000112)
|
||||
msg(0x240a, 3, 0xc3700000c0c03d00)
|
||||
msg(0x240b, 3, 0x06f848ff01000016)
|
||||
msg(0x240c, 3, 0x06f7f6fd01000018)
|
||||
msg(0x240d, 3, 0x11190017e0000019)
|
||||
msg(0x240e, 3, 0x091600000100001c)
|
||||
msg(0x240f, 3, 0x091800000100001e)
|
||||
msg(0x2410, 3, 0x111f001de000001f)
|
||||
msg(0x2411, 3, 0x1c009e21d9216a07)
|
||||
msg(0x2412, 3, 0x9c009e1bd91b6a07)
|
||||
msg(0x2413, 3, 0xc3700000c0c03d00)
|
||||
msg(0x2414, 3, 0x19096a07dc009e09)
|
||||
msg(0x2415, 3, 0x85ff6007a040002a)
|
||||
msg(0x2416, 3, 0x6001002b8c00002c)
|
||||
msg(0x2417, 3, 0x80c03d00040060fc)
|
||||
msg(0x2418, 3, 0x440060fe1b000130)
|
||||
msg(0x2419, 3, 0x89050003a0004032)
|
||||
msg(0x241a, 3, 0x857f0033a0c00034)
|
||||
msg(0x241b, 3, 0x8804000281000036)
|
||||
msg(0x241c, 3, 0x9900ef37857fef37)
|
||||
msg(0x241d, 3, 0x8c35193903d00000)
|
||||
msg(0x241e, 3, 0x03b0000020000000)
|
||||
msg(0x241f, 3, 0x60000100a0000200)
|
||||
msg(0x2420, 3, 0x06f7dbf801000040)
|
||||
msg(0x2421, 3, 0x06f7cffa01000042)
|
||||
msg(0x2422, 3, 0x11430041e0000043)
|
||||
msg(0x2423, 3, 0x20000041a0000043)
|
||||
msg(0x2424, 3, 0x0350000009400000)
|
||||
msg(0x2425, 3, 0x894200000100004a)
|
||||
msg(0x2426, 3, 0x1c009e4bd94b6a45)
|
||||
msg(0x2427, 3, 0x99006045840060f8)
|
||||
msg(0x2428, 3, 0x440060fa9b000150)
|
||||
msg(0x2429, 3, 0xc3700000c0c07b00)
|
||||
msg(0x242a, 3, 0x06f7f6f901000054)
|
||||
msg(0x242b, 3, 0x06f7f8fb01000056)
|
||||
msg(0x242c, 3, 0x11570055e0000057)
|
||||
msg(0x242d, 3, 0x095400000100005a)
|
||||
msg(0x242e, 3, 0x095600000100005c)
|
||||
msg(0x242f, 3, 0x115d005be000005d)
|
||||
msg(0x2430, 3, 0x1c009e5fd95f6a45)
|
||||
msg(0x2431, 3, 0x9c009e59d9596a45)
|
||||
msg(0x2432, 3, 0xc3700000c0c07b00)
|
||||
msg(0x2433, 3, 0x19476a45dc009e47)
|
||||
msg(0x2434, 3, 0x85ff6045a0430068)
|
||||
msg(0x2435, 3, 0x7fff00698c00006a)
|
||||
msg(0x2436, 3, 0x80c07b00040060fa)
|
||||
msg(0x2437, 3, 0x440060f81b00016e)
|
||||
msg(0x2438, 3, 0x89410043a0004070)
|
||||
msg(0x2439, 3, 0x857f0071a0c08072)
|
||||
msg(0x243a, 3, 0x8842004081000074)
|
||||
msg(0x243b, 3, 0x9900ef75857fef75)
|
||||
msg(0x243c, 3, 0x8c73197703d00000)
|
||||
msg(0x243d, 3, 0x03b0000020000000)
|
||||
msg(0x243e, 3, 0x60000100a0000200)
|
||||
msg(0x243f, 3, 0x087d003f1c00017e)
|
||||
msg(0x2440, 3, 0xe000020014000001)
|
||||
msg(0x2441, 3, 0x8700008000000000)
|
||||
msg(0x2480, 3, 0x09e000e02088b800)
|
||||
msg(0x2481, 3, 0x08000801140200e8)
|
||||
msg(0x2482, 3, 0xe00000ea86eb1a04)
|
||||
msg(0x2483, 3, 0xc6a9e105140200f7)
|
||||
msg(0x2484, 3, 0xe00000eb86eaf008)
|
||||
msg(0x2485, 3, 0xc6a9a809140a0006)
|
||||
msg(0x2486, 3, 0xa000000a0100000c)
|
||||
msg(0x2487, 3, 0xe0000004a0000008)
|
||||
msg(0x2488, 3, 0x03d00000140200e3)
|
||||
msg(0x2489, 3, 0xe00000e286eabb12)
|
||||
msg(0x248a, 3, 0xc6a9bb13140200e4)
|
||||
msg(0x248b, 3, 0xe00000e586eb9216)
|
||||
msg(0x248c, 3, 0xc6a9fb1714180014)
|
||||
msg(0x248d, 3, 0xa00000180100001a)
|
||||
msg(0x248e, 3, 0xe0000012a0000016)
|
||||
msg(0x248f, 3, 0x200000006000011e)
|
||||
msg(0x2490, 3, 0xa000011f06e909e9)
|
||||
msg(0x2491, 3, 0x010000211c22351b)
|
||||
msg(0x2492, 3, 0x9900b522c400600f)
|
||||
msg(0x2493, 3, 0xdc000125c400601d)
|
||||
msg(0x2494, 3, 0xdc00012780c27700)
|
||||
msg(0x2495, 3, 0x081a000c0100002a)
|
||||
msg(0x2496, 3, 0x140200e7e00000e6)
|
||||
msg(0x2497, 3, 0x86de202dc69b822e)
|
||||
msg(0x2498, 3, 0x140200f4e00000f6)
|
||||
msg(0x2499, 3, 0x86de2031c69b8232)
|
||||
msg(0x249a, 3, 0x082f113301000034)
|
||||
msg(0x249b, 3, 0x22000000142b5535)
|
||||
msg(0x249c, 3, 0xdc00df35c0c23a00)
|
||||
msg(0x249d, 3, 0x1900df3580c27700)
|
||||
msg(0x249e, 3, 0x1900022003d00000)
|
||||
msg(0x249f, 3, 0xd40000202000000c)
|
||||
msg(0x24a0, 3, 0xc6cfdb3f46cfba40)
|
||||
msg(0x24a1, 3, 0x010000410942002b)
|
||||
msg(0x24a2, 3, 0x06cc00420844002b)
|
||||
msg(0x24a3, 3, 0x3ffdb64511000046)
|
||||
msg(0x24a4, 3, 0x80c175003ffee145)
|
||||
msg(0x24a5, 3, 0x11000049c0c27700)
|
||||
msg(0x24a6, 3, 0x059fd32b1900a049)
|
||||
msg(0x24a7, 3, 0xe0000036cc4c004e)
|
||||
msg(0x24a8, 3, 0xc7000f00c0c17f00)
|
||||
msg(0x24a9, 3, 0x1900d949c0c27700)
|
||||
msg(0x24aa, 3, 0x1900ee4980c16200)
|
||||
msg(0x24ab, 3, 0x19000443c0c27700)
|
||||
msg(0x24ac, 3, 0x3ffee74216000058)
|
||||
msg(0x24ad, 3, 0x2000a036a001e036)
|
||||
msg(0x24ae, 3, 0x2000004c9149e000)
|
||||
msg(0x24af, 3, 0xa000015d0c5e005b)
|
||||
msg(0x24b0, 3, 0x07000e0000c17f00)
|
||||
msg(0x24b1, 3, 0x1900044340c16e00)
|
||||
msg(0x24b2, 3, 0x051f004308000164)
|
||||
msg(0x24b3, 3, 0x3ffef449051f0066)
|
||||
msg(0x24b4, 3, 0x2002003608670068)
|
||||
msg(0x24b5, 3, 0x0c65b069c0c27700)
|
||||
msg(0x24b6, 3, 0x07000d0000c17f00)
|
||||
msg(0x24b7, 3, 0x3ffec7429100006e)
|
||||
msg(0x24b8, 3, 0xc0c2770020014036)
|
||||
msg(0x24b9, 3, 0x0c4c007107000d00)
|
||||
msg(0x24ba, 3, 0x00c17f00051f0043)
|
||||
msg(0x24bb, 3, 0x05ff004620040036)
|
||||
msg(0x24bc, 3, 0x087590770c761078)
|
||||
msg(0x24bd, 3, 0x19000443c0c27700)
|
||||
msg(0x24be, 3, 0x19007046c7000c00)
|
||||
msg(0x24bf, 3, 0x87000b000400e0e1)
|
||||
msg(0x24c0, 3, 0x1400007f80000000)
|
||||
msg(0x24c1, 3, 0x00c0020000000000)
|
||||
msg(0x2500, 3, 0x09e000e02088b800)
|
||||
msg(0x2501, 3, 0x08000801140200f2)
|
||||
msg(0x2502, 3, 0xe00000f386ec4904)
|
||||
msg(0x2503, 3, 0xc6aa0b05140200f1)
|
||||
msg(0x2504, 3, 0xe00000f086eb0f08)
|
||||
msg(0x2505, 3, 0xc6a98e09140a0006)
|
||||
msg(0x2506, 3, 0xa000000a0100000c)
|
||||
msg(0x2507, 3, 0xe0000004a0000008)
|
||||
msg(0x2508, 3, 0x03d00000140200ed)
|
||||
msg(0x2509, 3, 0xe00000ec86eaf712)
|
||||
msg(0x250a, 3, 0xc6a9c513140200ef)
|
||||
msg(0x250b, 3, 0xe00000ee86eafb16)
|
||||
msg(0x250c, 3, 0xc6a9c31714180014)
|
||||
msg(0x250d, 3, 0xa00000180100001a)
|
||||
msg(0x250e, 3, 0xe0000012a0000016)
|
||||
msg(0x250f, 3, 0x200000006000011e)
|
||||
msg(0x2510, 3, 0xa000011f06e96bf5)
|
||||
msg(0x2511, 3, 0x010000211c22351b)
|
||||
msg(0x2512, 3, 0x9900b522c400600f)
|
||||
msg(0x2513, 3, 0xdc000125c400601d)
|
||||
msg(0x2514, 3, 0xdc00012780c27700)
|
||||
msg(0x2515, 3, 0x081a000c0100002a)
|
||||
msg(0x2516, 3, 0x140200e7e00000e6)
|
||||
msg(0x2517, 3, 0x86de202dc69b822e)
|
||||
msg(0x2518, 3, 0x140200f4e00000f6)
|
||||
msg(0x2519, 3, 0x86de2031c69b8232)
|
||||
msg(0x251a, 3, 0x082f113301000034)
|
||||
msg(0x251b, 3, 0x23000000142b5535)
|
||||
msg(0x251c, 3, 0xdc00df3580c13a00)
|
||||
msg(0x251d, 3, 0xc400602ddc00013a)
|
||||
msg(0x251e, 3, 0xc4006031dc00013c)
|
||||
msg(0x251f, 3, 0xd41b350d80c27700)
|
||||
msg(0x2520, 3, 0x141a000ce000001a)
|
||||
msg(0x2521, 3, 0x1900022003d00000)
|
||||
msg(0x2522, 3, 0xd400002020000041)
|
||||
msg(0x2523, 3, 0xc6cfdb4146cfba46)
|
||||
msg(0x2524, 3, 0x0100004706bc0048)
|
||||
msg(0x2525, 3, 0x082a31340100004a)
|
||||
msg(0x2526, 3, 0x084b00493ffe414c)
|
||||
msg(0x2527, 3, 0x1100004dc0c27700)
|
||||
msg(0x2528, 3, 0x19009f4dd900ef1b)
|
||||
msg(0x2529, 3, 0xd900ef0dc57faf4b)
|
||||
msg(0x252a, 3, 0xe0140036cc530054)
|
||||
msg(0x252b, 3, 0xc7000a00c0c27300)
|
||||
msg(0x252c, 3, 0x3fff384d11000058)
|
||||
msg(0x252d, 3, 0xc0c2770019002158)
|
||||
msg(0x252e, 3, 0xc57ff84be0148036)
|
||||
msg(0x252f, 3, 0xcc5c005dc7000900)
|
||||
msg(0x2530, 3, 0xc0c273000948004b)
|
||||
msg(0x2531, 3, 0x2000206108000262)
|
||||
msg(0x2532, 3, 0x051f006319006b58)
|
||||
msg(0x2533, 3, 0xc51f4b58e0150036)
|
||||
msg(0x2534, 3, 0xc8660067cc64b068)
|
||||
msg(0x2535, 3, 0xc7000800c0c27300)
|
||||
msg(0x2536, 3, 0x05ff776620190036)
|
||||
msg(0x2537, 3, 0x086c106d0c64906e)
|
||||
msg(0x2538, 3, 0x1900936cc7000700)
|
||||
msg(0x2539, 3, 0x870006000400e0e1)
|
||||
msg(0x253a, 3, 0x1400007380000000)
|
||||
msg(0x253b, 3, 0x00c002000400e0e1)
|
||||
msg(0x253c, 3, 0x14000077c0c00000)
|
||||
msg(0x253d, 3, 0x0700030000000000)
|
||||
msg(0x2694, 3, 0x00012c0100008000)
|
||||
msg(0x2695, 2, 0x00000000083f0000)
|
||||
msg(0x2697, 1, 0x00000000000000ff)
|
||||
msg(0x2696, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="DELAY=1000ms" delta="00:16:40">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">22</parameter>
|
||||
<parameter name="Messages" id="PID00075">e69400012c01000000002695800002000000c00f0000093500090005e40009e000e000800000e40106f7e8fe01000002e40206f808fc01000004e40311050003e0000005e40420000003a0000005e4050350000009020000e406890400000100000ce4071c009e0dd90d6a07e40899006007840060fee409440060fc9b000112e40ac3700000c0c03d00e40b06f848ff01000016e40c06f7f6fd01000018e40d11190017e0000019e40e091600000100001ce40f091800000100001ee410111f001de000001fe4111c009e21d9216a07</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e4129c009e1bd91b6a07e413c3700000c0c03d00e41419096a07dc009e09e41585ff6007a040002ae4166001002b8c00002ce41780c03d00040060fce418440060fe1b000130e41989050003a0004032e41a857f0033a0c00034e41b8804000281000036e41c9900ef37857fef37e41d8c35193903d00000e41e03b0000020000000e41f60000100a0000200e42006f7dbf801000040e42106f7cffa01000042e42211430041e0000043e42320000041a0000043e4240350000009400000e425894200000100004a</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e4261c009e4bd94b6a45e42799006045840060f8e428440060fa9b000150e429c3700000c0c07b00e42a06f7f6f901000054e42b06f7f8fb01000056e42c11570055e0000057e42d095400000100005ae42e095600000100005ce42f115d005be000005de4301c009e5fd95f6a45e4319c009e59d9596a45e432c3700000c0c07b00e43319476a45dc009e47e43485ff6045a0430068e4357fff00698c00006ae43680c07b00040060fae437440060f81b00016ee43889410043a0004070e439857f0071a0c08072</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e43a8842004081000074e43b9900ef75857fef75e43c8c73197703d00000e43d03b0000020000000e43e60000100a0000200e43f087d003f1c00017ee440e000020014000001e4418700008000000000e48009e000e02088b800e48108000801140200e8e482e00000ea86eb1a04e483c6a9e105140200f7e484e00000eb86eaf008e485c6a9a809140a0006e486a000000a0100000ce487e0000004a0000008e48803d00000140200e3e489e00000e286eabb12e48ac6a9bb13140200e4e48be00000e586eb9216</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e48cc6a9fb1714180014e48da00000180100001ae48ee0000012a0000016e48f200000006000011ee490a000011f06e909e9e491010000211c22351be4929900b522c400600fe493dc000125c400601de494dc00012780c27700e495081a000c0100002ae496140200e7e00000e6e49786de202dc69b822ee498140200f4e00000f6e49986de2031c69b8232e49a082f113301000034e49b22000000142b5535e49cdc00df35c0c23a00e49d1900df3580c27700e49e1900022003d00000e49fd40000202000000c</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e4a0c6cfdb3f46cfba40e4a1010000410942002be4a206cc00420844002be4a33ffdb64511000046e4a480c175003ffee145e4a511000049c0c27700e4a6059fd32b1900a049e4a7e0000036cc4c004ee4a8c7000f00c0c17f00e4a91900d949c0c27700e4aa1900ee4980c16200e4ab19000443c0c27700e4ac3ffee74216000058e4ad2000a036a001e036e4ae2000004c9149e000e4afa000015d0c5e005be4b007000e0000c17f00e4b11900044340c16e00e4b2051f004308000164e4b33ffef449051f0066</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e4b42002003608670068e4b50c65b069c0c27700e4b607000d0000c17f00e4b73ffec7429100006ee4b8c0c2770020014036e4b90c4c007107000d00e4ba00c17f00051f0043e4bb05ff004620040036e4bc087590770c761078e4bd19000443c0c27700e4be19007046c7000c00e4bf87000b000400e0e1e4c01400007f80000000e4c100c0020000000000e50009e000e02088b800e50108000801140200f2e502e00000f386ec4904e503c6aa0b05140200f1e504e00000f086eb0f08e505c6a98e09140a0006</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e506a000000a0100000ce507e0000004a0000008e50803d00000140200ede509e00000ec86eaf712e50ac6a9c513140200efe50be00000ee86eafb16e50cc6a9c31714180014e50da00000180100001ae50ee0000012a0000016e50f200000006000011ee510a000011f06e96bf5e511010000211c22351be5129900b522c400600fe513dc000125c400601de514dc00012780c27700e515081a000c0100002ae516140200e7e00000e6e51786de202dc69b822ee518140200f4e00000f6e51986de2031c69b8232</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e51a082f113301000034e51b23000000142b5535e51cdc00df3580c13a00e51dc400602ddc00013ae51ec4006031dc00013ce51fd41b350d80c27700e520141a000ce000001ae5211900022003d00000e522d400002020000041e523c6cfdb4146cfba46e5240100004706bc0048e525082a31340100004ae526084b00493ffe414ce5271100004dc0c27700e52819009f4dd900ef1be529d900ef0dc57faf4be52ae0140036cc530054e52bc7000a00c0c27300e52c3fff384d11000058e52dc0c2770019002158</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e52ec57ff84be0148036e52fcc5c005dc7000900e530c0c273000948004be5312000206108000262e532051f006319006b58e533c51f4b58e0150036e534c8660067cc64b068e535c7000800c0c27300e53605ff776620190036e537086c106d0c64906ee5381900936cc7000700e539870006000400e0e1e53a1400007380000000e53b00c002000400e0e1e53c14000077c0c00000e53d0700030000000000e69400012c0100008000a695083f0000669700ffe6960003e8010000413c</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
#! /usr/bin/python3
|
||||
|
||||
from solo.patch import patch
|
||||
class hetept92(patch):
|
||||
|
||||
def assemble(self, **aa):
|
||||
if self.config is None:
|
||||
raise ValueError("Please provide a config=")
|
||||
|
||||
self.scratch(subversion=2)
|
||||
|
||||
C = self.config
|
||||
self.new_conf = C.CONFIG(
|
||||
unit=C.unit,
|
||||
model=C.model,
|
||||
temperature=C.nominal.temperature,
|
||||
env=C.nominal.env,
|
||||
version=9, patch=2)
|
||||
|
||||
self.diff = self.new_conf.diff(C.nominal)
|
||||
|
||||
def send(self, msg):
|
||||
self.send_scratch(msg)
|
||||
self.diff.ppss(msg)
|
||||
self.send_ping(msg)
|
||||
|
||||
def main(self, fmts=["xml", "msg"]):
|
||||
for fmt in fmts:
|
||||
fn = "hetept%s_v0009_patch2.%s" % (self.config.unit[-1], fmt)
|
||||
self.emit(f=fn, fmt=fmt)
|
||||
|
||||
import solo.hetept.config
|
||||
patch1 = hetept92(name="fm1", config=solo.hetept.config.fm1(config_page=0x10000, patch=1))
|
||||
patch2 = hetept92(name="fm2", config=solo.hetept.config.fm2(config_page=0x10000, patch=1))
|
||||
|
||||
def main():
|
||||
patch1.main()
|
||||
patch2.main()
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
#! /usr/bin/python3
|
||||
|
||||
from solo.patch import patch
|
||||
class hetept93(patch):
|
||||
|
||||
def assemble(self, **aa):
|
||||
if self.config is None:
|
||||
raise ValueError("Please provide a config=")
|
||||
|
||||
self.scratch(subversion=3)
|
||||
|
||||
C = self.config
|
||||
self.new_conf = C.CONFIG(
|
||||
unit=C.unit,
|
||||
model=C.model,
|
||||
temperature=C.nominal.temperature,
|
||||
env=C.nominal.env,
|
||||
version=9, patch=3)
|
||||
|
||||
self.diff = self.new_conf.diff(C.nominal)
|
||||
|
||||
def send(self, msg):
|
||||
self.send_stop_l3(msg)
|
||||
self.send_scratch(msg)
|
||||
self.send_l3(msg, self.diff.l3)
|
||||
self.send_start_l3(msg)
|
||||
self.send_ping(msg)
|
||||
|
||||
def main(self, fmts=["xml", "msg"]):
|
||||
for fmt in fmts:
|
||||
fn = "hetept%s_v0009_patch3.%s" % (self.config.unit[-1], fmt)
|
||||
self.emit(f=fn, fmt=fmt)
|
||||
|
||||
import solo.hetept.config
|
||||
patch1 = hetept93(name="fm1", config=solo.hetept.config.fm1(config_page=0x10000, patch=2))
|
||||
patch2 = hetept93(name="fm2", config=solo.hetept.config.fm2(config_page=0x10000, patch=2))
|
||||
|
||||
def main():
|
||||
patch1.main()
|
||||
patch2.main()
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
#! /usr/bin/python3
|
||||
|
||||
from solo.patch import patch
|
||||
class hetept91(patch):
|
||||
|
||||
def assemble(self, **aa):
|
||||
if self.config is None:
|
||||
raise ValueError("Please provide a config=")
|
||||
|
||||
self.scratch(subversion=1)
|
||||
|
||||
C = self.config
|
||||
self.new_conf = C.CONFIG(
|
||||
unit=C.unit,
|
||||
model=C.model,
|
||||
temperature=C.nominal.temperature,
|
||||
env=C.nominal.env,
|
||||
patch=1 )
|
||||
self.diff = self.new_conf.diff(C.nominal)
|
||||
|
||||
def send(self, msg):
|
||||
self.send_stop_l3(msg)
|
||||
self.send_scratch(msg)
|
||||
self.send_l3(msg, self.diff.l3)
|
||||
self.send_start_l3(msg)
|
||||
self.send_ping(msg)
|
||||
|
||||
import solo.hetept.config
|
||||
patch1 = hetept91(name="fm1", config=solo.hetept.config.fm1(config_page=0x10000))
|
||||
patch2 = hetept91(name="fm2", config=solo.hetept.config.fm2(config_page=0x10000))
|
||||
|
||||
if __name__=="__main__":
|
||||
patch1.main()
|
||||
patch2.main()
|
||||
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
msg(0x2694, 3, 0x00012c0100000000)
|
||||
msg(0x2695, 0, 0x0000000000000000)
|
||||
msg(0x0000, 2, 0x0000000002000000)
|
||||
msg(0x000f, 3, 0x0000093500090001)
|
||||
msg(0x2494, 3, 0xdc00012780c27500)
|
||||
msg(0x249c, 3, 0xdc00df35c0c23a00)
|
||||
msg(0x249d, 3, 0x1c00fa2b8400602d)
|
||||
msg(0x249e, 3, 0x9b00013b84006031)
|
||||
msg(0x249f, 3, 0x9b00013dd900df35)
|
||||
msg(0x24a0, 3, 0x80c2750019000220)
|
||||
msg(0x24a1, 3, 0x03d00000d4000020)
|
||||
msg(0x24a2, 3, 0x2000000cc6cfdb44)
|
||||
msg(0x24a3, 3, 0x46cfba4501000046)
|
||||
msg(0x24a4, 3, 0x0947002b06cc0047)
|
||||
msg(0x24a5, 3, 0x0849002b3ffdb64a)
|
||||
msg(0x24a6, 3, 0x1100004b80c17a00)
|
||||
msg(0x24a7, 3, 0x3ffee14a1100004e)
|
||||
msg(0x24a8, 3, 0xc0c27500059fd32b)
|
||||
msg(0x24a9, 3, 0x1900a04ee0000036)
|
||||
msg(0x24aa, 3, 0xcc510053c7000f00)
|
||||
msg(0x24ab, 3, 0xc0c184001900d94e)
|
||||
msg(0x24ac, 3, 0xc0c275001900ee4e)
|
||||
msg(0x24ad, 3, 0x80c1670019000448)
|
||||
msg(0x24ae, 3, 0xc0c275003ffee747)
|
||||
msg(0x24af, 3, 0x1600005d2000a036)
|
||||
msg(0x24b0, 3, 0xa001e03620000051)
|
||||
msg(0x24b1, 3, 0x914ee000a0000162)
|
||||
msg(0x24b2, 3, 0x0c63006007000e00)
|
||||
msg(0x24b3, 3, 0x00c1840019000448)
|
||||
msg(0x24b4, 3, 0x40c17300051f0048)
|
||||
msg(0x24b5, 3, 0x080001693ffef44e)
|
||||
msg(0x24b6, 3, 0x051f006b20020036)
|
||||
msg(0x24b7, 3, 0x086c006d0c6ab06e)
|
||||
msg(0x24b8, 3, 0xc0c2750007000d00)
|
||||
msg(0x24b9, 3, 0x00c184003ffec747)
|
||||
msg(0x24ba, 3, 0x91000073c0c27500)
|
||||
msg(0x24bb, 3, 0x200140360c510076)
|
||||
msg(0x24bc, 3, 0x07000d0000c18400)
|
||||
msg(0x24bd, 3, 0x051f004805ff004b)
|
||||
msg(0x24be, 3, 0x20040036087a907c)
|
||||
msg(0x24bf, 3, 0x0c7b107d19000448)
|
||||
msg(0x24c0, 3, 0xc0c275001900704b)
|
||||
msg(0x24c1, 3, 0xc7000c0087000b00)
|
||||
msg(0x24c2, 3, 0x0400e0e114000084)
|
||||
msg(0x24c3, 3, 0x8000000000c00200)
|
||||
msg(0x2514, 3, 0xdc00012780c27500)
|
||||
msg(0x251c, 3, 0xdc00df3580c13a00)
|
||||
msg(0x251d, 3, 0xc400602ddc00013a)
|
||||
msg(0x251e, 3, 0xc4006031dc00013c)
|
||||
msg(0x251f, 3, 0xd41b350d80c27500)
|
||||
msg(0x2520, 3, 0x141a000ce000001a)
|
||||
msg(0x2521, 3, 0x1900022003d00000)
|
||||
msg(0x2522, 3, 0xd400002020000041)
|
||||
msg(0x2523, 3, 0xc6cfdb4146cfba46)
|
||||
msg(0x2524, 3, 0x0100004706bc0048)
|
||||
msg(0x2525, 3, 0x082a31340100004a)
|
||||
msg(0x2526, 3, 0x084b00493ffe414c)
|
||||
msg(0x2527, 3, 0x1100004dc0c27500)
|
||||
msg(0x2528, 3, 0x19009f4dc57faf4b)
|
||||
msg(0x2529, 3, 0xe0140036cc510052)
|
||||
msg(0x252a, 3, 0xc7000a00c0c27100)
|
||||
msg(0x252b, 3, 0x3fff384d11000056)
|
||||
msg(0x252c, 3, 0xc0c2750019002156)
|
||||
msg(0x252d, 3, 0xc57ff84be0148036)
|
||||
msg(0x252e, 3, 0xcc5a005bc7000900)
|
||||
msg(0x252f, 3, 0xc0c271000948004b)
|
||||
msg(0x2530, 3, 0x2000205f08000260)
|
||||
msg(0x2531, 3, 0x051f006119006b56)
|
||||
msg(0x2532, 3, 0xc51f4b56e0150036)
|
||||
msg(0x2533, 3, 0xc8640065cc62b066)
|
||||
msg(0x2534, 3, 0xc7000800c0c27100)
|
||||
msg(0x2535, 3, 0x05ff776420190036)
|
||||
msg(0x2536, 3, 0x086a106b0c62906c)
|
||||
msg(0x2537, 3, 0x1900936ac7000700)
|
||||
msg(0x2538, 3, 0x870006000400e0e1)
|
||||
msg(0x2539, 3, 0x1400007180000000)
|
||||
msg(0x253a, 3, 0x00c002000400e0e1)
|
||||
msg(0x253b, 3, 0x14000075c0c00000)
|
||||
msg(0x253c, 3, 0x0700030000000000)
|
||||
msg(0x2694, 3, 0x00012c0100008000)
|
||||
msg(0x2695, 2, 0x00000000083f0000)
|
||||
msg(0x2697, 1, 0x00000000000000ff)
|
||||
msg(0x2696, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
msg(0x2694, 3, 0x00012c0100000000)
|
||||
msg(0x2695, 0, 0x0000000000000000)
|
||||
msg(0x0000, 2, 0x0000000002000000)
|
||||
msg(0x000f, 3, 0x0000093500090001)
|
||||
msg(0x2494, 3, 0xdc00012780c27500)
|
||||
msg(0x249c, 3, 0xdc00df35c0c23a00)
|
||||
msg(0x249d, 3, 0x1c00fa2b8400602d)
|
||||
msg(0x249e, 3, 0x9b00013b84006031)
|
||||
msg(0x249f, 3, 0x9b00013dd900df35)
|
||||
msg(0x24a0, 3, 0x80c2750019000220)
|
||||
msg(0x24a1, 3, 0x03d00000d4000020)
|
||||
msg(0x24a2, 3, 0x2000000cc6cfdb44)
|
||||
msg(0x24a3, 3, 0x46cfba4501000046)
|
||||
msg(0x24a4, 3, 0x0947002b06cc0047)
|
||||
msg(0x24a5, 3, 0x0849002b3ffdb64a)
|
||||
msg(0x24a6, 3, 0x1100004b80c17a00)
|
||||
msg(0x24a7, 3, 0x3ffee14a1100004e)
|
||||
msg(0x24a8, 3, 0xc0c27500059fd32b)
|
||||
msg(0x24a9, 3, 0x1900a04ee0000036)
|
||||
msg(0x24aa, 3, 0xcc510053c7000f00)
|
||||
msg(0x24ab, 3, 0xc0c184001900d94e)
|
||||
msg(0x24ac, 3, 0xc0c275001900ee4e)
|
||||
msg(0x24ad, 3, 0x80c1670019000448)
|
||||
msg(0x24ae, 3, 0xc0c275003ffee747)
|
||||
msg(0x24af, 3, 0x1600005d2000a036)
|
||||
msg(0x24b0, 3, 0xa001e03620000051)
|
||||
msg(0x24b1, 3, 0x914ee000a0000162)
|
||||
msg(0x24b2, 3, 0x0c63006007000e00)
|
||||
msg(0x24b3, 3, 0x00c1840019000448)
|
||||
msg(0x24b4, 3, 0x40c17300051f0048)
|
||||
msg(0x24b5, 3, 0x080001693ffef44e)
|
||||
msg(0x24b6, 3, 0x051f006b20020036)
|
||||
msg(0x24b7, 3, 0x086c006d0c6ab06e)
|
||||
msg(0x24b8, 3, 0xc0c2750007000d00)
|
||||
msg(0x24b9, 3, 0x00c184003ffec747)
|
||||
msg(0x24ba, 3, 0x91000073c0c27500)
|
||||
msg(0x24bb, 3, 0x200140360c510076)
|
||||
msg(0x24bc, 3, 0x07000d0000c18400)
|
||||
msg(0x24bd, 3, 0x051f004805ff004b)
|
||||
msg(0x24be, 3, 0x20040036087a907c)
|
||||
msg(0x24bf, 3, 0x0c7b107d19000448)
|
||||
msg(0x24c0, 3, 0xc0c275001900704b)
|
||||
msg(0x24c1, 3, 0xc7000c0087000b00)
|
||||
msg(0x24c2, 3, 0x0400e0e114000084)
|
||||
msg(0x24c3, 3, 0x8000000000c00200)
|
||||
msg(0x2514, 3, 0xdc00012780c27500)
|
||||
msg(0x251c, 3, 0xdc00df3580c13a00)
|
||||
msg(0x251d, 3, 0xc400602ddc00013a)
|
||||
msg(0x251e, 3, 0xc4006031dc00013c)
|
||||
msg(0x251f, 3, 0xd41b350d80c27500)
|
||||
msg(0x2520, 3, 0x141a000ce000001a)
|
||||
msg(0x2521, 3, 0x1900022003d00000)
|
||||
msg(0x2522, 3, 0xd400002020000041)
|
||||
msg(0x2523, 3, 0xc6cfdb4146cfba46)
|
||||
msg(0x2524, 3, 0x0100004706bc0048)
|
||||
msg(0x2525, 3, 0x082a31340100004a)
|
||||
msg(0x2526, 3, 0x084b00493ffe414c)
|
||||
msg(0x2527, 3, 0x1100004dc0c27500)
|
||||
msg(0x2528, 3, 0x19009f4dc57faf4b)
|
||||
msg(0x2529, 3, 0xe0140036cc510052)
|
||||
msg(0x252a, 3, 0xc7000a00c0c27100)
|
||||
msg(0x252b, 3, 0x3fff384d11000056)
|
||||
msg(0x252c, 3, 0xc0c2750019002156)
|
||||
msg(0x252d, 3, 0xc57ff84be0148036)
|
||||
msg(0x252e, 3, 0xcc5a005bc7000900)
|
||||
msg(0x252f, 3, 0xc0c271000948004b)
|
||||
msg(0x2530, 3, 0x2000205f08000260)
|
||||
msg(0x2531, 3, 0x051f006119006b56)
|
||||
msg(0x2532, 3, 0xc51f4b56e0150036)
|
||||
msg(0x2533, 3, 0xc8640065cc62b066)
|
||||
msg(0x2534, 3, 0xc7000800c0c27100)
|
||||
msg(0x2535, 3, 0x05ff776420190036)
|
||||
msg(0x2536, 3, 0x086a106b0c62906c)
|
||||
msg(0x2537, 3, 0x1900936ac7000700)
|
||||
msg(0x2538, 3, 0x870006000400e0e1)
|
||||
msg(0x2539, 3, 0x1400007180000000)
|
||||
msg(0x253a, 3, 0x00c002000400e0e1)
|
||||
msg(0x253b, 3, 0x14000075c0c00000)
|
||||
msg(0x253c, 3, 0x0700030000000000)
|
||||
msg(0x2694, 3, 0x00012c0100008000)
|
||||
msg(0x2695, 2, 0x00000000083f0000)
|
||||
msg(0x2697, 1, 0x00000000000000ff)
|
||||
msg(0x2696, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
#! /usr/bin/python3
|
||||
|
||||
from solo.patch import patch
|
||||
class hetept95(patch):
|
||||
|
||||
def assemble(self, **aa):
|
||||
if self.config is None:
|
||||
raise ValueError("Please provide a config=")
|
||||
|
||||
self.scratch(subversion=5)
|
||||
self.l3 = self.config.nominal.l3
|
||||
self.l3_code = [(a,d) for a,d in self.l3.l3_code if a < 0x300]
|
||||
self.l3.l3_code = self.l3_code
|
||||
|
||||
def send(self, msg):
|
||||
self.send_stop_l3(msg)
|
||||
self.send_scratch(msg)
|
||||
self.send_l3(msg, self.l3, init=True, pad=True, fill=False)
|
||||
self.send_start_l3(msg)
|
||||
self.send_ping(msg)
|
||||
|
||||
def main(self, fmts=["xml", "msg"]):
|
||||
for fmt in fmts:
|
||||
fn = "hetept%s_v0009_patch5.%s" % (self.config.unit[-1], fmt)
|
||||
self.emit(f=fn, fmt=fmt)
|
||||
|
||||
import solo.hetept.config
|
||||
patch1 = hetept95(name="fm1", config=solo.hetept.config.fm1(config_page=0x10000))
|
||||
patch2 = hetept95(name="fm2", config=solo.hetept.config.fm2(config_page=0x10000))
|
||||
|
||||
def main():
|
||||
patch1.main()
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
#! /usr/bin/python3
|
||||
|
||||
from solo.patch import patch
|
||||
class hetept94(patch):
|
||||
|
||||
def assemble(self, T, **aa):
|
||||
self.OH_C = T
|
||||
if self.config is None:
|
||||
raise ValueError("Please provide a config=")
|
||||
self.scratch(subversion=4)
|
||||
self.ppss_oh = self.config.ppss.find_flags("OPHEATER")[0]
|
||||
|
||||
OH_DC_ESTIMATE = 60
|
||||
OH_SHIFT = 0
|
||||
OH_DCMAX = 70
|
||||
|
||||
def send(self, msg):
|
||||
self.send_scratch(msg)
|
||||
self.config.ppss.set_opheater_setpoint(
|
||||
msg = msg,
|
||||
T = self.OH_C,
|
||||
dcmax = self.OH_DCMAX *192//100,
|
||||
dc_estimate=self.OH_DC_ESTIMATE *192//100,
|
||||
shift = self.OH_SHIFT )
|
||||
self.send_ping(msg)
|
||||
|
||||
def revert(self, msg):
|
||||
self.ppss_oh(msg)
|
||||
self.send_ping(msg)
|
||||
|
||||
def main(self, fmts=["xml", "msg"]):
|
||||
for fmt in fmts:
|
||||
fn = "hetept%s_v0009_patch4.%s" % (self.config.unit[-1], fmt)
|
||||
self.emit(f=fn, fmt=fmt)
|
||||
fn = "hetept%s_v0009_revert4.%s" % (self.config.unit[-1], fmt)
|
||||
self.emit(f=fn, fmt=fmt, revert=True)
|
||||
|
||||
import solo.hetept.config
|
||||
patch1 = hetept94(name="fm1", T=-6.0, config=solo.hetept.config.fm1(config_page=0x10000, patch=3))
|
||||
patch2 = hetept94(name="fm2", T=-1.0, config=solo.hetept.config.fm2(config_page=0x10000, patch=3))
|
||||
|
||||
def main():
|
||||
patch1.main()
|
||||
patch2.main()
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">22</parameter>
|
||||
<parameter name="Messages" id="PID00075">e69400012c01000000002695800002000000c00f0000093500090001e494dc00012780c27500e49cdc00df35c0c23a00e49d1c00fa2b8400602de49e9b00013b84006031e49f9b00013dd900df35e4a080c2750019000220e4a103d00000d4000020e4a22000000cc6cfdb44e4a346cfba4501000046e4a40947002b06cc0047e4a50849002b3ffdb64ae4a61100004b80c17a00e4a73ffee14a1100004ee4a8c0c27500059fd32be4a91900a04ee0000036e4aacc510053c7000f00e4abc0c184001900d94ee4acc0c275001900ee4e</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e4ad80c1670019000448e4aec0c275003ffee747e4af1600005d2000a036e4b0a001e03620000051e4b1914ee000a0000162e4b20c63006007000e00e4b300c1840019000448e4b440c17300051f0048e4b5080001693ffef44ee4b6051f006b20020036e4b7086c006d0c6ab06ee4b8c0c2750007000d00e4b900c184003ffec747e4ba91000073c0c27500e4bb200140360c510076e4bc07000d0000c18400e4bd051f004805ff004be4be20040036087a907ce4bf0c7b107d19000448e4c0c0c275001900704b</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e4c1c7000c0087000b00e4c20400e0e114000084e4c38000000000c00200e514dc00012780c27500e51cdc00df3580c13a00e51dc400602ddc00013ae51ec4006031dc00013ce51fd41b350d80c27500e520141a000ce000001ae5211900022003d00000e522d400002020000041e523c6cfdb4146cfba46e5240100004706bc0048e525082a31340100004ae526084b00493ffe414ce5271100004dc0c27500e52819009f4dc57faf4be529e0140036cc510052e52ac7000a00c0c27100e52b3fff384d11000056</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">2</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">21</parameter>
|
||||
<parameter name="Messages" id="PID00075">e52cc0c2750019002156e52dc57ff84be0148036e52ecc5a005bc7000900e52fc0c271000948004be5302000205f08000260e531051f006119006b56e532c51f4b56e0150036e533c8640065cc62b066e534c7000800c0c27100e53505ff776420190036e536086a106b0c62906ce5371900936ac7000700e538870006000400e0e1e5391400007180000000e53a00c002000400e0e1e53b14000075c0c00000e53c0700030000000000e69400012c0100008000a695083f0000669700ffe6960003e8010000413c</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">22</parameter>
|
||||
<parameter name="Messages" id="PID00075">e69400012c01000000002695800002000000c00f0000093500090001e494dc00012780c27500e49cdc00df35c0c23a00e49d1c00fa2b8400602de49e9b00013b84006031e49f9b00013dd900df35e4a080c2750019000220e4a103d00000d4000020e4a22000000cc6cfdb44e4a346cfba4501000046e4a40947002b06cc0047e4a50849002b3ffdb64ae4a61100004b80c17a00e4a73ffee14a1100004ee4a8c0c27500059fd32be4a91900a04ee0000036e4aacc510053c7000f00e4abc0c184001900d94ee4acc0c275001900ee4e</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e4ad80c1670019000448e4aec0c275003ffee747e4af1600005d2000a036e4b0a001e03620000051e4b1914ee000a0000162e4b20c63006007000e00e4b300c1840019000448e4b440c17300051f0048e4b5080001693ffef44ee4b6051f006b20020036e4b7086c006d0c6ab06ee4b8c0c2750007000d00e4b900c184003ffec747e4ba91000073c0c27500e4bb200140360c510076e4bc07000d0000c18400e4bd051f004805ff004be4be20040036087a907ce4bf0c7b107d19000448e4c0c0c275001900704b</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e4c1c7000c0087000b00e4c20400e0e114000084e4c38000000000c00200e514dc00012780c27500e51cdc00df3580c13a00e51dc400602ddc00013ae51ec4006031dc00013ce51fd41b350d80c27500e520141a000ce000001ae5211900022003d00000e522d400002020000041e523c6cfdb4146cfba46e5240100004706bc0048e525082a31340100004ae526084b00493ffe414ce5271100004dc0c27500e52819009f4dc57faf4be529e0140036cc510052e52ac7000a00c0c27100e52b3fff384d11000056</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">21</parameter>
|
||||
<parameter name="Messages" id="PID00075">e52cc0c2750019002156e52dc57ff84be0148036e52ecc5a005bc7000900e52fc0c271000948004be5302000205f08000260e531051f006119006b56e532c51f4b56e0150036e533c8640065cc62b066e534c7000800c0c27100e53505ff776420190036e536086a106b0c62906ce5371900936ac7000700e538870006000400e0e1e5391400007180000000e53a00c002000400e0e1e53b14000075c0c00000e53c0700030000000000e69400012c0100008000a695083f0000669700ffe6960003e8010000413c</parameter>
|
||||
</TC>
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
# HET/EPT1 FM1, version 10, rev 0
|
||||
|
||||
# env = {CLOSE}
|
||||
# version/dps: 10/0
|
||||
|
||||
|
||||
# apid/flags, n("section"sum enc/fmt)
|
||||
# apid: 0x0300 + Tag
|
||||
# flags: /-separated flags: 0..3 or 'h' or 'r'
|
||||
# n: dps_items in section
|
||||
# section: section name; may not contain whitespace
|
||||
# sum, enc: cadence
|
||||
# fmt: 0..3: float16, log2, uint24, encoded
|
||||
# version: 0010
|
||||
|
||||
# S20data
|
||||
0x0320/0x0, 4("S20_e_S" 0/1), 4("S20_e_A" 0/1), 1("S20_p_S" 0/1), 1("S20_p_A" 0/1)
|
||||
|
||||
# Low Latency
|
||||
0x0331/0x0/0x2, 8("LL_EPT_e_S" 3/1), 8("LL_EPT_e_A" 3/1), 18("LL_EPT_i_S" 3/1), 18("LL_EPT_i_A" 3/1), 1("LL_EPT_T_e_S" 1/3), 1("LL_EPT_T_e_A" 1/3), 2("LL_EPT_T_i_S" 1/3), 2("LL_EPT_T_i_A" 1/3), 2("LL_HETB_p_S" 3/1), 2("LL_HETB_p_A" 3/1), 10("LL_HETC_p_S" 3/1), 10("LL_HETC_p_A" 3/1), 2("LL_HETP_p_S" 3/1), 2("LL_HETP_p_A" 3/1), 2("LL_HETP_p_E" 3/1), 1("LL_HETB_e_S" 3/1), 1("LL_HETB_e_A" 3/1), 3("LL_HETC_e_S" 3/1), 3("LL_HETC_e_A" 3/1), 2("LL_HETB_he3_S" 5/1), 2("LL_HETB_he3_A" 5/1), 2("LL_HETB_he4_S" 5/1), 2("LL_HETB_he4_A" 5/1), 4("LL_HETC_he3_S" 5/1), 4("LL_HETC_he3_A" 5/1), 8("LL_HETC_he4_S" 5/1), 8("LL_HETC_he4_A" 5/1), 4("LL_HETB_he_S" 5/1), 4("LL_HETB_he_A" 5/1), 2("LL_HETP_he_S" 5/1), 2("LL_HETP_he_A" 5/1), 2("LL_HETP_he_E" 5/1), 6("LL_HETB_cno_S" 6/1), 6("LL_HETB_cno_A" 6/1), 9("LL_HETC_cno_S" 6/1), 9("LL_HETC_cno_A" 6/1), 2("LL_HETP_cno_S" 7/1), 2("LL_HETP_cno_A" 7/1), 2("LL_HETP_cno_E" 7/1), 2("LL_HETB_fe_S" 6/1), 2("LL_HETB_fe_A" 6/1), 3("LL_HETC_fe_S" 7/1), 3("LL_HETC_fe_A" 7/1), 1("LL_HETP_fe_S" 7/1), 1("LL_HETP_fe_A" 7/1), 3("LL_HETC_T_p_S" 1/3), 3("LL_HETC_T_p_A" 1/3), 1("LL_HETC_T_e_S" 1/3), 1("LL_HETC_T_e_A" 1/3)
|
||||
|
||||
# Nominal
|
||||
0x0351/0x0, 77("NO_EPT_mag_S" 0/3), 77("NO_EPT_mag_A" 0/3), 77("NO_EPT_foil_S" 0/3), 77("NO_EPT_foil_A" 0/3), 2("NO_EPTP_e_S" 1/3), 2("NO_EPTP_e_A" 1/3), 4("NO_EPTP_p_S" 1/3), 4("NO_EPTP_p_A" 1/3), 4("NO_EPTP_p_E" 1/3), 2("NO_EPTP_he3_S" 3/3), 2("NO_EPTP_he3_A" 3/3), 1("NO_EPTP_he3_E" 3/3), 2("NO_EPTP_he4_S" 3/3), 2("NO_EPTP_he4_A" 3/3), 1("NO_EPTP_he4_E" 3/3), 1("NO_EPTP_he_S" 3/3), 1("NO_EPTP_he_A" 3/3), 4("NO_EPTP_he_E" 3/3), 1("NO_HETP_bg_S" 6/3), 1("NO_HETP_bg_A" 6/3), 1("NO_HETB_bg_S" 6/3), 1("NO_HETB_bg_A" 6/3), 5("NO_HETB_p_S" 1/3), 5("NO_HETB_p_A" 1/3), 1("NO_HETB_tail_high_p_S" 1/3), 1("NO_HETB_tail_high_p_A" 1/3), 31("NO_HETC_p_S" 1/3), 31("NO_HETC_p_A" 1/3), 2("NO_HETP_p_S" 1/3), 2("NO_HETP_p_A" 1/3), 3("NO_HETP_p_E" 3/3), 1("NO_HETB_H_p_S" 0/3), 1("NO_HETB_H_p_A" 0/3), 3("NO_HETC_H_p_S" 0/3), 3("NO_HETC_H_p_A" 0/3), 1("NO_HETB_e_S" 0/3), 1("NO_HETB_e_A" 0/3), 3("NO_HETC_e_S" 0/3), 3("NO_HETC_e_A" 0/3), 1("NO_HETC_H_e_S" 3/3), 1("NO_HETC_H_e_A" 3/3), 4("NO_HETB_he3_S" 3/3), 4("NO_HETB_he3_A" 3/3), 4("NO_HETB_he4_S" 3/3), 4("NO_HETB_he4_A" 3/3), 5("NO_HETC_he3_S" 3/3), 5("NO_HETC_he3_A" 3/3), 11("NO_HETC_he4_S" 3/3), 11("NO_HETC_he4_A" 3/3), 6("NO_HETB_he_S" 1/3), 6("NO_HETB_he_A" 1/3), 2("NO_HETP_he_S" 4/3), 2("NO_HETP_he_A" 4/3), 4("NO_HETP_he_E" 4/3), 12("NO_HETC_c_S" 4/3), 12("NO_HETC_c_A" 4/3), 12("NO_HETC_n_S" 4/3), 12("NO_HETC_n_A" 4/3), 12("NO_HETC_o_S" 4/3), 12("NO_HETC_o_A" 4/3), 5("NO_HETB_c_S" 4/3), 5("NO_HETB_c_A" 4/3), 5("NO_HETB_n_S" 4/3), 5("NO_HETB_n_A" 4/3), 5("NO_HETB_o_S" 4/3), 5("NO_HETB_o_A" 4/3), 2("NO_HETP_cno_S" 6/3), 2("NO_HETP_cno_A" 6/3), 6("NO_HETP_cno_E" 6/3), 11("NO_HETC_fe_S" 5/3), 11("NO_HETC_fe_A" 5/3), 5("NO_HETB_fe_S" 5/3), 5("NO_HETB_fe_A" 5/3), 2("NO_HETP_fe_S" 6/3), 2("NO_HETP_fe_A" 6/3), 3("NO_HETP_fe_E" 6/3)
|
||||
|
||||
# Burst1n
|
||||
0x0361/0x0, 48("B1_EPT_mag_S" 2/3), 48("B1_EPT_mag_A" 2/3), 2("B1_EPTP_he3_S" 1/3), 2("B1_EPTP_he3_A" 1/3), 1("B1_EPTP_he3_E" 1/3), 2("B1_EPTP_he4_S" 1/3), 2("B1_EPTP_he4_A" 1/3), 1("B1_EPTP_he4_E" 1/3)
|
||||
|
||||
# Unstable
|
||||
0x0355/0x0, 1("NU_HETB_tail_low_p_S" 5/3), 1("NU_HETB_tail_low_p_A" 5/3), 2("NU_HETB_he34_S" 4/3), 2("NU_HETB_he34_A" 4/3), 5("NU_HETP_lbb_E" 5/3), 1("NU_HETB_cno_S" 5/3), 1("NU_HETB_cno_A" 5/3), 11("NU_HETC_ne_S" 5/3), 11("NU_HETC_ne_A" 5/3), 11("NU_HETC_mg_S" 5/3), 11("NU_HETC_mg_A" 5/3), 11("NU_HETC_si_S" 5/3), 11("NU_HETC_si_A" 5/3), 11("NU_HETC_s_S" 5/3), 11("NU_HETC_s_A" 5/3), 5("NU_HETB_ne_S" 5/3), 5("NU_HETB_ne_A" 5/3), 5("NU_HETB_mg_S" 5/3), 5("NU_HETB_mg_A" 5/3), 5("NU_HETB_si_S" 5/3), 5("NU_HETB_si_A" 5/3), 5("NU_HETB_s_S" 5/3), 5("NU_HETB_s_A" 5/3), 1("NU_HETB_wpen_nemgsis_S" 6/3), 1("NU_HETB_wpen_nemgsis_A" 6/3), 7("NU_HETP_nemgsis_E" 7/3), 11("NU_HETC_ar_S" 5/3), 11("NU_HETC_ar_A" 5/3), 11("NU_HETC_ca_S" 5/3), 11("NU_HETC_ca_A" 5/3), 11("NU_HETC_ni_S" 5/3), 11("NU_HETC_ni_A" 5/3), 5("NU_HETB_ar_S" 5/3), 5("NU_HETB_ar_A" 5/3), 5("NU_HETB_ca_S" 5/3), 5("NU_HETB_ca_A" 5/3), 5("NU_HETB_ni_S" 5/3), 5("NU_HETB_ni_A" 5/3), 1("NU_HETB_wpen_arcafeni_S" 6/3), 1("NU_HETB_wpen_arcafeni_A" 6/3), 2("NU_HETG_p_E" 4/3)
|
||||
|
||||
# Burst2n
|
||||
0x0369/0x0, 6("B2_HETB_p_S" 0/3), 6("B2_HETB_p_A" 0/3), 62("B2_HETC_p_S" 0/3), 62("B2_HETC_p_A" 0/3), 2("B2_HETP_p_S" 0/3), 2("B2_HETP_p_A" 0/3), 3("B2_HETP_p_E" 0/3), 4("B2_HETB_he3_S" 1/3), 4("B2_HETB_he3_A" 1/3), 6("B2_HETB_he4_S" 1/3), 6("B2_HETB_he4_A" 1/3), 5("B2_HETC_he3_S" 1/3), 5("B2_HETC_he3_A" 1/3), 11("B2_HETC_he4_S" 1/3), 11("B2_HETC_he4_A" 1/3), 4("B2_HETB_he_S" 0/3), 4("B2_HETB_he_A" 0/3), 2("B2_HETP_he_S" 1/3), 2("B2_HETP_he_A" 1/3), 3("B2_HETP_he_E" 1/3), 7("B2_HETG_p_E" 1/3)
|
||||
|
||||
# HET/EPT1 FM1, version 10, rev 0
|
||||
|
||||
# env = {FAR}
|
||||
# version/dps: 10/0
|
||||
|
||||
|
||||
# apid/flags, n("section"sum enc/fmt)
|
||||
# apid: 0x0300 + Tag
|
||||
# flags: /-separated flags: 0..3 or 'h' or 'r'
|
||||
# n: dps_items in section
|
||||
# section: section name; may not contain whitespace
|
||||
# sum, enc: cadence
|
||||
# fmt: 0..3: float16, log2, uint24, encoded
|
||||
# version: 0000
|
||||
|
||||
# S20data
|
||||
0x0320/0x0, 4("S20_e_S" 0/1), 4("S20_e_A" 0/1), 1("S20_p_S" 0/1), 1("S20_p_A" 0/1)
|
||||
|
||||
# Low Latency
|
||||
0x0331/0x0/0x2, 8("LL_EPT_e_S" 3/1), 8("LL_EPT_e_A" 3/1), 18("LL_EPT_i_S" 3/1), 18("LL_EPT_i_A" 3/1), 1("LL_EPT_T_e_S" 1/3), 1("LL_EPT_T_e_A" 1/3), 2("LL_EPT_T_i_S" 1/3), 2("LL_EPT_T_i_A" 1/3), 2("LL_HETB_p_S" 3/1), 2("LL_HETB_p_A" 3/1), 10("LL_HETC_p_S" 3/1), 10("LL_HETC_p_A" 3/1), 2("LL_HETP_p_S" 3/1), 2("LL_HETP_p_A" 3/1), 2("LL_HETP_p_E" 3/1), 1("LL_HETB_e_S" 3/1), 1("LL_HETB_e_A" 3/1), 3("LL_HETC_e_S" 3/1), 3("LL_HETC_e_A" 3/1), 2("LL_HETB_he3_S" 5/1), 2("LL_HETB_he3_A" 5/1), 2("LL_HETB_he4_S" 5/1), 2("LL_HETB_he4_A" 5/1), 4("LL_HETC_he3_S" 5/1), 4("LL_HETC_he3_A" 5/1), 8("LL_HETC_he4_S" 5/1), 8("LL_HETC_he4_A" 5/1), 4("LL_HETB_he_S" 5/1), 4("LL_HETB_he_A" 5/1), 2("LL_HETP_he_S" 5/1), 2("LL_HETP_he_A" 5/1), 2("LL_HETP_he_E" 5/1), 6("LL_HETB_cno_S" 6/1), 6("LL_HETB_cno_A" 6/1), 9("LL_HETC_cno_S" 6/1), 9("LL_HETC_cno_A" 6/1), 2("LL_HETP_cno_S" 7/1), 2("LL_HETP_cno_A" 7/1), 2("LL_HETP_cno_E" 7/1), 2("LL_HETB_fe_S" 6/1), 2("LL_HETB_fe_A" 6/1), 3("LL_HETC_fe_S" 7/1), 3("LL_HETC_fe_A" 7/1), 1("LL_HETP_fe_S" 7/1), 1("LL_HETP_fe_A" 7/1), 3("LL_HETC_T_p_S" 1/3), 3("LL_HETC_T_p_A" 1/3), 1("LL_HETC_T_e_S" 1/3), 1("LL_HETC_T_e_A" 1/3)
|
||||
|
||||
# Nominal
|
||||
0x0351/0x1, 77("NO_EPT_mag_S" 1/3), 77("NO_EPT_mag_A" 1/3), 77("NO_EPT_foil_S" 1/3), 77("NO_EPT_foil_A" 1/3), 2("NO_EPTP_e_S" 3/3), 2("NO_EPTP_e_A" 3/3), 4("NO_EPTP_p_S" 3/3), 4("NO_EPTP_p_A" 3/3), 4("NO_EPTP_p_E" 3/3), 2("NO_EPTP_he3_S" 4/3), 2("NO_EPTP_he3_A" 4/3), 1("NO_EPTP_he3_E" 4/3), 2("NO_EPTP_he4_S" 4/3), 2("NO_EPTP_he4_A" 4/3), 1("NO_EPTP_he4_E" 4/3), 1("NO_EPTP_he_S" 4/3), 1("NO_EPTP_he_A" 4/3), 4("NO_EPTP_he_E" 4/3), 1("NO_HETP_bg_S" 6/3), 1("NO_HETP_bg_A" 6/3), 1("NO_HETB_bg_S" 6/3), 1("NO_HETB_bg_A" 6/3), 5("NO_HETB_p_S" 3/3), 5("NO_HETB_p_A" 3/3), 1("NO_HETB_tail_high_p_S" 3/3), 1("NO_HETB_tail_high_p_A" 3/3), 31("NO_HETC_p_S" 3/3), 31("NO_HETC_p_A" 3/3), 2("NO_HETP_p_S" 3/3), 2("NO_HETP_p_A" 3/3), 3("NO_HETP_p_E" 4/3), 1("NO_HETB_H_p_S" 1/3), 1("NO_HETB_H_p_A" 1/3), 3("NO_HETC_H_p_S" 1/3), 3("NO_HETC_H_p_A" 1/3), 1("NO_HETB_e_S" 1/3), 1("NO_HETB_e_A" 1/3), 3("NO_HETC_e_S" 1/3), 3("NO_HETC_e_A" 1/3), 1("NO_HETC_H_e_S" 4/3), 1("NO_HETC_H_e_A" 4/3), 4("NO_HETB_he3_S" 4/3), 4("NO_HETB_he3_A" 4/3), 4("NO_HETB_he4_S" 4/3), 4("NO_HETB_he4_A" 4/3), 5("NO_HETC_he3_S" 4/3), 5("NO_HETC_he3_A" 4/3), 11("NO_HETC_he4_S" 4/3), 11("NO_HETC_he4_A" 4/3), 6("NO_HETB_he_S" 3/3), 6("NO_HETB_he_A" 3/3), 2("NO_HETP_he_S" 5/3), 2("NO_HETP_he_A" 5/3), 4("NO_HETP_he_E" 5/3), 12("NO_HETC_c_S" 5/3), 12("NO_HETC_c_A" 5/3), 12("NO_HETC_n_S" 5/3), 12("NO_HETC_n_A" 5/3), 12("NO_HETC_o_S" 5/3), 12("NO_HETC_o_A" 5/3), 5("NO_HETB_c_S" 5/3), 5("NO_HETB_c_A" 5/3), 5("NO_HETB_n_S" 5/3), 5("NO_HETB_n_A" 5/3), 5("NO_HETB_o_S" 5/3), 5("NO_HETB_o_A" 5/3), 2("NO_HETP_cno_S" 6/3), 2("NO_HETP_cno_A" 6/3), 6("NO_HETP_cno_E" 6/3), 11("NO_HETC_fe_S" 6/3), 11("NO_HETC_fe_A" 6/3), 5("NO_HETB_fe_S" 6/3), 5("NO_HETB_fe_A" 6/3), 2("NO_HETP_fe_S" 6/3), 2("NO_HETP_fe_A" 6/3), 3("NO_HETP_fe_E" 6/3)
|
||||
|
||||
# Burst1n
|
||||
0x0361/0x1, 48("B1_EPT_mag_S" 2/3), 48("B1_EPT_mag_A" 2/3), 2("B1_EPTP_he3_S" 1/3), 2("B1_EPTP_he3_A" 1/3), 1("B1_EPTP_he3_E" 1/3), 2("B1_EPTP_he4_S" 1/3), 2("B1_EPTP_he4_A" 1/3), 1("B1_EPTP_he4_E" 1/3)
|
||||
|
||||
# Unstable
|
||||
0x0355/0x1, 1("NU_HETB_tail_low_p_S" 6/3), 1("NU_HETB_tail_low_p_A" 6/3), 2("NU_HETB_he34_S" 5/3), 2("NU_HETB_he34_A" 5/3), 5("NU_HETP_lbb_E" 6/3), 1("NU_HETB_cno_S" 6/3), 1("NU_HETB_cno_A" 6/3), 11("NU_HETC_ne_S" 6/3), 11("NU_HETC_ne_A" 6/3), 11("NU_HETC_mg_S" 6/3), 11("NU_HETC_mg_A" 6/3), 11("NU_HETC_si_S" 6/3), 11("NU_HETC_si_A" 6/3), 11("NU_HETC_s_S" 6/3), 11("NU_HETC_s_A" 6/3), 5("NU_HETB_ne_S" 6/3), 5("NU_HETB_ne_A" 6/3), 5("NU_HETB_mg_S" 6/3), 5("NU_HETB_mg_A" 6/3), 5("NU_HETB_si_S" 6/3), 5("NU_HETB_si_A" 6/3), 5("NU_HETB_s_S" 6/3), 5("NU_HETB_s_A" 6/3), 1("NU_HETB_wpen_nemgsis_S" 6/3), 1("NU_HETB_wpen_nemgsis_A" 6/3), 7("NU_HETP_nemgsis_E" 7/3), 11("NU_HETC_ar_S" 6/3), 11("NU_HETC_ar_A" 6/3), 11("NU_HETC_ca_S" 6/3), 11("NU_HETC_ca_A" 6/3), 11("NU_HETC_ni_S" 6/3), 11("NU_HETC_ni_A" 6/3), 5("NU_HETB_ar_S" 6/3), 5("NU_HETB_ar_A" 6/3), 5("NU_HETB_ca_S" 6/3), 5("NU_HETB_ca_A" 6/3), 5("NU_HETB_ni_S" 6/3), 5("NU_HETB_ni_A" 6/3), 1("NU_HETB_wpen_arcafeni_S" 6/3), 1("NU_HETB_wpen_arcafeni_A" 6/3), 2("NU_HETG_p_E" 5/3)
|
||||
|
||||
# Burst2n
|
||||
0x0369/0x1, 6("B2_HETB_p_S" 0/3), 6("B2_HETB_p_A" 0/3), 62("B2_HETC_p_S" 0/3), 62("B2_HETC_p_A" 0/3), 2("B2_HETP_p_S" 0/3), 2("B2_HETP_p_A" 0/3), 3("B2_HETP_p_E" 0/3), 4("B2_HETB_he3_S" 1/3), 4("B2_HETB_he3_A" 1/3), 6("B2_HETB_he4_S" 1/3), 6("B2_HETB_he4_A" 1/3), 5("B2_HETC_he3_S" 1/3), 5("B2_HETC_he3_A" 1/3), 11("B2_HETC_he4_S" 1/3), 11("B2_HETC_he4_A" 1/3), 4("B2_HETB_he_S" 0/3), 4("B2_HETB_he_A" 0/3), 2("B2_HETP_he_S" 1/3), 2("B2_HETP_he_A" 1/3), 3("B2_HETP_he_E" 1/3), 1("B2_HETB_e_S" 0/3), 1("B2_HETB_e_A" 0/3), 3("B2_HETC_e_S" 0/3), 3("B2_HETC_e_A" 0/3), 7("B2_HETG_p_E" 1/3)
|
||||
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
#<tag>:\n\t<ad> <us> <mod_phase> <mod_cadence> <header>\n...
|
||||
0x48:
|
||||
0x0148 6 1 600 0x0000007f
|
||||
0x0548 9 3 600 0x10040090
|
||||
0x0548 11 8 3600 0x080400c0
|
||||
0x0548 12 68 3600 0x0c0400a0
|
||||
0x0548 13 128 3600 0x100f00000
|
||||
0x0548 15 188 3600 0x202c2000
|
||||
0x0548 60 0 600 0x10040030
|
||||
0x0548 85 0 600 0x10040000
|
||||
0x0848 170 0 60 0x0000820c
|
||||
0x0848 171 298 3600 0x000081e7
|
||||
|
||||
0x54:
|
||||
0x0554 21 7 300 0x100a00000
|
||||
0x0554 23 17 300 0x100a00100
|
||||
0x0554 24 27 300 0x100a00200
|
||||
0x0554 25 37 300 0x100a00300
|
||||
0x0554 27 47 300 0x100a00400
|
||||
0x0554 28 57 300 0x100a00500
|
||||
0x0554 29 67 300 0x100a00600
|
||||
0x0554 31 77 300 0x100a00700
|
||||
0x0554 32 87 300 0x100a00800
|
||||
0x0554 33 97 300 0x100a00900
|
||||
0x0554 35 107 300 0x100a00a00
|
||||
0x0554 36 117 300 0x100a00b00
|
||||
0x0554 37 127 300 0x100a00c00
|
||||
0x0554 39 137 300 0x100a00d00
|
||||
0x0554 40 147 300 0x100a00e00
|
||||
0x0554 41 157 300 0x100a00f00
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +0,0 @@
|
|||
msg(0x000f, 3, 0x0000093500090004)
|
||||
msg(0x268c, 3, 0x0000af1f0000c002)
|
||||
msg(0x268d, 3, 0x007270e009188600)
|
||||
msg(0x2697, 1, 0x00000000000000ff)
|
||||
msg(0x2696, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">5</parameter>
|
||||
<parameter name="Messages" id="PID00075">c00f0000093500090004e68c0000af1f0000c002e68d007270e009188600669700ffe6960003e8010000413c</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
msg(0x268c, 3, 0x0000af1f0000c002)
|
||||
msg(0x268d, 3, 0x007270e00f78ff00)
|
||||
msg(0x2697, 1, 0x00000000000000ff)
|
||||
msg(0x2696, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">3</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">4</parameter>
|
||||
<parameter name="Messages" id="PID00075">e68c0000af1f0000c002e68d007270e00f78ff00669700ffe6960003e8010000413c</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
#! /usr/bin/python3
|
||||
|
||||
from ...hetept1.v0009.hetept_config_hetele_patch5 import patch2
|
||||
|
||||
def main():
|
||||
patch2.main()
|
||||
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
# HET/EPT2 FM2, version 10, rev 0
|
||||
|
||||
# env = {CLOSE}
|
||||
# version/dps: 10/0
|
||||
|
||||
|
||||
# apid/flags, n("section"sum enc/fmt)
|
||||
# apid: 0x0300 + Tag
|
||||
# flags: /-separated flags: 0..3 or 'h' or 'r'
|
||||
# n: dps_items in section
|
||||
# section: section name; may not contain whitespace
|
||||
# sum, enc: cadence
|
||||
# fmt: 0..3: float16, log2, uint24, encoded
|
||||
# version: 0010
|
||||
|
||||
# S20data
|
||||
0x0320/0x0, 4("S20_e_N" 0/1), 4("S20_e_D" 0/1), 1("S20_p_N" 0/1), 1("S20_p_D" 0/1)
|
||||
|
||||
# Low Latency
|
||||
0x0332/0x0/0x2, 8("LL_EPT_e_N" 3/1), 8("LL_EPT_e_D" 3/1), 18("LL_EPT_i_N" 3/1), 18("LL_EPT_i_D" 3/1), 1("LL_EPT_T_e_N" 1/3), 1("LL_EPT_T_e_D" 1/3), 2("LL_EPT_T_i_N" 1/3), 2("LL_EPT_T_i_D" 1/3), 2("LL_HETB_p_N" 3/1), 2("LL_HETB_p_D" 3/1), 10("LL_HETC_p_N" 3/1), 10("LL_HETC_p_D" 3/1), 2("LL_HETP_p_N" 3/1), 2("LL_HETP_p_D" 3/1), 2("LL_HETP_p_P" 3/1), 1("LL_HETB_e_N" 3/1), 1("LL_HETB_e_D" 3/1), 3("LL_HETC_e_N" 3/1), 3("LL_HETC_e_D" 3/1), 2("LL_HETB_he3_N" 5/1), 2("LL_HETB_he3_D" 5/1), 2("LL_HETB_he4_N" 5/1), 2("LL_HETB_he4_D" 5/1), 4("LL_HETC_he3_N" 5/1), 4("LL_HETC_he3_D" 5/1), 8("LL_HETC_he4_N" 5/1), 8("LL_HETC_he4_D" 5/1), 4("LL_HETB_he_N" 5/1), 4("LL_HETB_he_D" 5/1), 2("LL_HETP_he_N" 5/1), 2("LL_HETP_he_D" 5/1), 2("LL_HETP_he_P" 5/1), 6("LL_HETB_cno_N" 6/1), 6("LL_HETB_cno_D" 6/1), 9("LL_HETC_cno_N" 6/1), 9("LL_HETC_cno_D" 6/1), 2("LL_HETP_cno_N" 7/1), 2("LL_HETP_cno_D" 7/1), 2("LL_HETP_cno_P" 7/1), 2("LL_HETB_fe_N" 6/1), 2("LL_HETB_fe_D" 6/1), 3("LL_HETC_fe_N" 7/1), 3("LL_HETC_fe_D" 7/1), 1("LL_HETP_fe_N" 7/1), 1("LL_HETP_fe_D" 7/1), 3("LL_HETC_T_p_N" 1/3), 3("LL_HETC_T_p_D" 1/3), 1("LL_HETC_T_e_N" 1/3), 1("LL_HETC_T_e_D" 1/3)
|
||||
|
||||
# Nominal
|
||||
0x0352/0x0, 77("NO_EPT_mag_N" 0/3), 77("NO_EPT_mag_D" 0/3), 77("NO_EPT_foil_N" 0/3), 77("NO_EPT_foil_D" 0/3), 2("NO_EPTP_e_N" 1/3), 2("NO_EPTP_e_D" 1/3), 4("NO_EPTP_p_N" 1/3), 4("NO_EPTP_p_D" 1/3), 4("NO_EPTP_p_P" 1/3), 2("NO_EPTP_he3_N" 3/3), 2("NO_EPTP_he3_D" 3/3), 1("NO_EPTP_he3_P" 3/3), 2("NO_EPTP_he4_N" 3/3), 2("NO_EPTP_he4_D" 3/3), 1("NO_EPTP_he4_P" 3/3), 1("NO_EPTP_he_N" 3/3), 1("NO_EPTP_he_D" 3/3), 4("NO_EPTP_he_P" 3/3), 1("NO_HETP_bg_N" 6/3), 1("NO_HETP_bg_D" 6/3), 1("NO_HETB_bg_N" 6/3), 1("NO_HETB_bg_D" 6/3), 5("NO_HETB_p_N" 1/3), 5("NO_HETB_p_D" 1/3), 1("NO_HETB_tail_high_p_N" 1/3), 1("NO_HETB_tail_high_p_D" 1/3), 31("NO_HETC_p_N" 1/3), 31("NO_HETC_p_D" 1/3), 2("NO_HETP_p_N" 1/3), 2("NO_HETP_p_D" 1/3), 3("NO_HETP_p_P" 3/3), 1("NO_HETB_H_p_N" 0/3), 1("NO_HETB_H_p_D" 0/3), 3("NO_HETC_H_p_N" 0/3), 3("NO_HETC_H_p_D" 0/3), 1("NO_HETB_e_N" 0/3), 1("NO_HETB_e_D" 0/3), 3("NO_HETC_e_N" 0/3), 3("NO_HETC_e_D" 0/3), 1("NO_HETC_H_e_N" 3/3), 1("NO_HETC_H_e_D" 3/3), 4("NO_HETB_he3_N" 3/3), 4("NO_HETB_he3_D" 3/3), 4("NO_HETB_he4_N" 3/3), 4("NO_HETB_he4_D" 3/3), 5("NO_HETC_he3_N" 3/3), 5("NO_HETC_he3_D" 3/3), 11("NO_HETC_he4_N" 3/3), 11("NO_HETC_he4_D" 3/3), 6("NO_HETB_he_N" 1/3), 6("NO_HETB_he_D" 1/3), 2("NO_HETP_he_N" 4/3), 2("NO_HETP_he_D" 4/3), 4("NO_HETP_he_P" 4/3), 12("NO_HETC_c_N" 4/3), 12("NO_HETC_c_D" 4/3), 12("NO_HETC_n_N" 4/3), 12("NO_HETC_n_D" 4/3), 12("NO_HETC_o_N" 4/3), 12("NO_HETC_o_D" 4/3), 5("NO_HETB_c_N" 4/3), 5("NO_HETB_c_D" 4/3), 5("NO_HETB_n_N" 4/3), 5("NO_HETB_n_D" 4/3), 5("NO_HETB_o_N" 4/3), 5("NO_HETB_o_D" 4/3), 2("NO_HETP_cno_N" 6/3), 2("NO_HETP_cno_D" 6/3), 6("NO_HETP_cno_P" 6/3), 11("NO_HETC_fe_N" 5/3), 11("NO_HETC_fe_D" 5/3), 5("NO_HETB_fe_N" 5/3), 5("NO_HETB_fe_D" 5/3), 2("NO_HETP_fe_N" 6/3), 2("NO_HETP_fe_D" 6/3), 3("NO_HETP_fe_P" 6/3)
|
||||
|
||||
# Burst1n
|
||||
0x0362/0x0, 48("B1_EPT_mag_N" 2/3), 48("B1_EPT_mag_D" 2/3), 2("B1_EPTP_he3_N" 1/3), 2("B1_EPTP_he3_D" 1/3), 1("B1_EPTP_he3_P" 1/3), 2("B1_EPTP_he4_N" 1/3), 2("B1_EPTP_he4_D" 1/3), 1("B1_EPTP_he4_P" 1/3)
|
||||
|
||||
# Unstable
|
||||
0x0356/0x0, 1("NU_HETB_tail_low_p_N" 5/3), 1("NU_HETB_tail_low_p_D" 5/3), 2("NU_HETB_he34_N" 4/3), 2("NU_HETB_he34_D" 4/3), 5("NU_HETP_lbb_P" 5/3), 1("NU_HETB_cno_N" 5/3), 1("NU_HETB_cno_D" 5/3), 11("NU_HETC_ne_N" 5/3), 11("NU_HETC_ne_D" 5/3), 11("NU_HETC_mg_N" 5/3), 11("NU_HETC_mg_D" 5/3), 11("NU_HETC_si_N" 5/3), 11("NU_HETC_si_D" 5/3), 11("NU_HETC_s_N" 5/3), 11("NU_HETC_s_D" 5/3), 5("NU_HETB_ne_N" 5/3), 5("NU_HETB_ne_D" 5/3), 5("NU_HETB_mg_N" 5/3), 5("NU_HETB_mg_D" 5/3), 5("NU_HETB_si_N" 5/3), 5("NU_HETB_si_D" 5/3), 5("NU_HETB_s_N" 5/3), 5("NU_HETB_s_D" 5/3), 1("NU_HETB_wpen_nemgsis_N" 6/3), 1("NU_HETB_wpen_nemgsis_D" 6/3), 7("NU_HETP_nemgsis_P" 7/3), 11("NU_HETC_ar_N" 5/3), 11("NU_HETC_ar_D" 5/3), 11("NU_HETC_ca_N" 5/3), 11("NU_HETC_ca_D" 5/3), 11("NU_HETC_ni_N" 5/3), 11("NU_HETC_ni_D" 5/3), 5("NU_HETB_ar_N" 5/3), 5("NU_HETB_ar_D" 5/3), 5("NU_HETB_ca_N" 5/3), 5("NU_HETB_ca_D" 5/3), 5("NU_HETB_ni_N" 5/3), 5("NU_HETB_ni_D" 5/3), 1("NU_HETB_wpen_arcafeni_N" 6/3), 1("NU_HETB_wpen_arcafeni_D" 6/3), 2("NU_HETG_p_P" 4/3)
|
||||
|
||||
# Burst2n
|
||||
0x036a/0x0, 6("B2_HETB_p_N" 0/3), 6("B2_HETB_p_D" 0/3), 62("B2_HETC_p_N" 0/3), 62("B2_HETC_p_D" 0/3), 2("B2_HETP_p_N" 0/3), 2("B2_HETP_p_D" 0/3), 3("B2_HETP_p_P" 0/3), 4("B2_HETB_he3_N" 1/3), 4("B2_HETB_he3_D" 1/3), 6("B2_HETB_he4_N" 1/3), 6("B2_HETB_he4_D" 1/3), 5("B2_HETC_he3_N" 1/3), 5("B2_HETC_he3_D" 1/3), 11("B2_HETC_he4_N" 1/3), 11("B2_HETC_he4_D" 1/3), 4("B2_HETB_he_N" 0/3), 4("B2_HETB_he_D" 0/3), 2("B2_HETP_he_N" 1/3), 2("B2_HETP_he_D" 1/3), 3("B2_HETP_he_P" 1/3), 7("B2_HETG_p_P" 1/3)
|
||||
|
||||
# HET/EPT2 FM2, version 10, rev 0
|
||||
|
||||
# env = {FAR}
|
||||
# version/dps: 10/0
|
||||
|
||||
|
||||
# apid/flags, n("section"sum enc/fmt)
|
||||
# apid: 0x0300 + Tag
|
||||
# flags: /-separated flags: 0..3 or 'h' or 'r'
|
||||
# n: dps_items in section
|
||||
# section: section name; may not contain whitespace
|
||||
# sum, enc: cadence
|
||||
# fmt: 0..3: float16, log2, uint24, encoded
|
||||
# version: 0000
|
||||
|
||||
# S20data
|
||||
0x0320/0x0, 4("S20_e_N" 0/1), 4("S20_e_D" 0/1), 1("S20_p_N" 0/1), 1("S20_p_D" 0/1)
|
||||
|
||||
# Low Latency
|
||||
0x0332/0x0/0x2, 8("LL_EPT_e_N" 3/1), 8("LL_EPT_e_D" 3/1), 18("LL_EPT_i_N" 3/1), 18("LL_EPT_i_D" 3/1), 1("LL_EPT_T_e_N" 1/3), 1("LL_EPT_T_e_D" 1/3), 2("LL_EPT_T_i_N" 1/3), 2("LL_EPT_T_i_D" 1/3), 2("LL_HETB_p_N" 3/1), 2("LL_HETB_p_D" 3/1), 10("LL_HETC_p_N" 3/1), 10("LL_HETC_p_D" 3/1), 2("LL_HETP_p_N" 3/1), 2("LL_HETP_p_D" 3/1), 2("LL_HETP_p_P" 3/1), 1("LL_HETB_e_N" 3/1), 1("LL_HETB_e_D" 3/1), 3("LL_HETC_e_N" 3/1), 3("LL_HETC_e_D" 3/1), 2("LL_HETB_he3_N" 5/1), 2("LL_HETB_he3_D" 5/1), 2("LL_HETB_he4_N" 5/1), 2("LL_HETB_he4_D" 5/1), 4("LL_HETC_he3_N" 5/1), 4("LL_HETC_he3_D" 5/1), 8("LL_HETC_he4_N" 5/1), 8("LL_HETC_he4_D" 5/1), 4("LL_HETB_he_N" 5/1), 4("LL_HETB_he_D" 5/1), 2("LL_HETP_he_N" 5/1), 2("LL_HETP_he_D" 5/1), 2("LL_HETP_he_P" 5/1), 6("LL_HETB_cno_N" 6/1), 6("LL_HETB_cno_D" 6/1), 9("LL_HETC_cno_N" 6/1), 9("LL_HETC_cno_D" 6/1), 2("LL_HETP_cno_N" 7/1), 2("LL_HETP_cno_D" 7/1), 2("LL_HETP_cno_P" 7/1), 2("LL_HETB_fe_N" 6/1), 2("LL_HETB_fe_D" 6/1), 3("LL_HETC_fe_N" 7/1), 3("LL_HETC_fe_D" 7/1), 1("LL_HETP_fe_N" 7/1), 1("LL_HETP_fe_D" 7/1), 3("LL_HETC_T_p_N" 1/3), 3("LL_HETC_T_p_D" 1/3), 1("LL_HETC_T_e_N" 1/3), 1("LL_HETC_T_e_D" 1/3)
|
||||
|
||||
# Nominal
|
||||
0x0352/0x1, 77("NO_EPT_mag_N" 1/3), 77("NO_EPT_mag_D" 1/3), 77("NO_EPT_foil_N" 1/3), 77("NO_EPT_foil_D" 1/3), 2("NO_EPTP_e_N" 3/3), 2("NO_EPTP_e_D" 3/3), 4("NO_EPTP_p_N" 3/3), 4("NO_EPTP_p_D" 3/3), 4("NO_EPTP_p_P" 3/3), 2("NO_EPTP_he3_N" 4/3), 2("NO_EPTP_he3_D" 4/3), 1("NO_EPTP_he3_P" 4/3), 2("NO_EPTP_he4_N" 4/3), 2("NO_EPTP_he4_D" 4/3), 1("NO_EPTP_he4_P" 4/3), 1("NO_EPTP_he_N" 4/3), 1("NO_EPTP_he_D" 4/3), 4("NO_EPTP_he_P" 4/3), 1("NO_HETP_bg_N" 6/3), 1("NO_HETP_bg_D" 6/3), 1("NO_HETB_bg_N" 6/3), 1("NO_HETB_bg_D" 6/3), 5("NO_HETB_p_N" 3/3), 5("NO_HETB_p_D" 3/3), 1("NO_HETB_tail_high_p_N" 3/3), 1("NO_HETB_tail_high_p_D" 3/3), 31("NO_HETC_p_N" 3/3), 31("NO_HETC_p_D" 3/3), 2("NO_HETP_p_N" 3/3), 2("NO_HETP_p_D" 3/3), 3("NO_HETP_p_P" 4/3), 1("NO_HETB_H_p_N" 1/3), 1("NO_HETB_H_p_D" 1/3), 3("NO_HETC_H_p_N" 1/3), 3("NO_HETC_H_p_D" 1/3), 1("NO_HETB_e_N" 1/3), 1("NO_HETB_e_D" 1/3), 3("NO_HETC_e_N" 1/3), 3("NO_HETC_e_D" 1/3), 1("NO_HETC_H_e_N" 4/3), 1("NO_HETC_H_e_D" 4/3), 4("NO_HETB_he3_N" 4/3), 4("NO_HETB_he3_D" 4/3), 4("NO_HETB_he4_N" 4/3), 4("NO_HETB_he4_D" 4/3), 5("NO_HETC_he3_N" 4/3), 5("NO_HETC_he3_D" 4/3), 11("NO_HETC_he4_N" 4/3), 11("NO_HETC_he4_D" 4/3), 6("NO_HETB_he_N" 3/3), 6("NO_HETB_he_D" 3/3), 2("NO_HETP_he_N" 5/3), 2("NO_HETP_he_D" 5/3), 4("NO_HETP_he_P" 5/3), 12("NO_HETC_c_N" 5/3), 12("NO_HETC_c_D" 5/3), 12("NO_HETC_n_N" 5/3), 12("NO_HETC_n_D" 5/3), 12("NO_HETC_o_N" 5/3), 12("NO_HETC_o_D" 5/3), 5("NO_HETB_c_N" 5/3), 5("NO_HETB_c_D" 5/3), 5("NO_HETB_n_N" 5/3), 5("NO_HETB_n_D" 5/3), 5("NO_HETB_o_N" 5/3), 5("NO_HETB_o_D" 5/3), 2("NO_HETP_cno_N" 6/3), 2("NO_HETP_cno_D" 6/3), 6("NO_HETP_cno_P" 6/3), 11("NO_HETC_fe_N" 6/3), 11("NO_HETC_fe_D" 6/3), 5("NO_HETB_fe_N" 6/3), 5("NO_HETB_fe_D" 6/3), 2("NO_HETP_fe_N" 6/3), 2("NO_HETP_fe_D" 6/3), 3("NO_HETP_fe_P" 6/3)
|
||||
|
||||
# Burst1n
|
||||
0x0362/0x1, 48("B1_EPT_mag_N" 2/3), 48("B1_EPT_mag_D" 2/3), 2("B1_EPTP_he3_N" 1/3), 2("B1_EPTP_he3_D" 1/3), 1("B1_EPTP_he3_P" 1/3), 2("B1_EPTP_he4_N" 1/3), 2("B1_EPTP_he4_D" 1/3), 1("B1_EPTP_he4_P" 1/3)
|
||||
|
||||
# Unstable
|
||||
0x0356/0x1, 1("NU_HETB_tail_low_p_N" 6/3), 1("NU_HETB_tail_low_p_D" 6/3), 2("NU_HETB_he34_N" 5/3), 2("NU_HETB_he34_D" 5/3), 5("NU_HETP_lbb_P" 6/3), 1("NU_HETB_cno_N" 6/3), 1("NU_HETB_cno_D" 6/3), 11("NU_HETC_ne_N" 6/3), 11("NU_HETC_ne_D" 6/3), 11("NU_HETC_mg_N" 6/3), 11("NU_HETC_mg_D" 6/3), 11("NU_HETC_si_N" 6/3), 11("NU_HETC_si_D" 6/3), 11("NU_HETC_s_N" 6/3), 11("NU_HETC_s_D" 6/3), 5("NU_HETB_ne_N" 6/3), 5("NU_HETB_ne_D" 6/3), 5("NU_HETB_mg_N" 6/3), 5("NU_HETB_mg_D" 6/3), 5("NU_HETB_si_N" 6/3), 5("NU_HETB_si_D" 6/3), 5("NU_HETB_s_N" 6/3), 5("NU_HETB_s_D" 6/3), 1("NU_HETB_wpen_nemgsis_N" 6/3), 1("NU_HETB_wpen_nemgsis_D" 6/3), 7("NU_HETP_nemgsis_P" 7/3), 11("NU_HETC_ar_N" 6/3), 11("NU_HETC_ar_D" 6/3), 11("NU_HETC_ca_N" 6/3), 11("NU_HETC_ca_D" 6/3), 11("NU_HETC_ni_N" 6/3), 11("NU_HETC_ni_D" 6/3), 5("NU_HETB_ar_N" 6/3), 5("NU_HETB_ar_D" 6/3), 5("NU_HETB_ca_N" 6/3), 5("NU_HETB_ca_D" 6/3), 5("NU_HETB_ni_N" 6/3), 5("NU_HETB_ni_D" 6/3), 1("NU_HETB_wpen_arcafeni_N" 6/3), 1("NU_HETB_wpen_arcafeni_D" 6/3), 2("NU_HETG_p_P" 5/3)
|
||||
|
||||
# Burst2n
|
||||
0x036a/0x1, 6("B2_HETB_p_N" 0/3), 6("B2_HETB_p_D" 0/3), 62("B2_HETC_p_N" 0/3), 62("B2_HETC_p_D" 0/3), 2("B2_HETP_p_N" 0/3), 2("B2_HETP_p_D" 0/3), 3("B2_HETP_p_P" 0/3), 4("B2_HETB_he3_N" 1/3), 4("B2_HETB_he3_D" 1/3), 6("B2_HETB_he4_N" 1/3), 6("B2_HETB_he4_D" 1/3), 5("B2_HETC_he3_N" 1/3), 5("B2_HETC_he3_D" 1/3), 11("B2_HETC_he4_N" 1/3), 11("B2_HETC_he4_D" 1/3), 4("B2_HETB_he_N" 0/3), 4("B2_HETB_he_D" 0/3), 2("B2_HETP_he_N" 1/3), 2("B2_HETP_he_D" 1/3), 3("B2_HETP_he_P" 1/3), 1("B2_HETB_e_N" 0/3), 1("B2_HETB_e_D" 0/3), 3("B2_HETC_e_N" 0/3), 3("B2_HETC_e_D" 0/3), 7("B2_HETG_p_P" 1/3)
|
||||
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
#<tag>:\n\t<ad> <us> <mod_phase> <mod_cadence> <header>\n...
|
||||
0x48:
|
||||
0x0148 6 1 600 0x0000007f
|
||||
0x0548 9 3 600 0x10040090
|
||||
0x0548 11 8 3600 0x080400c0
|
||||
0x0548 12 68 3600 0x0c0400a0
|
||||
0x0548 13 128 3600 0x100f00000
|
||||
0x0548 15 188 3600 0x202c2000
|
||||
0x0548 60 0 600 0x10040030
|
||||
0x0548 85 0 600 0x10040000
|
||||
0x0848 170 0 60 0x0000820c
|
||||
0x0848 171 298 3600 0x000081e7
|
||||
|
||||
0x54:
|
||||
0x0554 21 7 300 0x100a00000
|
||||
0x0554 23 17 300 0x100a00100
|
||||
0x0554 24 27 300 0x100a00200
|
||||
0x0554 25 37 300 0x100a00300
|
||||
0x0554 27 47 300 0x100a00400
|
||||
0x0554 28 57 300 0x100a00500
|
||||
0x0554 29 67 300 0x100a00600
|
||||
0x0554 31 77 300 0x100a00700
|
||||
0x0554 32 87 300 0x100a00800
|
||||
0x0554 33 97 300 0x100a00900
|
||||
0x0554 35 107 300 0x100a00a00
|
||||
0x0554 36 117 300 0x100a00b00
|
||||
0x0554 37 127 300 0x100a00c00
|
||||
0x0554 39 137 300 0x100a00d00
|
||||
0x0554 40 147 300 0x100a00e00
|
||||
0x0554 41 157 300 0x100a00f00
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,46 +0,0 @@
|
|||
# b'STEP FS, version 5, rev 0\n'# env = {FAR}:
|
||||
|
||||
# apid/flags, n("section"sum enc/fmt)
|
||||
# apid: 0x0300 + Tag
|
||||
# flags: /-separated flags: 0..3 or 'h' or 'r'
|
||||
# n: dps_items in section
|
||||
# section: section name; may not contain whitespace
|
||||
# sum, enc: cadence
|
||||
# fmt: 0..3: float16, log2, uint24, encoded
|
||||
# version: 0006
|
||||
|
||||
# Low Latency
|
||||
0x0333/0x0/0x2, 24("LL_STEP_energy_res_int" 4), 24("LL_STEP_energy_res_mag" 4), 24("LL_STEP_energy_res_bkgnd_int" 4), 24("LL_STEP_energy_res_bkgnd_mag" 4), 4("LL_STEP_time_res_int" 0/3), 4("LL_STEP_time_res_mag" 0/3), 4("LL_STEP_time_res_bkgnd_int" 0/3), 4("LL_STEP_time_res_bkgnd_mag" 0/3)
|
||||
|
||||
# Auxiliary
|
||||
0x0337/0x0, 1("AUX_STEP_time_res_int" 0/1), 1("AUX_STEP_time_res_mag" 0/1), 1("AUX_STEP_time_res_bkgnd_int" 0/1), 1("AUX_STEP_time_res_bkgnd_mag" 0/1), 32("AUX_STEP_basic_int" 2/3), 32("AUX_STEP_basic_mag" 2/3), 32("AUX_STEP_basic_bkgnd_int" 2/3), 32("AUX_STEP_basic_bkgnd_mag" 2/3)
|
||||
|
||||
# Burst1n
|
||||
0x0363/0x0, 256("B1_STEP_basic_int" 0/3), 256("B1_STEP_basic_mag" 0/3), 48("B1_STEP_eres_int" 0/3), 48("B1_STEP_eres_mag" 0/3)
|
||||
|
||||
# Nominal
|
||||
0x0353/0x0, 128("NO_STEP_basic_int" 4/3), 128("NO_STEP_basic_mag" 4/3), 12("NO_STEP_tres_rows_int" 1/3), 12("NO_STEP_tres_rows_mag" 1/3), 20("NO_STEP_tres_cols_int" 1/3), 20("NO_STEP_tres_cols_mag" 1/3), 4("NO_STEP_tres_bkgnd_int" 1/3), 4("NO_STEP_tres_bkgnd_mag" 1/3), 48("NO_STEP_eres_int" 4/3), 48("NO_STEP_eres_mag" 4/3), 15("NO_STEP_multi_int" 4/3), 15("NO_STEP_multi_mag" 4/3)
|
||||
|
||||
# b'STEP FS, version 5, rev 0\n'# env = {CLOSE}:
|
||||
|
||||
# apid/flags, n("section"sum enc/fmt)
|
||||
# apid: 0x0300 + Tag
|
||||
# flags: /-separated flags: 0..3 or 'h' or 'r'
|
||||
# n: dps_items in section
|
||||
# section: section name; may not contain whitespace
|
||||
# sum, enc: cadence
|
||||
# fmt: 0..3: float16, log2, uint24, encoded
|
||||
# version: 0000
|
||||
|
||||
# Low Latency
|
||||
0x0333/0x0/0x2, 24("LL_STEP_energy_res_int" 4), 24("LL_STEP_energy_res_mag" 4), 24("LL_STEP_energy_res_bkgnd_int" 4), 24("LL_STEP_energy_res_bkgnd_mag" 4), 4("LL_STEP_time_res_int" 0/3), 4("LL_STEP_time_res_mag" 0/3), 4("LL_STEP_time_res_bkgnd_int" 0/3), 4("LL_STEP_time_res_bkgnd_mag" 0/3)
|
||||
|
||||
# Auxiliary
|
||||
0x0337/0x1, 1("AUX_STEP_time_res_int" 0/1), 1("AUX_STEP_time_res_mag" 0/1), 1("AUX_STEP_time_res_bkgnd_int" 0/1), 1("AUX_STEP_time_res_bkgnd_mag" 0/1), 32("AUX_STEP_basic_int" 2/3), 32("AUX_STEP_basic_mag" 2/3), 32("AUX_STEP_basic_bkgnd_int" 2/3), 32("AUX_STEP_basic_bkgnd_mag" 2/3)
|
||||
|
||||
# Burst1n
|
||||
0x0363/0x1, 256("B1_STEP_basic_int" 0/3), 256("B1_STEP_basic_mag" 0/3), 48("B1_STEP_eres_int" 0/3), 48("B1_STEP_eres_mag" 0/3)
|
||||
|
||||
# Nominal
|
||||
0x0353/0x1, 128("NO_STEP_basic_int" 2/3), 128("NO_STEP_basic_mag" 2/3), 12("NO_STEP_tres_rows_int" 0/3), 12("NO_STEP_tres_rows_mag" 0/3), 20("NO_STEP_tres_cols_int" 0/3), 20("NO_STEP_tres_cols_mag" 0/3), 4("NO_STEP_tres_bkgnd_int" 0/3), 4("NO_STEP_tres_bkgnd_mag" 0/3), 48("NO_STEP_eres_int" 2/3), 48("NO_STEP_eres_mag" 2/3), 15("NO_STEP_multi_int" 1/3), 15("NO_STEP_multi_mag" 1/3)
|
||||
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
#! /usr/bin/python3
|
||||
|
||||
import solo.solomsgclass
|
||||
import sys
|
||||
msg = solo.solomsgclass.msg_print(sys.stdout)
|
||||
def emit(): pass
|
||||
format="print"
|
||||
if len(sys.argv)>1:
|
||||
format=sys.argv[1]
|
||||
if format=="hex":
|
||||
msg = solo.solomsgclass.msg_hexdump(sys.stdout)
|
||||
if format=="xml":
|
||||
import solo.cdpu.telecom
|
||||
msg = solo.cdpu.telecom.msg_telecommands()
|
||||
def emit():
|
||||
print("\n".join([x.xml() for x in msg.tc(unit='STEP')]))
|
||||
solomsg=solo.solomsgclass.solomsg(msg)
|
||||
|
||||
import solo.step.config.fs
|
||||
from solo.step.config.fs import table as C
|
||||
|
||||
C.scratch+=2
|
||||
C.make_scratch()(msg)
|
||||
|
||||
C.ppss.find_flags("ALLACQ")[0].msg = solo.step.config.fs.step_base_config.step_ppss.step_config_all_acq(acq=(6,5))[0]
|
||||
C.ppss.find_flags("ALLACQ")[0](msg)
|
||||
|
||||
ix1_thr = C.nominal.ppss.ix1_thr
|
||||
ix2_thr = C.nominal.ppss.ix2_thr
|
||||
nconf = C.CONFIG(unit=C.unit, model=C.model, temperature=107.3, env=C.nominal.env, ix1_thr=ix1_thr, ix2_thr=ix2_thr)
|
||||
diff = nconf.diff(C.nominal)
|
||||
diff.l3.load(solomsg.l3_code)
|
||||
|
||||
islot = C.ppss.arm_insertion_slot(msg, flag="SPARE_HK")
|
||||
solo.solomsgclass.solomsg(islot).read_reg(0xff, tag=0x3c)
|
||||
|
||||
emit()
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
msg(0x000f, 3, 0x0000094200070002)
|
||||
msg(0x265e, 3, 0x000582010000c000)
|
||||
msg(0x265f, 3, 0x5d00a20000000000)
|
||||
msg(0x2659, 1, 0x00000000000000ff)
|
||||
msg(0x2658, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
#! /usr/bin/python3
|
||||
|
||||
from solo.patch import patch
|
||||
|
||||
class step72(patch):
|
||||
|
||||
def assemble(self, **aa):
|
||||
from solo.step.config.fs import table, make, step_base_config
|
||||
self.table = table
|
||||
if self.config is None:
|
||||
self.config = make()
|
||||
|
||||
self.scratch(subversion=2)
|
||||
|
||||
self.allacq = self.config.ppss.find_flags("ALLACQ")[0]
|
||||
self.allacq.msg = step_base_config.step_ppss.step_config_all_acq(acq=(1,5))[0]
|
||||
|
||||
def send(self, msg):
|
||||
self.send_scratch(msg)
|
||||
self.allacq(msg)
|
||||
self.send_ping(msg)
|
||||
|
||||
p72 = step72()
|
||||
|
||||
if __name__=="__main__":
|
||||
p72.main()
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">0</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">5</parameter>
|
||||
<parameter name="Messages" id="PID00075">c00f0000094200070002e65e000582010000c000e65f5d00a20000000000665900ffe6580003e8010000413c</parameter>
|
||||
</TC>
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
msg(0x000f, 3, 0x0000094200070003)
|
||||
msg(0x265e, 3, 0x000582010000c000)
|
||||
msg(0x265f, 3, 0x5300ac0000000000)
|
||||
msg(0x2407, 3, 0x06699a0721a7790e)
|
||||
msg(0x2408, 3, 0x8669de07a19a4210)
|
||||
msg(0x240a, 3, 0x86697907a1a40b14)
|
||||
msg(0x240c, 3, 0x8669c807a1b8a018)
|
||||
msg(0x240f, 3, 0x1a00040606699207)
|
||||
msg(0x2410, 3, 0x21a5721f86697e07)
|
||||
msg(0x2411, 3, 0xa1aaf9219a000506)
|
||||
msg(0x2412, 3, 0x0800002286698d07)
|
||||
msg(0x2413, 3, 0xa1a9f2259a000606)
|
||||
msg(0x2414, 3, 0x0800002686698007)
|
||||
msg(0x2415, 3, 0xa199e9299a000706)
|
||||
msg(0x2418, 3, 0x1a00080606697807)
|
||||
msg(0x2419, 3, 0x21a2d2318669b007)
|
||||
msg(0x241a, 3, 0xa1be13339a000906)
|
||||
msg(0x241b, 3, 0x0800003486699707)
|
||||
msg(0x241c, 3, 0xa1b6f4379a000a06)
|
||||
msg(0x241d, 3, 0x080000388669a707)
|
||||
msg(0x241e, 3, 0xa1987a3b9a000b06)
|
||||
msg(0x2421, 3, 0x0669af0721a6c042)
|
||||
msg(0x2422, 3, 0x86696307a1904c44)
|
||||
msg(0x2424, 3, 0x86697b07a1a5c048)
|
||||
msg(0x2426, 3, 0x8669d207a1b7ae4c)
|
||||
msg(0x2487, 3, 0x0669ba07219d0d0e)
|
||||
msg(0x2488, 3, 0x8669aa07a1a47e10)
|
||||
msg(0x248a, 3, 0x8669f107a1abdb14)
|
||||
msg(0x248c, 3, 0x8669d707a1c33118)
|
||||
msg(0x248f, 3, 0x1a0004060669d607)
|
||||
msg(0x2490, 3, 0x21b5161f8669a907)
|
||||
msg(0x2491, 3, 0xa1bcbf219a000506)
|
||||
msg(0x2492, 3, 0x080000228669e507)
|
||||
msg(0x2493, 3, 0xa1b025259a000606)
|
||||
msg(0x2494, 3, 0x080000268669bb07)
|
||||
msg(0x2495, 3, 0xa1b95c299a000706)
|
||||
msg(0x2498, 3, 0x1a0008060669db07)
|
||||
msg(0x2499, 3, 0x219d5e318669ac07)
|
||||
msg(0x249a, 3, 0xa1b585339a000906)
|
||||
msg(0x249b, 3, 0x080000348669de07)
|
||||
msg(0x249c, 3, 0xa1a2b0379a000a06)
|
||||
msg(0x249d, 3, 0x080000388669c707)
|
||||
msg(0x249e, 3, 0xa1af483b9a000b06)
|
||||
msg(0x24a1, 3, 0x0669b20721a5c342)
|
||||
msg(0x24a2, 3, 0x8669d707a1b39c44)
|
||||
msg(0x24a4, 3, 0x8669eb07a1b45b48)
|
||||
msg(0x24a6, 3, 0x8669cc07a1a4294c)
|
||||
msg(0x2659, 1, 0x00000000000000ff)
|
||||
msg(0x2658, 3, 0x0003e8010000413c)
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
#! /usr/bin/python3
|
||||
|
||||
from solo.patch import patch
|
||||
|
||||
class step73(patch):
|
||||
|
||||
def assemble(self, **aa):
|
||||
from solo.step.config.fs import table, make, step_base_config
|
||||
self.table = table
|
||||
if self.config is None:
|
||||
self.config = make()
|
||||
|
||||
self.scratch(subversion=3)
|
||||
|
||||
self.allacq = self.config.ppss.find_flags("ALLACQ")[0]
|
||||
self.allacq.msg = step_base_config.step_ppss.step_config_all_acq(acq=(6,5))[0]
|
||||
|
||||
C = self.config
|
||||
ix1_thr = C.nominal.ppss.ix1_thr
|
||||
ix2_thr = C.nominal.ppss.ix2_thr
|
||||
self.new_conf = C.CONFIG(
|
||||
unit=C.unit, model=C.model,
|
||||
temperature=107.3, env=C.nominal.env,
|
||||
ix1_thr=ix1_thr, ix2_thr=ix2_thr )
|
||||
self.diff = self.new_conf.diff(C.nominal)
|
||||
|
||||
def send(self, msg):
|
||||
self.send_scratch(msg)
|
||||
self.allacq(msg)
|
||||
self.send_l3(msg, self.diff.l3)
|
||||
self.send_ping(msg)
|
||||
|
||||
p73 = step73()
|
||||
|
||||
if __name__=="__main__":
|
||||
p73.main()
|
||||
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">0</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">c00f0000094200070003e65e000582010000c000e65f5300ac0000000000e40706699a0721a7790ee4088669de07a19a4210e40a86697907a1a40b14e40c8669c807a1b8a018e40f1a00040606699207e41021a5721f86697e07e411a1aaf9219a000506e4120800002286698d07e413a1a9f2259a000606e4140800002686698007e415a199e9299a000706e4181a00080606697807e41921a2d2318669b007e41aa1be13339a000906e41b0800003486699707e41ca1b6f4379a000a06e41d080000388669a707</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">0</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">20</parameter>
|
||||
<parameter name="Messages" id="PID00075">e41ea1987a3b9a000b06e4210669af0721a6c042e42286696307a1904c44e42486697b07a1a5c048e4268669d207a1b7ae4ce4870669ba07219d0d0ee4888669aa07a1a47e10e48a8669f107a1abdb14e48c8669d707a1c33118e48f1a0004060669d607e49021b5161f8669a907e491a1bcbf219a000506e492080000228669e507e493a1b025259a000606e494080000268669bb07e495a1b95c299a000706e4981a0008060669db07e499219d5e318669ac07e49aa1b585339a000906e49b080000348669de07</parameter>
|
||||
</TC>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">0</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">9</parameter>
|
||||
<parameter name="Messages" id="PID00075">e49ca1a2b0379a000a06e49d080000388669c707e49ea1af483b9a000b06e4a10669b20721a5c342e4a28669d707a1b39c44e4a48669eb07a1b45b48e4a68669cc07a1a4294c665900ffe6580003e8010000413c</parameter>
|
||||
</TC>
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
#! /usr/bin/python3
|
||||
|
||||
from solo.patch import patch
|
||||
|
||||
class step74(patch):
|
||||
|
||||
def assemble(self, **aa):
|
||||
from solo.step.config.fs import make
|
||||
if self.config is None:
|
||||
self.config = make()
|
||||
self.scratch(subversion=4)
|
||||
self.OH_C = self.config.ppss.OH_SETPOINT_C
|
||||
self.OH_DC = self.config.ppss.OH_DC_ESTIMATE
|
||||
self.OH_SH = 1
|
||||
|
||||
def send(self, msg):
|
||||
from solo.solomsgclass import HK_T_to_ADC
|
||||
self.send_scratch(msg)
|
||||
self.config.ppss.set_opheater_setpoint(msg,
|
||||
self.OH_C,
|
||||
dc_estimate = self.OH_DC * 192//100 * 2**self.OH_SH,
|
||||
shift=self.OH_SH)
|
||||
self.send_ping(msg)
|
||||
|
||||
p74 = step74()
|
||||
|
||||
if __name__=="__main__":
|
||||
p74.main()
|
||||
|
|
@ -1,8 +1,5 @@
|
|||
# STEP FS, version 8, rev 0
|
||||
|
||||
# env = nominal
|
||||
# version/dps: 8/0
|
||||
|
||||
# env = {FAR}:
|
||||
|
||||
# apid/flags, n("section"sum enc/fmt)
|
||||
# apid: 0x0300 + Tag
|
||||
|
|
@ -17,25 +14,22 @@
|
|||
0x0333/0x0/0x2, 24("LL_STEP_energy_res_int" 4), 24("LL_STEP_energy_res_mag" 4), 24("LL_STEP_energy_res_bkgnd_int" 4), 24("LL_STEP_energy_res_bkgnd_mag" 4), 4("LL_STEP_time_res_int" 0/3), 4("LL_STEP_time_res_mag" 0/3), 4("LL_STEP_time_res_bkgnd_int" 0/3), 4("LL_STEP_time_res_bkgnd_mag" 0/3)
|
||||
|
||||
# Auxiliary
|
||||
0x0337/0x0/0x2, 1("AUX_STEP_time_res_int" 0/1), 1("AUX_STEP_time_res_mag" 0/1), 1("AUX_STEP_time_res_bkgnd_int" 0/1), 1("AUX_STEP_time_res_bkgnd_mag" 0/1), 32("AUX_STEP_basic_int" 2/3), 32("AUX_STEP_basic_mag" 2/3), 32("AUX_STEP_basic_bkgnd_int" 2/3), 32("AUX_STEP_basic_bkgnd_mag" 2/3)
|
||||
0x0337/0x0, 1("AUX_STEP_time_res_int" 0/1), 1("AUX_STEP_time_res_mag" 0/1), 1("AUX_STEP_time_res_bkgnd_int" 0/1), 1("AUX_STEP_time_res_bkgnd_mag" 0/1), 32("AUX_STEP_basic_int" 2/3), 32("AUX_STEP_basic_mag" 2/3), 32("AUX_STEP_basic_bkgnd_int" 2/3), 32("AUX_STEP_basic_bkgnd_mag" 2/3)
|
||||
|
||||
# STEP 0 MAIN
|
||||
0x0353/0x0/0x2, 32("STEP_M_0_00" 2/3), 32("STEP_M_0_01" 2/3), 32("STEP_M_0_02" 2/3), 32("STEP_M_0_03" 2/3), 32("STEP_M_0_04" 2/3), 32("STEP_M_0_05" 2/3), 32("STEP_M_0_06" 2/3), 32("STEP_M_0_07" 2/3), 32("STEP_M_0_08" 2/3), 32("STEP_M_0_09" 2/3), 32("STEP_M_0_10" 2/3), 32("STEP_M_0_11" 2/3), 32("STEP_M_0_12" 2/3), 32("STEP_M_0_13" 2/3), 32("STEP_M_0_14" 2/3), 32("STEP_M_0_15" 2/3)
|
||||
0x0353/0x0, 32("STEP_M_0_00" 0/3), 32("STEP_M_0_01" 0/3), 32("STEP_M_0_02" 0/3), 32("STEP_M_0_03" 0/3), 32("STEP_M_0_04" 0/3), 32("STEP_M_0_05" 0/3), 32("STEP_M_0_06" 0/3), 32("STEP_M_0_07" 0/3), 32("STEP_M_0_08" 0/3), 32("STEP_M_0_09" 0/3), 32("STEP_M_0_10" 0/3), 32("STEP_M_0_11" 0/3), 32("STEP_M_0_12" 0/3), 32("STEP_M_0_13" 0/3), 32("STEP_M_0_14" 0/3), 32("STEP_M_0_15" 0/3)
|
||||
|
||||
# STEP 1 MAIN
|
||||
0x0353/0x1/0x3, 32("STEP_M_1_00" 2/3), 32("STEP_M_1_01" 2/3), 32("STEP_M_1_02" 2/3), 32("STEP_M_1_03" 2/3), 32("STEP_M_1_04" 2/3), 32("STEP_M_1_05" 2/3), 32("STEP_M_1_06" 2/3), 32("STEP_M_1_07" 2/3), 32("STEP_M_1_08" 2/3), 32("STEP_M_1_09" 2/3), 32("STEP_M_1_10" 2/3), 32("STEP_M_1_11" 2/3), 32("STEP_M_1_12" 2/3), 32("STEP_M_1_13" 2/3), 32("STEP_M_1_14" 2/3), 32("STEP_M_1_15" 2/3)
|
||||
0x0353/0x1, 32("STEP_M_1_00" 0/3), 32("STEP_M_1_01" 0/3), 32("STEP_M_1_02" 0/3), 32("STEP_M_1_03" 0/3), 32("STEP_M_1_04" 0/3), 32("STEP_M_1_05" 0/3), 32("STEP_M_1_06" 0/3), 32("STEP_M_1_07" 0/3), 32("STEP_M_1_08" 0/3), 32("STEP_M_1_09" 0/3), 32("STEP_M_1_10" 0/3), 32("STEP_M_1_11" 0/3), 32("STEP_M_1_12" 0/3), 32("STEP_M_1_13" 0/3), 32("STEP_M_1_14" 0/3), 32("STEP_M_1_15" 0/3)
|
||||
|
||||
# STEP 0 AUX
|
||||
0x035f/0x0/0x2, 24("STEP_A_0_00" 4/3), 24("STEP_A_0_01" 4/3), 24("STEP_A_0_02" 4/3), 24("STEP_A_0_03" 4/3), 24("STEP_A_0_04" 4/3), 24("STEP_A_0_05" 4/3), 24("STEP_A_0_06" 4/3), 24("STEP_A_0_07" 4/3), 24("STEP_A_0_08" 4/3), 24("STEP_A_0_09" 4/3), 24("STEP_A_0_10" 4/3), 24("STEP_A_0_11" 4/3), 24("STEP_A_0_12" 4/3), 24("STEP_A_0_13" 4/3), 24("STEP_A_0_14" 4/3), 24("STEP_A_0_15" 4/3)
|
||||
0x0357/0x0, 24("STEP_A_0_00" 4/3), 24("STEP_A_0_01" 4/3), 24("STEP_A_0_02" 4/3), 24("STEP_A_0_03" 4/3), 24("STEP_A_0_04" 4/3), 24("STEP_A_0_05" 4/3), 24("STEP_A_0_06" 4/3), 24("STEP_A_0_07" 4/3), 24("STEP_A_0_08" 4/3), 24("STEP_A_0_09" 4/3), 24("STEP_A_0_10" 4/3), 24("STEP_A_0_11" 4/3), 24("STEP_A_0_12" 4/3), 24("STEP_A_0_13" 4/3), 24("STEP_A_0_14" 4/3), 24("STEP_A_0_15" 4/3)
|
||||
|
||||
# STEP 1 AUX
|
||||
0x035f/0x1/0x3, 24("STEP_A_1_00" 4/3), 24("STEP_A_1_01" 4/3), 24("STEP_A_1_02" 4/3), 24("STEP_A_1_03" 4/3), 24("STEP_A_1_04" 4/3), 24("STEP_A_1_05" 4/3), 24("STEP_A_1_06" 4/3), 24("STEP_A_1_07" 4/3), 24("STEP_A_1_08" 4/3), 24("STEP_A_1_09" 4/3), 24("STEP_A_1_10" 4/3), 24("STEP_A_1_11" 4/3), 24("STEP_A_1_12" 4/3), 24("STEP_A_1_13" 4/3), 24("STEP_A_1_14" 4/3), 24("STEP_A_1_15" 4/3)
|
||||
0x0357/0x1, 24("STEP_A_1_00" 4/3), 24("STEP_A_1_01" 4/3), 24("STEP_A_1_02" 4/3), 24("STEP_A_1_03" 4/3), 24("STEP_A_1_04" 4/3), 24("STEP_A_1_05" 4/3), 24("STEP_A_1_06" 4/3), 24("STEP_A_1_07" 4/3), 24("STEP_A_1_08" 4/3), 24("STEP_A_1_09" 4/3), 24("STEP_A_1_10" 4/3), 24("STEP_A_1_11" 4/3), 24("STEP_A_1_12" 4/3), 24("STEP_A_1_13" 4/3), 24("STEP_A_1_14" 4/3), 24("STEP_A_1_15" 4/3)
|
||||
|
||||
# STEP FS, version 8, rev 0
|
||||
|
||||
# env = highrate
|
||||
# version/dps: 8/1
|
||||
|
||||
# env = {CLOSE}:
|
||||
|
||||
# apid/flags, n("section"sum enc/fmt)
|
||||
# apid: 0x0300 + Tag
|
||||
|
|
@ -44,23 +38,23 @@
|
|||
# section: section name; may not contain whitespace
|
||||
# sum, enc: cadence
|
||||
# fmt: 0..3: float16, log2, uint24, encoded
|
||||
# version: 0008
|
||||
# version: 0000
|
||||
|
||||
# Low Latency
|
||||
0x0333/0x0/0x2, 24("LL_STEP_energy_res_int" 4), 24("LL_STEP_energy_res_mag" 4), 24("LL_STEP_energy_res_bkgnd_int" 4), 24("LL_STEP_energy_res_bkgnd_mag" 4), 4("LL_STEP_time_res_int" 0/3), 4("LL_STEP_time_res_mag" 0/3), 4("LL_STEP_time_res_bkgnd_int" 0/3), 4("LL_STEP_time_res_bkgnd_mag" 0/3)
|
||||
|
||||
# Auxiliary
|
||||
0x0337/0x0/0x2, 1("AUX_STEP_time_res_int" 0/1), 1("AUX_STEP_time_res_mag" 0/1), 1("AUX_STEP_time_res_bkgnd_int" 0/1), 1("AUX_STEP_time_res_bkgnd_mag" 0/1), 32("AUX_STEP_basic_int" 2/3), 32("AUX_STEP_basic_mag" 2/3), 32("AUX_STEP_basic_bkgnd_int" 2/3), 32("AUX_STEP_basic_bkgnd_mag" 2/3)
|
||||
0x0337/0x0, 1("AUX_STEP_time_res_int" 0/1), 1("AUX_STEP_time_res_mag" 0/1), 1("AUX_STEP_time_res_bkgnd_int" 0/1), 1("AUX_STEP_time_res_bkgnd_mag" 0/1), 32("AUX_STEP_basic_int" 2/3), 32("AUX_STEP_basic_mag" 2/3), 32("AUX_STEP_basic_bkgnd_int" 2/3), 32("AUX_STEP_basic_bkgnd_mag" 2/3)
|
||||
|
||||
# STEP 0 MAIN
|
||||
0x0357/0x0/0x2, 32("STEP_M_0_00" 0/3), 32("STEP_M_0_01" 0/3), 32("STEP_M_0_02" 0/3), 32("STEP_M_0_03" 0/3), 32("STEP_M_0_04" 0/3), 32("STEP_M_0_05" 0/3), 32("STEP_M_0_06" 0/3), 32("STEP_M_0_07" 0/3), 32("STEP_M_0_08" 0/3), 32("STEP_M_0_09" 0/3), 32("STEP_M_0_10" 0/3), 32("STEP_M_0_11" 0/3), 32("STEP_M_0_12" 0/3), 32("STEP_M_0_13" 0/3), 32("STEP_M_0_14" 0/3), 32("STEP_M_0_15" 0/3)
|
||||
0x0353/0x0, 32("STEP_M_0_00" 0/3), 32("STEP_M_0_01" 0/3), 32("STEP_M_0_02" 0/3), 32("STEP_M_0_03" 0/3), 32("STEP_M_0_04" 0/3), 32("STEP_M_0_05" 0/3), 32("STEP_M_0_06" 0/3), 32("STEP_M_0_07" 0/3), 32("STEP_M_0_08" 0/3), 32("STEP_M_0_09" 0/3), 32("STEP_M_0_10" 0/3), 32("STEP_M_0_11" 0/3), 32("STEP_M_0_12" 0/3), 32("STEP_M_0_13" 0/3), 32("STEP_M_0_14" 0/3), 32("STEP_M_0_15" 0/3)
|
||||
|
||||
# STEP 1 MAIN
|
||||
0x0357/0x1/0x3, 32("STEP_M_1_00" 0/3), 32("STEP_M_1_01" 0/3), 32("STEP_M_1_02" 0/3), 32("STEP_M_1_03" 0/3), 32("STEP_M_1_04" 0/3), 32("STEP_M_1_05" 0/3), 32("STEP_M_1_06" 0/3), 32("STEP_M_1_07" 0/3), 32("STEP_M_1_08" 0/3), 32("STEP_M_1_09" 0/3), 32("STEP_M_1_10" 0/3), 32("STEP_M_1_11" 0/3), 32("STEP_M_1_12" 0/3), 32("STEP_M_1_13" 0/3), 32("STEP_M_1_14" 0/3), 32("STEP_M_1_15" 0/3)
|
||||
0x0353/0x1, 32("STEP_M_1_00" 0/3), 32("STEP_M_1_01" 0/3), 32("STEP_M_1_02" 0/3), 32("STEP_M_1_03" 0/3), 32("STEP_M_1_04" 0/3), 32("STEP_M_1_05" 0/3), 32("STEP_M_1_06" 0/3), 32("STEP_M_1_07" 0/3), 32("STEP_M_1_08" 0/3), 32("STEP_M_1_09" 0/3), 32("STEP_M_1_10" 0/3), 32("STEP_M_1_11" 0/3), 32("STEP_M_1_12" 0/3), 32("STEP_M_1_13" 0/3), 32("STEP_M_1_14" 0/3), 32("STEP_M_1_15" 0/3)
|
||||
|
||||
# STEP 0 AUX
|
||||
0x035f/0x0/0x2, 24("STEP_A_0_00" 4/3), 24("STEP_A_0_01" 4/3), 24("STEP_A_0_02" 4/3), 24("STEP_A_0_03" 4/3), 24("STEP_A_0_04" 4/3), 24("STEP_A_0_05" 4/3), 24("STEP_A_0_06" 4/3), 24("STEP_A_0_07" 4/3), 24("STEP_A_0_08" 4/3), 24("STEP_A_0_09" 4/3), 24("STEP_A_0_10" 4/3), 24("STEP_A_0_11" 4/3), 24("STEP_A_0_12" 4/3), 24("STEP_A_0_13" 4/3), 24("STEP_A_0_14" 4/3), 24("STEP_A_0_15" 4/3)
|
||||
0x0357/0x0, 24("STEP_A_0_00" 4/3), 24("STEP_A_0_01" 4/3), 24("STEP_A_0_02" 4/3), 24("STEP_A_0_03" 4/3), 24("STEP_A_0_04" 4/3), 24("STEP_A_0_05" 4/3), 24("STEP_A_0_06" 4/3), 24("STEP_A_0_07" 4/3), 24("STEP_A_0_08" 4/3), 24("STEP_A_0_09" 4/3), 24("STEP_A_0_10" 4/3), 24("STEP_A_0_11" 4/3), 24("STEP_A_0_12" 4/3), 24("STEP_A_0_13" 4/3), 24("STEP_A_0_14" 4/3), 24("STEP_A_0_15" 4/3)
|
||||
|
||||
# STEP 1 AUX
|
||||
0x035f/0x1/0x3, 24("STEP_A_1_00" 4/3), 24("STEP_A_1_01" 4/3), 24("STEP_A_1_02" 4/3), 24("STEP_A_1_03" 4/3), 24("STEP_A_1_04" 4/3), 24("STEP_A_1_05" 4/3), 24("STEP_A_1_06" 4/3), 24("STEP_A_1_07" 4/3), 24("STEP_A_1_08" 4/3), 24("STEP_A_1_09" 4/3), 24("STEP_A_1_10" 4/3), 24("STEP_A_1_11" 4/3), 24("STEP_A_1_12" 4/3), 24("STEP_A_1_13" 4/3), 24("STEP_A_1_14" 4/3), 24("STEP_A_1_15" 4/3)
|
||||
0x0357/0x1, 24("STEP_A_1_00" 4/3), 24("STEP_A_1_01" 4/3), 24("STEP_A_1_02" 4/3), 24("STEP_A_1_03" 4/3), 24("STEP_A_1_04" 4/3), 24("STEP_A_1_05" 4/3), 24("STEP_A_1_06" 4/3), 24("STEP_A_1_07" 4/3), 24("STEP_A_1_08" 4/3), 24("STEP_A_1_09" 4/3), 24("STEP_A_1_10" 4/3), 24("STEP_A_1_11" 4/3), 24("STEP_A_1_12" 4/3), 24("STEP_A_1_13" 4/3), 24("STEP_A_1_14" 4/3), 24("STEP_A_1_15" 4/3)
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,13 +0,0 @@
|
|||
c00f0000094200090003
|
||||
e64e0001a41f00008544
|
||||
a64f10040030
|
||||
e6500001bd1f00008544
|
||||
a65110040000
|
||||
e6520001d61f00008525
|
||||
a653100400b0
|
||||
e6540001f91f00008526
|
||||
a65510040080
|
||||
e6200000111f00044144
|
||||
66210300
|
||||
665900ff
|
||||
e6580003e8010000413c
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
#! /usr/bin/python3
|
||||
|
||||
from solo.patch import patch
|
||||
from solo.solomsgclass import solomsg
|
||||
|
||||
class step83(patch):
|
||||
|
||||
def assemble(self, **aa):
|
||||
from solo.step.config.fs import make
|
||||
if self.config is None:
|
||||
self.config = make()
|
||||
self.scratch(subversion=3)
|
||||
self.items = []
|
||||
self.items.append(self.config.ppss.find_flags("HKC", 0x30)[0].copy())
|
||||
self.items.append(self.config.ppss.find_flags("HKC", 0x00)[0].copy())
|
||||
self.items.append(self.config.ppss.find_flags("ICU", 0x25)[0].copy())
|
||||
self.items.append(self.config.ppss.find_flags("ICU", 0x26)[0].copy())
|
||||
self.items.append(self.config.ppss.find_flags("LIFETIME" )[0].copy())
|
||||
self.items[0].mod = self.items[2].mod
|
||||
self.items[1].mod = self.items[3].mod
|
||||
self.items[2].msg.da |= 0x80
|
||||
self.items[3].msg.da |= 0x80
|
||||
self.items[4].msg.da |= solomsg.RREG["step_deadtime"]
|
||||
|
||||
def send(self, msg):
|
||||
self.send_scratch(msg)
|
||||
for m in self.items:
|
||||
m(msg)
|
||||
self.send_ping(msg)
|
||||
|
||||
p83 = step83(name="counter_clear")
|
||||
|
||||
main=p83.main
|
||||
if __name__=="__main__":
|
||||
main()
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="102" id="ZID52540" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00069">0</parameter>
|
||||
<parameter name="Flags" id="PID00085">15</parameter>
|
||||
<parameter name="NMessages" id="PID00086">13</parameter>
|
||||
<parameter name="Messages" id="PID00075">c00f0000094200090003e64e0001a41f00008544a64f10040030e6500001bd1f00008544a65110040000e6520001d61f00008525a653100400b0e6540001f91f00008526a65510040080e6200000111f0004414466210300665900ffe6580003e8010000413c</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,56 +0,0 @@
|
|||
E₁= 0.98 keV, ΔE= 1.16 keV, 60 sec
|
||||
E₁= 2.14 keV, ΔE= 0.19 keV, 60 sec
|
||||
E₁= 2.34 keV, ΔE= 0.21 keV, 60 sec
|
||||
E₁= 2.54 keV, ΔE= 0.24 keV, 60 sec
|
||||
E₁= 2.78 keV, ΔE= 0.26 keV, 60 sec
|
||||
E₁= 3.04 keV, ΔE= 0.27 keV, 60 sec
|
||||
E₁= 3.31 keV, ΔE= 0.29 keV, 60 sec
|
||||
E₁= 3.60 keV, ΔE= 0.32 keV, 60 sec
|
||||
E₁= 3.92 keV, ΔE= 0.37 keV, 1 sec
|
||||
E₁= 4.29 keV, ΔE= 0.38 keV, 1 sec
|
||||
E₁= 4.67 keV, ΔE= 0.42 keV, 1 sec
|
||||
E₁= 5.09 keV, ΔE= 0.48 keV, 1 sec
|
||||
E₁= 5.57 keV, ΔE= 0.51 keV, 1 sec
|
||||
E₁= 6.08 keV, ΔE= 0.54 keV, 1 sec
|
||||
E₁= 6.62 keV, ΔE= 0.58 keV, 1 sec
|
||||
E₁= 7.20 keV, ΔE= 0.64 keV, 1 sec
|
||||
E₁= 7.84 keV, ΔE= 0.74 keV, 1 sec
|
||||
E₁= 8.58 keV, ΔE= 0.77 keV, 1 sec
|
||||
E₁= 9.34 keV, ΔE= 0.83 keV, 1 sec
|
||||
E₁= 10.18 keV, ΔE= 0.96 keV, 1 sec
|
||||
E₁= 11.14 keV, ΔE= 1.02 keV, 1 sec
|
||||
E₁= 12.16 keV, ΔE= 1.09 keV, 1 sec
|
||||
E₁= 13.25 keV, ΔE= 1.15 keV, 1 sec
|
||||
E₁= 14.40 keV, ΔE= 1.28 keV, 1 sec
|
||||
E₁= 15.68 keV, ΔE= 1.47 keV, 1 sec
|
||||
E₁= 17.15 keV, ΔE= 1.54 keV, 1 sec
|
||||
E₁= 18.69 keV, ΔE= 1.66 keV, 1 sec
|
||||
E₁= 20.35 keV, ΔE= 1.92 keV, 1 sec
|
||||
E₁= 22.27 keV, ΔE= 2.05 keV, 1 sec
|
||||
E₁= 24.32 keV, ΔE= 2.18 keV, 1 sec
|
||||
E₁= 26.50 keV, ΔE= 2.30 keV, 1 sec
|
||||
E₁= 28.80 keV, ΔE= 2.56 keV, 1 sec
|
||||
E₁= 31.36 keV, ΔE= 2.94 keV, 1 sec
|
||||
E₁= 34.30 keV, ΔE= 3.07 keV, 1 sec
|
||||
E₁= 37.38 keV, ΔE= 3.33 keV, 1 sec
|
||||
E₁= 40.70 keV, ΔE= 3.84 keV, 1 sec
|
||||
E₁= 44.54 keV, ΔE= 4.10 keV, 1 sec
|
||||
E₁= 48.64 keV, ΔE= 4.35 keV, 1 sec
|
||||
E₁= 52.99 keV, ΔE= 4.61 keV, 1 sec
|
||||
E₁= 57.60 keV, ΔE= 5.12 keV, 1 sec
|
||||
E₁= 62.72 keV, ΔE= 5.89 keV, 60 sec
|
||||
E₁= 68.61 keV, ΔE= 6.14 keV, 60 sec
|
||||
E₁= 74.75 keV, ΔE= 6.66 keV, 60 sec
|
||||
E₁= 81.41 keV, ΔE= 7.68 keV, 60 sec
|
||||
E₁= 89.09 keV, ΔE= 8.19 keV, 60 sec
|
||||
E₁= 97.28 keV, ΔE= 8.70 keV, 60 sec
|
||||
E₁= 105.98 keV, ΔE= 9.22 keV, 60 sec
|
||||
E₁= 115.20 keV, ΔE= 10.24 keV, 60 sec
|
||||
E₁= 125.44 keV, ΔE= 11.78 keV, 60 sec
|
||||
E₁= 137.22 keV, ΔE= 12.29 keV, 60 sec
|
||||
E₁= 149.50 keV, ΔE= 13.31 keV, 60 sec
|
||||
E₁= 162.82 keV, ΔE= 15.36 keV, 60 sec
|
||||
E₁= 178.18 keV, ΔE= 16.38 keV, 60 sec
|
||||
E₁= 194.56 keV, ΔE= 17.41 keV, 60 sec
|
||||
E₁= 211.97 keV, ΔE= 18.43 keV, 60 sec
|
||||
E₁= 230.40 keV, ΔE= 142.34 keV, 60 sec
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00083">0</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">3</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">6</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<TCs>
|
||||
<TC type="128" subtype="103" id="ZID52541" comment="" delta="00:00:01">
|
||||
<parameter name="SensorID" id="PID00083">0</parameter>
|
||||
<parameter name="IndexTable" id="PID00084">3</parameter>
|
||||
<parameter name="BlockIndex" id="PID00077">2</parameter>
|
||||
</TC>
|
||||
</TCs>
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
# STEP FS, version 9, rev 0
|
||||
|
||||
# env = nominal
|
||||
# version/dps: 9/0
|
||||
|
||||
|
||||
# apid/flags, n("section"sum enc/fmt)
|
||||
# apid: 0x0300 + Tag
|
||||
# flags: /-separated flags: 0..3 or 'h' or 'r'
|
||||
# n: dps_items in section
|
||||
# section: section name; may not contain whitespace
|
||||
# sum, enc: cadence
|
||||
# fmt: 0..3: float16, log2, uint24, encoded
|
||||
# version: 0009
|
||||
|
||||
# Low Latency
|
||||
0x0333/0x0/0x2, 24("LL_STEP_energy_res_int" 4), 24("LL_STEP_energy_res_mag" 4), 24("LL_STEP_energy_res_bkgnd_int" 4), 24("LL_STEP_energy_res_bkgnd_mag" 4), 4("LL_STEP_time_res_int" 0/3), 4("LL_STEP_time_res_mag" 0/3), 4("LL_STEP_time_res_bkgnd_int" 0/3), 4("LL_STEP_time_res_bkgnd_mag" 0/3), 15("LL_STEP_multi_int" 4/3), 15("LL_STEP_multi_mag" 4/3)
|
||||
|
||||
# STEP 0 MAIN
|
||||
0x0353/0x0/0x2, 32("STEP_M_0_00" 2/3), 32("STEP_M_0_01" 2/3), 32("STEP_M_0_02" 2/3), 32("STEP_M_0_03" 2/3), 32("STEP_M_0_04" 2/3), 32("STEP_M_0_05" 2/3), 32("STEP_M_0_06" 2/3), 32("STEP_M_0_07" 2/3), 32("STEP_M_0_08" 2/3), 32("STEP_M_0_09" 2/3), 32("STEP_M_0_10" 2/3), 32("STEP_M_0_11" 2/3), 32("STEP_M_0_12" 2/3), 32("STEP_M_0_13" 2/3), 32("STEP_M_0_14" 2/3), 32("STEP_M_0_15" 2/3)
|
||||
|
||||
# STEP 1 MAIN
|
||||
0x0353/0x1/0x3, 32("STEP_M_1_00" 2/3), 32("STEP_M_1_01" 2/3), 32("STEP_M_1_02" 2/3), 32("STEP_M_1_03" 2/3), 32("STEP_M_1_04" 2/3), 32("STEP_M_1_05" 2/3), 32("STEP_M_1_06" 2/3), 32("STEP_M_1_07" 2/3), 32("STEP_M_1_08" 2/3), 32("STEP_M_1_09" 2/3), 32("STEP_M_1_10" 2/3), 32("STEP_M_1_11" 2/3), 32("STEP_M_1_12" 2/3), 32("STEP_M_1_13" 2/3), 32("STEP_M_1_14" 2/3), 32("STEP_M_1_15" 2/3)
|
||||
|
||||
# STEP 0 MAIN
|
||||
0x0357/0x0/0x2, 32("STEP_M_0_00" 0/3), 32("STEP_M_0_01" 0/3), 32("STEP_M_0_02" 0/3), 32("STEP_M_0_03" 0/3), 32("STEP_M_0_04" 0/3), 32("STEP_M_0_05" 0/3), 32("STEP_M_0_06" 0/3), 32("STEP_M_0_07" 0/3), 32("STEP_M_0_08" 0/3), 32("STEP_M_0_09" 0/3), 32("STEP_M_0_10" 0/3), 32("STEP_M_0_11" 0/3), 32("STEP_M_0_12" 0/3), 32("STEP_M_0_13" 0/3), 32("STEP_M_0_14" 0/3), 32("STEP_M_0_15" 0/3)
|
||||
|
||||
# STEP 1 MAIN
|
||||
0x0357/0x1/0x3, 32("STEP_M_1_00" 0/3), 32("STEP_M_1_01" 0/3), 32("STEP_M_1_02" 0/3), 32("STEP_M_1_03" 0/3), 32("STEP_M_1_04" 0/3), 32("STEP_M_1_05" 0/3), 32("STEP_M_1_06" 0/3), 32("STEP_M_1_07" 0/3), 32("STEP_M_1_08" 0/3), 32("STEP_M_1_09" 0/3), 32("STEP_M_1_10" 0/3), 32("STEP_M_1_11" 0/3), 32("STEP_M_1_12" 0/3), 32("STEP_M_1_13" 0/3), 32("STEP_M_1_14" 0/3), 32("STEP_M_1_15" 0/3)
|
||||
|
||||
# STEP 0 AUX
|
||||
0x035f/0x0/0x2, 24("STEP_A_0_00" 4/3), 24("STEP_A_0_01" 4/3), 24("STEP_A_0_02" 4/3), 24("STEP_A_0_03" 4/3), 24("STEP_A_0_04" 4/3), 24("STEP_A_0_05" 4/3), 24("STEP_A_0_06" 4/3), 24("STEP_A_0_07" 4/3), 24("STEP_A_0_08" 4/3), 24("STEP_A_0_09" 4/3), 24("STEP_A_0_10" 4/3), 24("STEP_A_0_11" 4/3), 24("STEP_A_0_12" 4/3), 24("STEP_A_0_13" 4/3), 24("STEP_A_0_14" 4/3), 24("STEP_A_0_15" 4/3)
|
||||
|
||||
# STEP 1 AUX
|
||||
0x035f/0x1/0x3, 24("STEP_A_1_00" 4/3), 24("STEP_A_1_01" 4/3), 24("STEP_A_1_02" 4/3), 24("STEP_A_1_03" 4/3), 24("STEP_A_1_04" 4/3), 24("STEP_A_1_05" 4/3), 24("STEP_A_1_06" 4/3), 24("STEP_A_1_07" 4/3), 24("STEP_A_1_08" 4/3), 24("STEP_A_1_09" 4/3), 24("STEP_A_1_10" 4/3), 24("STEP_A_1_11" 4/3), 24("STEP_A_1_12" 4/3), 24("STEP_A_1_13" 4/3), 24("STEP_A_1_14" 4/3), 24("STEP_A_1_15" 4/3)
|
||||
|
||||
# STEP FS, version 9, rev 0
|
||||
|
||||
# env = highrate
|
||||
# version/dps: 9/1
|
||||
|
||||
|
||||
# apid/flags, n("section"sum enc/fmt)
|
||||
# apid: 0x0300 + Tag
|
||||
# flags: /-separated flags: 0..3 or 'h' or 'r'
|
||||
# n: dps_items in section
|
||||
# section: section name; may not contain whitespace
|
||||
# sum, enc: cadence
|
||||
# fmt: 0..3: float16, log2, uint24, encoded
|
||||
# version: 0009
|
||||
|
||||
# Low Latency
|
||||
0x0333/0x0/0x2, 24("LL_STEP_energy_res_int" 4), 24("LL_STEP_energy_res_mag" 4), 24("LL_STEP_energy_res_bkgnd_int" 4), 24("LL_STEP_energy_res_bkgnd_mag" 4), 4("LL_STEP_time_res_int" 0/3), 4("LL_STEP_time_res_mag" 0/3), 4("LL_STEP_time_res_bkgnd_int" 0/3), 4("LL_STEP_time_res_bkgnd_mag" 0/3), 15("LL_STEP_multi_int" 4/3), 15("LL_STEP_multi_mag" 4/3)
|
||||
|
||||
# STEP 0 MAIN
|
||||
0x0353/0x0/0x2, 32("STEP_M_0_00" 2/3), 32("STEP_M_0_01" 2/3), 32("STEP_M_0_02" 2/3), 32("STEP_M_0_03" 2/3), 32("STEP_M_0_04" 2/3), 32("STEP_M_0_05" 2/3), 32("STEP_M_0_06" 2/3), 32("STEP_M_0_07" 2/3), 32("STEP_M_0_08" 2/3), 32("STEP_M_0_09" 2/3), 32("STEP_M_0_10" 2/3), 32("STEP_M_0_11" 2/3), 32("STEP_M_0_12" 2/3), 32("STEP_M_0_13" 2/3), 32("STEP_M_0_14" 2/3), 32("STEP_M_0_15" 2/3)
|
||||
|
||||
# STEP 1 MAIN
|
||||
0x0353/0x1/0x3, 32("STEP_M_1_00" 2/3), 32("STEP_M_1_01" 2/3), 32("STEP_M_1_02" 2/3), 32("STEP_M_1_03" 2/3), 32("STEP_M_1_04" 2/3), 32("STEP_M_1_05" 2/3), 32("STEP_M_1_06" 2/3), 32("STEP_M_1_07" 2/3), 32("STEP_M_1_08" 2/3), 32("STEP_M_1_09" 2/3), 32("STEP_M_1_10" 2/3), 32("STEP_M_1_11" 2/3), 32("STEP_M_1_12" 2/3), 32("STEP_M_1_13" 2/3), 32("STEP_M_1_14" 2/3), 32("STEP_M_1_15" 2/3)
|
||||
|
||||
# STEP 0 MAIN
|
||||
0x0357/0x0/0x2, 32("STEP_M_0_00" 0/3), 32("STEP_M_0_01" 0/3), 32("STEP_M_0_02" 0/3), 32("STEP_M_0_03" 0/3), 32("STEP_M_0_04" 0/3), 32("STEP_M_0_05" 0/3), 32("STEP_M_0_06" 0/3), 32("STEP_M_0_07" 0/3), 32("STEP_M_0_08" 0/3), 32("STEP_M_0_09" 0/3), 32("STEP_M_0_10" 0/3), 32("STEP_M_0_11" 0/3), 32("STEP_M_0_12" 0/3), 32("STEP_M_0_13" 0/3), 32("STEP_M_0_14" 0/3), 32("STEP_M_0_15" 0/3)
|
||||
|
||||
# STEP 1 MAIN
|
||||
0x0357/0x1/0x3, 32("STEP_M_1_00" 0/3), 32("STEP_M_1_01" 0/3), 32("STEP_M_1_02" 0/3), 32("STEP_M_1_03" 0/3), 32("STEP_M_1_04" 0/3), 32("STEP_M_1_05" 0/3), 32("STEP_M_1_06" 0/3), 32("STEP_M_1_07" 0/3), 32("STEP_M_1_08" 0/3), 32("STEP_M_1_09" 0/3), 32("STEP_M_1_10" 0/3), 32("STEP_M_1_11" 0/3), 32("STEP_M_1_12" 0/3), 32("STEP_M_1_13" 0/3), 32("STEP_M_1_14" 0/3), 32("STEP_M_1_15" 0/3)
|
||||
|
||||
# STEP 0 AUX
|
||||
0x035f/0x0/0x2, 24("STEP_A_0_00" 4/3), 24("STEP_A_0_01" 4/3), 24("STEP_A_0_02" 4/3), 24("STEP_A_0_03" 4/3), 24("STEP_A_0_04" 4/3), 24("STEP_A_0_05" 4/3), 24("STEP_A_0_06" 4/3), 24("STEP_A_0_07" 4/3), 24("STEP_A_0_08" 4/3), 24("STEP_A_0_09" 4/3), 24("STEP_A_0_10" 4/3), 24("STEP_A_0_11" 4/3), 24("STEP_A_0_12" 4/3), 24("STEP_A_0_13" 4/3), 24("STEP_A_0_14" 4/3), 24("STEP_A_0_15" 4/3)
|
||||
|
||||
# STEP 1 AUX
|
||||
0x035f/0x1/0x3, 24("STEP_A_1_00" 4/3), 24("STEP_A_1_01" 4/3), 24("STEP_A_1_02" 4/3), 24("STEP_A_1_03" 4/3), 24("STEP_A_1_04" 4/3), 24("STEP_A_1_05" 4/3), 24("STEP_A_1_06" 4/3), 24("STEP_A_1_07" 4/3), 24("STEP_A_1_08" 4/3), 24("STEP_A_1_09" 4/3), 24("STEP_A_1_10" 4/3), 24("STEP_A_1_11" 4/3), 24("STEP_A_1_12" 4/3), 24("STEP_A_1_13" 4/3), 24("STEP_A_1_14" 4/3), 24("STEP_A_1_15" 4/3)
|
||||
|
||||
|
|
@ -194,25 +194,6 @@ class dps_item(object):
|
|||
return {"section": s}
|
||||
return {}
|
||||
|
||||
def ebin(self, trim=0, scale=1, modulus=256, bpo=16, ybase=None):
|
||||
"""return the linear bin range of the item
|
||||
ybase: if present, use the y-dimension, from this base address
|
||||
bpo: bin per octave, scaling of the LOG output
|
||||
modulus: length of the x-hist
|
||||
trim: LOG value of the first x-bin
|
||||
scale: calibartion of the linear scale.
|
||||
"""
|
||||
from .l3sim import invlog2
|
||||
if ybase is None:
|
||||
x1 = self.addr % modulus + trim
|
||||
x2 = x1 + self.nx
|
||||
else:
|
||||
x1 = (self.addr-ybase)//self.sy + trim
|
||||
x2 = x1 + self.ny
|
||||
x1 *= 16//bpo
|
||||
x2 *= 16//bpo
|
||||
return invlog2(x1)*scale, invlog2(x2)*scale
|
||||
|
||||
D = 0
|
||||
A = 0
|
||||
L = 0
|
||||
|
|
@ -234,7 +215,7 @@ scale: calibartion of the linear scale.
|
|||
self.normalize()
|
||||
modu, fini, init = modulus(t)
|
||||
if self.verbosity > 1:
|
||||
sys.stderr.write("(%d %d %d)\n"%(modu, fini, init))
|
||||
sys.stdout.write("(%d %d %d)\n"%(modu, fini, init))
|
||||
|
||||
# mem_window
|
||||
self.D = 0
|
||||
|
|
@ -374,7 +355,7 @@ scale: calibartion of the linear scale.
|
|||
state = nstate
|
||||
|
||||
if self.verbosity > 2:
|
||||
sys.stderr.write("E=%d EE=%d A=%d R=%d L=%d\n"%(E, EE, A, R, L))
|
||||
sys.stdout.write("E=%d EE=%d A=%d R=%d L=%d\n"%(E, EE, A, R, L))
|
||||
return E
|
||||
|
||||
# A dps_product is a named and optionally placed list of dps_item-s
|
||||
|
|
@ -476,17 +457,6 @@ class dps_product(list):
|
|||
s.append(ss)
|
||||
return s
|
||||
|
||||
def ebins(self, section=True, **aa):
|
||||
ebins = lambda l: [ll.ebin(**aa) for ll in l]
|
||||
if section is None:
|
||||
return ebins(self)
|
||||
sections = {ss[0].section: ss for ss in self.sections()}
|
||||
if section is True:
|
||||
return {nn: ebins(ss) for nn,ss in sections.items()}
|
||||
if section in sections:
|
||||
return ebins(sections[section])
|
||||
return []
|
||||
|
||||
def lookup_table(self, func=lambda itm:itm, itf=False):
|
||||
lt = {}
|
||||
for n,section in enumerate(self.sections()):
|
||||
|
|
@ -601,7 +571,7 @@ class dps_product(list):
|
|||
l3mem = next(mem)
|
||||
data = self.simulate_second(sec, l3mem, ccsds=ccsds, **args)
|
||||
if self.verbosity > 2 and len(data):
|
||||
sys.stderr.write("%4ds: %s = %d bytes\n" % (sec, self.name, len(data)))
|
||||
sys.stdout.write("%4ds: %s = %d bytes\n" % (sec, self.name, len(data)))
|
||||
|
||||
if not ccsds : # create a stream of itf packets
|
||||
apid = self.args["tag"] | 0x300
|
||||
|
|
@ -633,13 +603,13 @@ class dps_product(list):
|
|||
packet = ccsds_header + secondary_header + epd_header + data
|
||||
crc = struct.pack(">H", crc1021(0xffff, packet))
|
||||
if self.verbosity > 1:
|
||||
sys.stderr.write("%4ds: CCSDS %s = %d bytes\n" % (sec, self.name, l+23))
|
||||
sys.stdout.write("%4ds: CCSDS %s = %d bytes\n" % (sec, self.name, l+23))
|
||||
yield bytes(packet + crc)
|
||||
if always and last_ccsds!=sec:
|
||||
yield b""
|
||||
if self.verbosity:
|
||||
amount = self.bytes_sent + 23 * int(math.ceil(self.packets_sent))
|
||||
sys.stderr.write("%s (APID: 0x%04x): %d bytes in %d s (%.2f bps)\n" % (self.name, apid, amount, len(t), 1.*amount*8/len(t)))
|
||||
sys.stdout.write("%s (APID: 0x%04x): %d bytes in %d s (%.2f bps)\n" % (self.name, apid, amount, len(t), 1.*amount*8/len(t)))
|
||||
|
||||
|
||||
def data_rate(self):
|
||||
|
|
@ -933,16 +903,6 @@ class dps_table(object):
|
|||
f.write(header)
|
||||
f.write(self.make_defs())
|
||||
|
||||
ebin_args = {}
|
||||
def ebins(self, product=None, section=True, **aa):
|
||||
args = {}
|
||||
args.update(self.ebin_args)
|
||||
args.update(aa)
|
||||
args.update(dict(section=section)) # positional parameter
|
||||
if product is None:
|
||||
return {nn: ss.ebins(**args) for nn,ss in self.products.items()}
|
||||
return self[product].ebins(**args)
|
||||
|
||||
def simulate(self, mem, t=3600, ccsds=False, poisson=True):
|
||||
"""for a number of seconds t, with a l3 histogram memory image mem,
|
||||
simulate the output of the DPS table and return the binary packet
|
||||
|
|
@ -968,8 +928,8 @@ class dps_table(object):
|
|||
if self.verbosity:
|
||||
bps_nob = self.data_rate(no_burst=True)
|
||||
bps = self.data_rate()
|
||||
sys.stderr.write("total data: %d bytes in %d s\ndata rate: %g bps\n" % (bps_nob*t/8,t,bps_nob))
|
||||
sys.stderr.write("total data (incl. burst): %d bytes in %d s\ndata rate (incl. burst): %g bps\n" % (bps*t/8,t,bps))
|
||||
sys.stdout.write("total data: %d bytes in %d s\ndata rate: %g bps\n" % (bps_nob*t/8,t,bps_nob))
|
||||
sys.stdout.write("total data (incl. burst): %d bytes in %d s\ndata rate (incl. burst): %g bps\n" % (bps*t/8,t,bps))
|
||||
return b"".join(out)
|
||||
|
||||
def simulate_pha(self, l3, l3sim, files, t=3600, **args):
|
||||
|
|
@ -1159,8 +1119,6 @@ class empty_item(object):
|
|||
return "empty_item()\n"
|
||||
def __str__(self):
|
||||
return "DPS empty_item\n"
|
||||
def is_tele(self):
|
||||
return False
|
||||
|
||||
class unchanged_item(empty_item):
|
||||
def __call__(self, idx, msg):
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ class hetept_config(unit_config):
|
|||
TYPE = "HETEPT"
|
||||
def __init__(self, ppss=None, l3=None, ana=None, science=None, dps=None,
|
||||
unit='HET/EPT1', model=None, variant=None, temperature=25, env=None,
|
||||
patch=0, verbose=1, dp_flag=0, version=0, OH_degC=-10, **kwargs):
|
||||
verbose=1, dp_flag=0, version=0, **kwargs):
|
||||
from .ppss import hetept_ppss
|
||||
from .dps import hetept_dps
|
||||
from .l3trigger import hetept_l3_trigger
|
||||
|
|
@ -22,14 +22,12 @@ class hetept_config(unit_config):
|
|||
self.name = unit
|
||||
self.model = model.upper()
|
||||
self.variant = variant
|
||||
self.scratch = kwargs.get("scratch", None)
|
||||
|
||||
env = environment(env)
|
||||
if ppss is None:
|
||||
if dps is None:
|
||||
if l3 is None:
|
||||
l3 = hetept_l3_trigger(model=self.model, variant=self.variant, temperature=temperature,
|
||||
patch=patch, verbose=verbose)
|
||||
l3 = hetept_l3_trigger(model=self.model, variant=self.variant, temperature=temperature, verbose=verbose)
|
||||
if science is None:
|
||||
science = data.science(hetept_l3config=l3.config())
|
||||
dps = hetept_dps(l3, science, unit=unit, env=env, verbosity=verbose+1, flg=dp_flag, version=version)
|
||||
|
|
@ -37,8 +35,7 @@ class hetept_config(unit_config):
|
|||
l3 = dps.l3
|
||||
if ana is None:
|
||||
ana = hetept_l1l2(calib=l3.scales())
|
||||
|
||||
ppss = hetept_ppss(ana=ana, dps=dps, dps_us=110000, clear_us=820000, OH_degC=OH_degC, verbose=verbose)
|
||||
ppss = hetept_ppss(ana=ana, dps=dps, dps_us=110000, clear_us=820000, verbose=verbose)
|
||||
self.ppss = ppss
|
||||
self.dps = self.ppss.dps
|
||||
self.l3 = self.dps.l3
|
||||
|
|
@ -55,9 +52,9 @@ class hetept_config_table(config_table):
|
|||
CONFIG = hetept_config
|
||||
|
||||
def assemble(self, start_modulus=60, calib_ppss=None, streamtest=True, **kwargs):# start_modulus=3600?
|
||||
sys.stderr.write("Creating HK configuration @ index 1\n")
|
||||
sys.stdout.write("Creating HK configuration @ index 1\n")
|
||||
self[1] = self.hk(start_modulus=start_modulus)
|
||||
sys.stderr.write("Creating Nominal configuration @ index 2\n")
|
||||
sys.stdout.write("Creating Nominal configuration @ index 2\n")
|
||||
self[2] = self.mode_to_nom = self.cfg_to_idx(self.nominal, start_modulus=start_modulus,
|
||||
abort=1, fill=True, pad=True, set_index=True, start_seq=True,
|
||||
write_scratch=True, send_scratch=False, partial=False)
|
||||
|
|
@ -86,8 +83,8 @@ class hetept_config_table(config_table):
|
|||
self.mode_low_rate = message_index()
|
||||
self.mode_high_rate += high_rate
|
||||
self.mode_low_rate += low_rate
|
||||
sys.stderr.write("Creating high rate mode configuration @ index 6\n")
|
||||
sys.stderr.write("Creating low rate mode configuration @ index 7\n")
|
||||
sys.stdout.write("Creating high rate mode configuration @ index 6\n")
|
||||
sys.stdout.write("Creating low rate mode configuration @ index 7\n")
|
||||
self[6],self[7] = self.mode_high_rate, self.mode_low_rate
|
||||
self.modes["high"], self.modes["low"] = 6, 7
|
||||
|
||||
|
|
@ -177,7 +174,8 @@ class hetept_config_table(config_table):
|
|||
if msg is not None:
|
||||
self.solomsg = solomsgclass.solomsg(msg)
|
||||
self.ppss.ana_connect()
|
||||
self._ana = self.ppss.ana
|
||||
self.ana.connect(self.solomsg.msg)
|
||||
self._ana = self.ana
|
||||
return self.solomsg.msg
|
||||
|
||||
def do_streamtest(self, msg=None):
|
||||
|
|
|
|||
|
|
@ -9,11 +9,8 @@
|
|||
from . import base_config
|
||||
from .base_config import hetept_config, hetept_config_table
|
||||
|
||||
# attempt to reproduce what was flown 2021-2023
|
||||
VERSION = 10
|
||||
SUBVERSION = 0
|
||||
|
||||
ENV = ["CLOSE", "FAR"]
|
||||
VERSION = 9
|
||||
ENV = ["FAR", "CLOSE"]
|
||||
TEMPERATURE = [25., 15. , 5. , -5.]
|
||||
|
||||
|
||||
|
|
@ -87,32 +84,28 @@ def pqm(calib=False, anatest=False, **kwargs):
|
|||
calib_ppss=calib_ppss, **kwargs)
|
||||
return table
|
||||
|
||||
def fm1(start_modulus=3600, streamtest=False, OH_degC=-6.0, **kwargs):
|
||||
def fm1(start_modulus=3600, streamtest=False, **kwargs):
|
||||
UNIT="HET/EPT1"
|
||||
MODEL="FM1"
|
||||
UNIT_ID = 0xF1
|
||||
TEMPERATURE = [-6.0, -11.60, -0.8]
|
||||
TEMPERATURE = base_config.get_temperatures(minT=-40, maxT=20)
|
||||
|
||||
table = hetept_config_table(
|
||||
unit=UNIT, model=MODEL, env=ENV, temperature=TEMPERATURE,
|
||||
scratch=SUBVERSION, version=VERSION,
|
||||
start_modulus=start_modulus,
|
||||
streamtest=streamtest, OH_degC=OH_degC,
|
||||
**kwargs )
|
||||
scratch=UNIT_ID, version=VERSION, start_modulus=start_modulus,
|
||||
streamtest=streamtest, **kwargs )
|
||||
return table
|
||||
|
||||
def fm2(start_modulus=3600, streamtest=False, OH_degC=-1.0, **kwargs):
|
||||
def fm2(start_modulus=3600, streamtest=False, **kwargs):
|
||||
UNIT="HET/EPT2"
|
||||
MODEL="FM2"
|
||||
UNIT_ID = 0xF2
|
||||
TEMPERATURE = [-0.8, -6.0, 4.40]
|
||||
TEMPERATURE = base_config.get_temperatures(minT=-40, maxT=20)
|
||||
|
||||
table = hetept_config_table(
|
||||
unit=UNIT, model=MODEL, env=ENV, temperature=TEMPERATURE,
|
||||
scratch=SUBVERSION, version=VERSION,
|
||||
start_modulus=start_modulus,
|
||||
streamtest=streamtest, OH_degC=OH_degC,
|
||||
**kwargs )
|
||||
scratch=UNIT_ID, version=VERSION, start_modulus=start_modulus,
|
||||
streamtest=streamtest, **kwargs )
|
||||
return table
|
||||
|
||||
def fs(start_modulus=60, streamtest=True, minT=-40, maxT=20, **kwargs):
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ def write_xml_cf_to_icu(cf_txt, op_dir, conf_mem_addr, eeprom_page=None):
|
|||
return ct_table
|
||||
|
||||
|
||||
def write_xml_cf_to_eeprom(cf_txt, op_dir, eeprom_page=None, pointer_reset=None):
|
||||
def write_xml_cf_to_eeprom(cf_txt, op_dir, eeprom_page=None):
|
||||
"""
|
||||
Loads .txt-format configuration tables and writes XML commands to write the configuration tables to the
|
||||
unit eeprom.
|
||||
|
|
@ -52,9 +52,6 @@ def write_xml_cf_to_eeprom(cf_txt, op_dir, eeprom_page=None, pointer_reset=None)
|
|||
# create xml commands for writing the new config to the EEPROM
|
||||
tc_seq_eeprom = ct_table.upload_index_patch()
|
||||
|
||||
if pointer_reset:
|
||||
tc_seq_eeprom[1][-1] = telecom.store_messages_to_config_store(pointer_reset, unit=ct_table.magic.unit, flags=12, delta=300, comment="Reset table pointer to default table location")
|
||||
|
||||
write_xml(op_dir + 'hetept%i_v%04d_%s_to_EEPROM.tcs' % (ct_table.magic.unit - 1, ct_table.magic.version, hex(ct_table.crc)), tc_seq_eeprom)
|
||||
return ct_table
|
||||
|
||||
|
|
@ -69,13 +66,8 @@ def write_xml_table_index_execution(op_dir):
|
|||
telecom.write_xml(op_dir + 'he2_to_index_2.xml', [telecom.send_table_index('HE2', 2, comment='Switch HE2 to nominal mode')])
|
||||
|
||||
# create xml commands to change the temperature config
|
||||
telecom.write_xml(op_dir + 'he1_to_index_9.xml', [telecom.send_table_index('HE1', 9, comment='Switch HE1 to calibration for -11.6 deg C')])
|
||||
telecom.write_xml(op_dir + 'he1_to_index_10.xml', [telecom.send_table_index('HE1', 10, comment='Switch HE1 to calibration for -6.0 deg C')])
|
||||
telecom.write_xml(op_dir + 'he1_to_index_11.xml', [telecom.send_table_index('HE1', 11, comment='Switch HE1 to calibration for -0.8 deg C')])
|
||||
|
||||
telecom.write_xml(op_dir + 'he2_to_index_9.xml', [telecom.send_table_index('HE2', 9, comment='Switch HE2 to calibration for -6.0 deg C')])
|
||||
telecom.write_xml(op_dir + 'he2_to_index_10.xml', [telecom.send_table_index('HE2', 10, comment='Switch HE2 to calibration for -0.8 deg C')])
|
||||
telecom.write_xml(op_dir + 'he2_to_index_11.xml', [telecom.send_table_index('HE2', 11, comment='Switch HE2 to calibration for +4.4 deg C')])
|
||||
telecom.write_xml(op_dir + 'he1_to_index_13.xml', [telecom.send_table_index('HE1', 13, comment='Switch HE1 to calibration for -11.6 deg C')])
|
||||
telecom.write_xml(op_dir + 'he2_to_index_14.xml', [telecom.send_table_index('HE2', 14, comment='Switch HE2 to calibration for -6.0 deg C')])
|
||||
|
||||
# create xml commands to change to close/far mode
|
||||
telecom.write_xml(op_dir + 'he1_to_index_4.xml', [telecom.send_table_index('HE1', 4, comment='Switch HE1 to close mode')])
|
||||
|
|
|
|||
|
|
@ -71,12 +71,12 @@ class hetept_l1l2(heteptana):
|
|||
self.set_thres(self.HET+self.EPT, idx=idx)
|
||||
|
||||
|
||||
def set_default_thresholds(self, idx="low", ept_A_thr=1000):
|
||||
def set_default_thresholds(self, idx="low"):
|
||||
|
||||
self.set_thres(self.EPT_C, 45*keV, idx="high")
|
||||
self.set_thres(self.EPT_C, 25*keV, idx="low")
|
||||
# EPT_A threshold must be above all x-talk
|
||||
self.set_thres(self.EPT_A, ept_A_thr*keV)
|
||||
self.set_thres(self.EPT_A, 60*keV)
|
||||
|
||||
AH = [a for a in self.HET_A1+self.HET_A2 if a[-1]=='H']
|
||||
AL = [a for a in self.HET_A1+self.HET_A2 if a[-1]=='L']
|
||||
|
|
@ -113,12 +113,12 @@ class hetept_l1l2(heteptana):
|
|||
self.l2[3].disable()
|
||||
|
||||
# EPT
|
||||
self.l1bits(0, "C1", "C2", "A1", "A2")
|
||||
self.l1bits(2, "C3", "C4", "A3", "A4")
|
||||
self.l1bits(0, "C1", "C2")
|
||||
self.l1bits(1, "A1", "A2")
|
||||
self.l1bits(2, "C3", "C4")
|
||||
self.l1bits(3, "A3", "A4")
|
||||
self.l2[0].set(any=(0,), mask=self.ch("C1", "A1", "C2", "A2"))
|
||||
self.l2[1].set(any=(2,), mask=self.ch("C3", "A3", "C4", "A4"))
|
||||
self.l2[0].set(any=(0,), none=(1,), mask=self.ch("C1", "A1", "C2", "A2"))
|
||||
self.l2[1].set(any=(2,), none=(3,), mask=self.ch("C3", "A3", "C4", "A4"))
|
||||
|
||||
a1 = 6; A1 = self.HET_A1
|
||||
b1 = 7; B1 = self.HET_B1
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
L3 pass 1: -2vv -g dis ept.l3
|
||||
opening include file hetept_config.l3 at level 1
|
||||
patch_level = 0x3
|
||||
event_base := R[0x0e0]
|
||||
hetmask := R[0x0e0]
|
||||
eptmask := R[0x0e1]
|
||||
|
|
@ -79,7 +78,7 @@ het_pha_e_AB := 0xf
|
|||
het_pha_stop_invalid := 0x3
|
||||
define .macro DO_EPT_AFTER_HET
|
||||
define .macro DO_EPT_INSTEAD_OF_HET
|
||||
closing include file hetept_config.l3, line 154, level 1
|
||||
closing include file hetept_config.l3, line 150, level 1
|
||||
opening include file ept_calib.l3 at level 1
|
||||
ept_gain = 0.94
|
||||
C1_calib = 0.94
|
||||
|
|
@ -102,13 +101,12 @@ ept_hist_offset = 0x60
|
|||
ept_hist_length = 0xff
|
||||
ept2d_e0 = 0x1
|
||||
ept_2dhist_offset = 0xef
|
||||
ept_2dhist_cutoff = 0xef
|
||||
ept_2dhist_cutoff = 0xbf
|
||||
define .macro EPT_TVCAL
|
||||
closing include file ept_calib.l3, line 90, level 1
|
||||
not opening forward file .ept.forward in twopass mode
|
||||
define .macro EPT
|
||||
.=R[0x000] # was R[0x000]
|
||||
EPT code start address R[0x000]
|
||||
@0 :09e000e0 SUB R[224]>>0 - R[224]>>0
|
||||
@1 :00800000 NOP
|
||||
C1C2_2dhist_offset := 0x0
|
||||
|
|
@ -123,133 +121,107 @@ C4C3_2dhist_offset := 0x40
|
|||
@8 :20000003 ADDI R[3]+0
|
||||
@9 :a0000005 ifN ADDI R[5]+0
|
||||
@10 :03500000 BITS C
|
||||
@11 :09020000 SUB R[0]>>0 - R[2]>>0
|
||||
@12 :89040000 ifN SUB R[0]>>0 - R[4]>>0
|
||||
@13 :0100000c LOG R[12]
|
||||
@14 :1c009e0d CMP R[13] > R[0]+158
|
||||
@15 :d90d6a07 ifC CMP R[7] < R[13]+106
|
||||
@16 :99006007 ifN CMP R[7] < R[0]+96
|
||||
@17 :840060fe ifN BRNG R[254]{3:0}
|
||||
@18 :440060fc ifS BRNG R[252]{3:0}
|
||||
@19 :9b000112 ifN CMP R[18] <= R[0]+1
|
||||
@20 :c3700000 ifC BITS 0
|
||||
@21 :c0c00000 ifC GOTO R[0]
|
||||
@22 :06f785ff MULI R[255]*1925>>15 # 0.05875
|
||||
@23 :01000016 LOG R[22]
|
||||
@24 :06f785fd MULI R[253]*1925>>15 # 0.05875
|
||||
@25 :01000018 LOG R[24]
|
||||
@26 :11190017 CMP R[23]+0 < R[25]
|
||||
@27 :e0000019 ifC ADDI R[25]+0
|
||||
@28 :09160000 SUB R[0]>>0 - R[22]>>0
|
||||
@29 :0100001c LOG R[28]
|
||||
@30 :09180000 SUB R[0]>>0 - R[24]>>0
|
||||
@31 :0100001e LOG R[30]
|
||||
@32 :111f001d CMP R[29]+0 < R[31]
|
||||
@33 :e000001f ifC ADDI R[31]+0
|
||||
@34 :1c009e21 CMP R[33] > R[0]+158
|
||||
@35 :d9216a07 ifC CMP R[7] < R[33]+106
|
||||
@36 :9c009e1b ifN CMP R[27] > R[0]+158
|
||||
@37 :d91b6a07 ifC CMP R[7] < R[27]+106
|
||||
@38 :c3700000 ifC BITS 0
|
||||
@39 :c0c00000 ifC GOTO R[0]
|
||||
@40 :19096a07 CMP R[7] < R[9]+106
|
||||
@41 :dc009e09 ifC CMP R[9] > R[0]+158
|
||||
@42 :85ff6007 ifN TRIM R[7], 96, 255
|
||||
@43 :a040002a ifN ADDI R[42]+16384
|
||||
@44 :6001002b ifS ADDI R[43]+256
|
||||
@45 :8c00002c ifN HIST R[44]>>0 + R[0]>>0
|
||||
@46 :80c00000 ifN GOTO R[0]
|
||||
@47 :040060fc BRNG R[252]{3:0}
|
||||
@48 :440060fe ifS BRNG R[254]{3:0}
|
||||
@49 :1b000130 CMP R[48] <= R[0]+1
|
||||
@50 :89050003 ifN SUB R[3]>>0 - R[5]>>0
|
||||
@51 :a0004032 ifN ADDI R[50]+64
|
||||
@52 :857f0033 ifN TRIM R[51], 0, 127
|
||||
@53 :a0c00034 ifN ADDI R[52]+49152
|
||||
@54 :88040002 ifN ADD R[2]>>0 + R[4]>>0
|
||||
@55 :81000036 ifN LOG R[54]
|
||||
@56 :9900ef37 ifN CMP R[55] < R[0]+239
|
||||
@57 :857fef37 ifN TRIM R[55], 239, 127
|
||||
@58 :8c351939 ifN HIST R[57]<<7 + R[53]>>1
|
||||
@59 :03d00000 BITS ~C
|
||||
@60 :03b00000 BITC 1
|
||||
C1C2_exit = R[0x03d]
|
||||
@61 :20000000 ADDI R[0]+0
|
||||
@62 :60000100 ifS ADDI R[0]+1
|
||||
@63 :a0000200 ifN ADDI R[0]+2
|
||||
closing include file EPT, line 127, level 1
|
||||
@11 :19006007 CMP R[7] < R[0]+96
|
||||
@12 :840060fe ifN BRNG R[254]{3:0}
|
||||
@13 :440060fc ifS BRNG R[252]{3:0}
|
||||
@14 :9b00010d ifN CMP R[13] <= R[0]+1
|
||||
@15 :c3700000 ifC BITS 0
|
||||
@16 :c0c00000 ifC GOTO R[0]
|
||||
@17 :06f785ff MULI R[255]*1925>>15 # 0.05875
|
||||
@18 :01000011 LOG R[17]
|
||||
@19 :06f785fd MULI R[253]*1925>>15 # 0.05875
|
||||
@20 :01000013 LOG R[19]
|
||||
@21 :11140012 CMP R[18]+0 < R[20]
|
||||
@22 :e0000014 ifC ADDI R[20]+0
|
||||
@23 :1c009e16 CMP R[22] > R[0]+158
|
||||
@24 :d9166a07 ifC CMP R[7] < R[22]+106
|
||||
@25 :c3700000 ifC BITS 0
|
||||
@26 :c0c00000 ifC GOTO R[0]
|
||||
@27 :19096a07 CMP R[7] < R[9]+106
|
||||
@28 :dc009e09 ifC CMP R[9] > R[0]+158
|
||||
@29 :85ff6007 ifN TRIM R[7], 96, 255
|
||||
@30 :a040001d ifN ADDI R[29]+16384
|
||||
@31 :6001001e ifS ADDI R[30]+256
|
||||
@32 :8c00001f ifN HIST R[31]>>0 + R[0]>>0
|
||||
@33 :80c00000 ifN GOTO R[0]
|
||||
@34 :040060fc BRNG R[252]{3:0}
|
||||
@35 :440060fe ifS BRNG R[254]{3:0}
|
||||
@36 :1b000123 CMP R[35] <= R[0]+1
|
||||
@37 :89050003 ifN SUB R[3]>>0 - R[5]>>0
|
||||
@38 :a0004025 ifN ADDI R[37]+64
|
||||
@39 :857f0026 ifN TRIM R[38], 0, 127
|
||||
@40 :a0c00027 ifN ADDI R[39]+49152
|
||||
@41 :88040002 ifN ADD R[2]>>0 + R[4]>>0
|
||||
@42 :81000029 ifN LOG R[41]
|
||||
@43 :9900bf2a ifN CMP R[42] < R[0]+191
|
||||
@44 :857fef2a ifN TRIM R[42], 239, 127
|
||||
@45 :8c28192c ifN HIST R[44]<<7 + R[40]>>1
|
||||
@46 :03d00000 BITS ~C
|
||||
@47 :03b00000 BITC 1
|
||||
C1C2_exit = R[0x030]
|
||||
@48 :20000000 ADDI R[0]+0
|
||||
@49 :60000100 ifS ADDI R[0]+1
|
||||
@50 :a0000200 ifN ADDI R[0]+2
|
||||
closing include file EPT, line 100, level 1
|
||||
.call EPT ['4', '3', 'C3E-C4E']
|
||||
@64 :06f785f8 MULI R[248]*1925>>15 # 0.05875
|
||||
@65 :01000040 LOG R[64]
|
||||
@66 :06f785fa MULI R[250]*1925>>15 # 0.05875
|
||||
@51 :06f785f8 MULI R[248]*1925>>15 # 0.05875
|
||||
@52 :01000033 LOG R[51]
|
||||
@53 :06f785fa MULI R[250]*1925>>15 # 0.05875
|
||||
@54 :01000035 LOG R[53]
|
||||
@55 :11360034 CMP R[52]+0 < R[54]
|
||||
@56 :e0000036 ifC ADDI R[54]+0
|
||||
@57 :20000034 ADDI R[52]+0
|
||||
@58 :a0000036 ifN ADDI R[54]+0
|
||||
@59 :03500000 BITS C
|
||||
@60 :19006038 CMP R[56] < R[0]+96
|
||||
@61 :840060f8 ifN BRNG R[248]{3:0}
|
||||
@62 :440060fa ifS BRNG R[250]{3:0}
|
||||
@63 :9b00013e ifN CMP R[62] <= R[0]+1
|
||||
@64 :c3700000 ifC BITS 0
|
||||
@65 :c0c00000 ifC GOTO R[0]
|
||||
@66 :06f785f9 MULI R[249]*1925>>15 # 0.05875
|
||||
@67 :01000042 LOG R[66]
|
||||
@68 :11430041 CMP R[65]+0 < R[67]
|
||||
@69 :e0000043 ifC ADDI R[67]+0
|
||||
@70 :20000041 ADDI R[65]+0
|
||||
@71 :a0000043 ifN ADDI R[67]+0
|
||||
@72 :03500000 BITS C
|
||||
@73 :09400000 SUB R[0]>>0 - R[64]>>0
|
||||
@74 :89420000 ifN SUB R[0]>>0 - R[66]>>0
|
||||
@75 :0100004a LOG R[74]
|
||||
@76 :1c009e4b CMP R[75] > R[0]+158
|
||||
@77 :d94b6a45 ifC CMP R[69] < R[75]+106
|
||||
@78 :99006045 ifN CMP R[69] < R[0]+96
|
||||
@79 :840060f8 ifN BRNG R[248]{3:0}
|
||||
@80 :440060fa ifS BRNG R[250]{3:0}
|
||||
@81 :9b000150 ifN CMP R[80] <= R[0]+1
|
||||
@82 :c3700000 ifC BITS 0
|
||||
@83 :c0c00000 ifC GOTO R[0]
|
||||
@84 :06f785f9 MULI R[249]*1925>>15 # 0.05875
|
||||
@85 :01000054 LOG R[84]
|
||||
@86 :06f785fb MULI R[251]*1925>>15 # 0.05875
|
||||
@87 :01000056 LOG R[86]
|
||||
@88 :11570055 CMP R[85]+0 < R[87]
|
||||
@89 :e0000057 ifC ADDI R[87]+0
|
||||
@90 :09540000 SUB R[0]>>0 - R[84]>>0
|
||||
@91 :0100005a LOG R[90]
|
||||
@92 :09560000 SUB R[0]>>0 - R[86]>>0
|
||||
@93 :0100005c LOG R[92]
|
||||
@94 :115d005b CMP R[91]+0 < R[93]
|
||||
@95 :e000005d ifC ADDI R[93]+0
|
||||
@96 :1c009e5f CMP R[95] > R[0]+158
|
||||
@97 :d95f6a45 ifC CMP R[69] < R[95]+106
|
||||
@98 :9c009e59 ifN CMP R[89] > R[0]+158
|
||||
@99 :d9596a45 ifC CMP R[69] < R[89]+106
|
||||
@100:c3700000 ifC BITS 0
|
||||
@101:c0c00000 ifC GOTO R[0]
|
||||
@102:19476a45 CMP R[69] < R[71]+106
|
||||
@103:dc009e47 ifC CMP R[71] > R[0]+158
|
||||
@104:85ff6045 ifN TRIM R[69], 96, 255
|
||||
@105:a0430068 ifN ADDI R[104]+17152
|
||||
@106:7fff0069 ifS ADDI R[105]-256
|
||||
@107:8c00006a ifN HIST R[106]>>0 + R[0]>>0
|
||||
@108:80c00000 ifN GOTO R[0]
|
||||
@109:040060fa BRNG R[250]{3:0}
|
||||
@110:440060f8 ifS BRNG R[248]{3:0}
|
||||
@111:1b00016e CMP R[110] <= R[0]+1
|
||||
@112:89410043 ifN SUB R[67]>>0 - R[65]>>0
|
||||
@113:a0004070 ifN ADDI R[112]+64
|
||||
@114:857f0071 ifN TRIM R[113], 0, 127
|
||||
@115:a0c08072 ifN ADDI R[114]+49280
|
||||
@116:88420040 ifN ADD R[64]>>0 + R[66]>>0
|
||||
@117:81000074 ifN LOG R[116]
|
||||
@118:9900ef75 ifN CMP R[117] < R[0]+239
|
||||
@119:857fef75 ifN TRIM R[117], 239, 127
|
||||
@120:8c731977 ifN HIST R[119]<<7 + R[115]>>1
|
||||
@121:03d00000 BITS ~C
|
||||
@122:03b00000 BITC 1
|
||||
C4C3_exit = R[0x07b]
|
||||
@123:20000000 ADDI R[0]+0
|
||||
@124:60000100 ifS ADDI R[0]+1
|
||||
@125:a0000200 ifN ADDI R[0]+2
|
||||
closing include file EPT, line 127, level 1
|
||||
@126:087d003f ADD R[63]>>0 + R[125]>>0
|
||||
@127:1c00017e CMP R[126] > R[0]+1
|
||||
@128:e0000200 ifC ADDI R[0]+2
|
||||
@129:14000001 CMP R[1]+0 > R[0]
|
||||
@130:87000080 ifN PHA R[128]+0
|
||||
@131:00000000 STOP
|
||||
EPT code end address R[0x084]
|
||||
@68 :06f785fb MULI R[251]*1925>>15 # 0.05875
|
||||
@69 :01000044 LOG R[68]
|
||||
@70 :11450043 CMP R[67]+0 < R[69]
|
||||
@71 :e0000045 ifC ADDI R[69]+0
|
||||
@72 :1c009e47 CMP R[71] > R[0]+158
|
||||
@73 :d9476a38 ifC CMP R[56] < R[71]+106
|
||||
@74 :c3700000 ifC BITS 0
|
||||
@75 :c0c00000 ifC GOTO R[0]
|
||||
@76 :193a6a38 CMP R[56] < R[58]+106
|
||||
@77 :dc009e3a ifC CMP R[58] > R[0]+158
|
||||
@78 :85ff6038 ifN TRIM R[56], 96, 255
|
||||
@79 :a043004e ifN ADDI R[78]+17152
|
||||
@80 :7fff004f ifS ADDI R[79]-256
|
||||
@81 :8c000050 ifN HIST R[80]>>0 + R[0]>>0
|
||||
@82 :80c00000 ifN GOTO R[0]
|
||||
@83 :040060fa BRNG R[250]{3:0}
|
||||
@84 :440060f8 ifS BRNG R[248]{3:0}
|
||||
@85 :1b000154 CMP R[84] <= R[0]+1
|
||||
@86 :89340036 ifN SUB R[54]>>0 - R[52]>>0
|
||||
@87 :a0004056 ifN ADDI R[86]+64
|
||||
@88 :857f0057 ifN TRIM R[87], 0, 127
|
||||
@89 :a0c08058 ifN ADDI R[88]+49280
|
||||
@90 :88350033 ifN ADD R[51]>>0 + R[53]>>0
|
||||
@91 :8100005a ifN LOG R[90]
|
||||
@92 :9900bf5b ifN CMP R[91] < R[0]+191
|
||||
@93 :857fef5b ifN TRIM R[91], 239, 127
|
||||
@94 :8c59195d ifN HIST R[93]<<7 + R[89]>>1
|
||||
@95 :03d00000 BITS ~C
|
||||
@96 :03b00000 BITC 1
|
||||
C4C3_exit = R[0x061]
|
||||
@97 :20000000 ADDI R[0]+0
|
||||
@98 :60000100 ifS ADDI R[0]+1
|
||||
@99 :a0000200 ifN ADDI R[0]+2
|
||||
closing include file EPT, line 100, level 1
|
||||
@100:08630032 ADD R[50]>>0 + R[99]>>0
|
||||
@101:1c000164 CMP R[100] > R[0]+1
|
||||
@102:e0000200 ifC ADDI R[0]+2
|
||||
@103:14000001 CMP R[1]+0 > R[0]
|
||||
@104:87000066 ifN PHA R[102]+0
|
||||
@105:00000000 STOP
|
||||
EPT code end address R[0x06a]
|
||||
L3 pass 2: 2 forward conflicts
|
||||
opening include file hetept_config.l3 at level 1
|
||||
event_base := R[0x0e0]
|
||||
|
|
@ -330,7 +302,7 @@ het_pha_e_AB := 0xf
|
|||
het_pha_stop_invalid := 0x3
|
||||
define .macro DO_EPT_AFTER_HET
|
||||
define .macro DO_EPT_INSTEAD_OF_HET
|
||||
closing include file hetept_config.l3, line 154, level 1
|
||||
closing include file hetept_config.l3, line 150, level 1
|
||||
opening include file ept_calib.l3 at level 1
|
||||
ept_gain = 0.94
|
||||
C1_calib = 0.94
|
||||
|
|
@ -353,13 +325,12 @@ ept_hist_offset = 0x60
|
|||
ept_hist_length = 0xff
|
||||
ept2d_e0 = 0x1
|
||||
ept_2dhist_offset = 0xef
|
||||
ept_2dhist_cutoff = 0xef
|
||||
ept_2dhist_cutoff = 0xbf
|
||||
define .macro EPT_TVCAL
|
||||
closing include file ept_calib.l3, line 90, level 1
|
||||
not opening forward file .ept.forward in twopass mode
|
||||
define .macro EPT
|
||||
.=R[0x000] # was R[0x084]
|
||||
EPT code start address R[0x000]
|
||||
.=R[0x000] # was R[0x06a]
|
||||
@0 :09e000e0 SUB R[224]>>0 - R[224]>>0
|
||||
@1 :00800000 NOP
|
||||
C1C2_2dhist_offset := 0x0
|
||||
|
|
@ -374,133 +345,107 @@ C4C3_2dhist_offset := 0x40
|
|||
@8 :20000003 ADDI R[3]+0
|
||||
@9 :a0000005 ifN ADDI R[5]+0
|
||||
@10 :03500000 BITS C
|
||||
@11 :09020000 SUB R[0]>>0 - R[2]>>0
|
||||
@12 :89040000 ifN SUB R[0]>>0 - R[4]>>0
|
||||
@13 :0100000c LOG R[12]
|
||||
@14 :1c009e0d CMP R[13] > R[0]+158
|
||||
@15 :d90d6a07 ifC CMP R[7] < R[13]+106
|
||||
@16 :99006007 ifN CMP R[7] < R[0]+96
|
||||
@17 :840060fe ifN BRNG R[254]{3:0}
|
||||
@18 :440060fc ifS BRNG R[252]{3:0}
|
||||
@19 :9b000112 ifN CMP R[18] <= R[0]+1
|
||||
@20 :c3700000 ifC BITS 0
|
||||
@21 :c0c03d00 ifC GOTO R[61]
|
||||
@22 :06f785ff MULI R[255]*1925>>15 # 0.05875
|
||||
@23 :01000016 LOG R[22]
|
||||
@24 :06f785fd MULI R[253]*1925>>15 # 0.05875
|
||||
@25 :01000018 LOG R[24]
|
||||
@26 :11190017 CMP R[23]+0 < R[25]
|
||||
@27 :e0000019 ifC ADDI R[25]+0
|
||||
@28 :09160000 SUB R[0]>>0 - R[22]>>0
|
||||
@29 :0100001c LOG R[28]
|
||||
@30 :09180000 SUB R[0]>>0 - R[24]>>0
|
||||
@31 :0100001e LOG R[30]
|
||||
@32 :111f001d CMP R[29]+0 < R[31]
|
||||
@33 :e000001f ifC ADDI R[31]+0
|
||||
@34 :1c009e21 CMP R[33] > R[0]+158
|
||||
@35 :d9216a07 ifC CMP R[7] < R[33]+106
|
||||
@36 :9c009e1b ifN CMP R[27] > R[0]+158
|
||||
@37 :d91b6a07 ifC CMP R[7] < R[27]+106
|
||||
@38 :c3700000 ifC BITS 0
|
||||
@39 :c0c03d00 ifC GOTO R[61]
|
||||
@40 :19096a07 CMP R[7] < R[9]+106
|
||||
@41 :dc009e09 ifC CMP R[9] > R[0]+158
|
||||
@42 :85ff6007 ifN TRIM R[7], 96, 255
|
||||
@43 :a040002a ifN ADDI R[42]+16384
|
||||
@44 :6001002b ifS ADDI R[43]+256
|
||||
@45 :8c00002c ifN HIST R[44]>>0 + R[0]>>0
|
||||
@46 :80c03d00 ifN GOTO R[61]
|
||||
@47 :040060fc BRNG R[252]{3:0}
|
||||
@48 :440060fe ifS BRNG R[254]{3:0}
|
||||
@49 :1b000130 CMP R[48] <= R[0]+1
|
||||
@50 :89050003 ifN SUB R[3]>>0 - R[5]>>0
|
||||
@51 :a0004032 ifN ADDI R[50]+64
|
||||
@52 :857f0033 ifN TRIM R[51], 0, 127
|
||||
@53 :a0c00034 ifN ADDI R[52]+49152
|
||||
@54 :88040002 ifN ADD R[2]>>0 + R[4]>>0
|
||||
@55 :81000036 ifN LOG R[54]
|
||||
@56 :9900ef37 ifN CMP R[55] < R[0]+239
|
||||
@57 :857fef37 ifN TRIM R[55], 239, 127
|
||||
@58 :8c351939 ifN HIST R[57]<<7 + R[53]>>1
|
||||
@59 :03d00000 BITS ~C
|
||||
@60 :03b00000 BITC 1
|
||||
C1C2_exit = R[0x03d]
|
||||
@61 :20000000 ADDI R[0]+0
|
||||
@62 :60000100 ifS ADDI R[0]+1
|
||||
@63 :a0000200 ifN ADDI R[0]+2
|
||||
closing include file EPT, line 127, level 1
|
||||
@11 :19006007 CMP R[7] < R[0]+96
|
||||
@12 :840060fe ifN BRNG R[254]{3:0}
|
||||
@13 :440060fc ifS BRNG R[252]{3:0}
|
||||
@14 :9b00010d ifN CMP R[13] <= R[0]+1
|
||||
@15 :c3700000 ifC BITS 0
|
||||
@16 :c0c03000 ifC GOTO R[48]
|
||||
@17 :06f785ff MULI R[255]*1925>>15 # 0.05875
|
||||
@18 :01000011 LOG R[17]
|
||||
@19 :06f785fd MULI R[253]*1925>>15 # 0.05875
|
||||
@20 :01000013 LOG R[19]
|
||||
@21 :11140012 CMP R[18]+0 < R[20]
|
||||
@22 :e0000014 ifC ADDI R[20]+0
|
||||
@23 :1c009e16 CMP R[22] > R[0]+158
|
||||
@24 :d9166a07 ifC CMP R[7] < R[22]+106
|
||||
@25 :c3700000 ifC BITS 0
|
||||
@26 :c0c03000 ifC GOTO R[48]
|
||||
@27 :19096a07 CMP R[7] < R[9]+106
|
||||
@28 :dc009e09 ifC CMP R[9] > R[0]+158
|
||||
@29 :85ff6007 ifN TRIM R[7], 96, 255
|
||||
@30 :a040001d ifN ADDI R[29]+16384
|
||||
@31 :6001001e ifS ADDI R[30]+256
|
||||
@32 :8c00001f ifN HIST R[31]>>0 + R[0]>>0
|
||||
@33 :80c03000 ifN GOTO R[48]
|
||||
@34 :040060fc BRNG R[252]{3:0}
|
||||
@35 :440060fe ifS BRNG R[254]{3:0}
|
||||
@36 :1b000123 CMP R[35] <= R[0]+1
|
||||
@37 :89050003 ifN SUB R[3]>>0 - R[5]>>0
|
||||
@38 :a0004025 ifN ADDI R[37]+64
|
||||
@39 :857f0026 ifN TRIM R[38], 0, 127
|
||||
@40 :a0c00027 ifN ADDI R[39]+49152
|
||||
@41 :88040002 ifN ADD R[2]>>0 + R[4]>>0
|
||||
@42 :81000029 ifN LOG R[41]
|
||||
@43 :9900bf2a ifN CMP R[42] < R[0]+191
|
||||
@44 :857fef2a ifN TRIM R[42], 239, 127
|
||||
@45 :8c28192c ifN HIST R[44]<<7 + R[40]>>1
|
||||
@46 :03d00000 BITS ~C
|
||||
@47 :03b00000 BITC 1
|
||||
C1C2_exit = R[0x030]
|
||||
@48 :20000000 ADDI R[0]+0
|
||||
@49 :60000100 ifS ADDI R[0]+1
|
||||
@50 :a0000200 ifN ADDI R[0]+2
|
||||
closing include file EPT, line 100, level 1
|
||||
.call EPT ['4', '3', 'C3E-C4E']
|
||||
@64 :06f785f8 MULI R[248]*1925>>15 # 0.05875
|
||||
@65 :01000040 LOG R[64]
|
||||
@66 :06f785fa MULI R[250]*1925>>15 # 0.05875
|
||||
@51 :06f785f8 MULI R[248]*1925>>15 # 0.05875
|
||||
@52 :01000033 LOG R[51]
|
||||
@53 :06f785fa MULI R[250]*1925>>15 # 0.05875
|
||||
@54 :01000035 LOG R[53]
|
||||
@55 :11360034 CMP R[52]+0 < R[54]
|
||||
@56 :e0000036 ifC ADDI R[54]+0
|
||||
@57 :20000034 ADDI R[52]+0
|
||||
@58 :a0000036 ifN ADDI R[54]+0
|
||||
@59 :03500000 BITS C
|
||||
@60 :19006038 CMP R[56] < R[0]+96
|
||||
@61 :840060f8 ifN BRNG R[248]{3:0}
|
||||
@62 :440060fa ifS BRNG R[250]{3:0}
|
||||
@63 :9b00013e ifN CMP R[62] <= R[0]+1
|
||||
@64 :c3700000 ifC BITS 0
|
||||
@65 :c0c06100 ifC GOTO R[97]
|
||||
@66 :06f785f9 MULI R[249]*1925>>15 # 0.05875
|
||||
@67 :01000042 LOG R[66]
|
||||
@68 :11430041 CMP R[65]+0 < R[67]
|
||||
@69 :e0000043 ifC ADDI R[67]+0
|
||||
@70 :20000041 ADDI R[65]+0
|
||||
@71 :a0000043 ifN ADDI R[67]+0
|
||||
@72 :03500000 BITS C
|
||||
@73 :09400000 SUB R[0]>>0 - R[64]>>0
|
||||
@74 :89420000 ifN SUB R[0]>>0 - R[66]>>0
|
||||
@75 :0100004a LOG R[74]
|
||||
@76 :1c009e4b CMP R[75] > R[0]+158
|
||||
@77 :d94b6a45 ifC CMP R[69] < R[75]+106
|
||||
@78 :99006045 ifN CMP R[69] < R[0]+96
|
||||
@79 :840060f8 ifN BRNG R[248]{3:0}
|
||||
@80 :440060fa ifS BRNG R[250]{3:0}
|
||||
@81 :9b000150 ifN CMP R[80] <= R[0]+1
|
||||
@82 :c3700000 ifC BITS 0
|
||||
@83 :c0c07b00 ifC GOTO R[123]
|
||||
@84 :06f785f9 MULI R[249]*1925>>15 # 0.05875
|
||||
@85 :01000054 LOG R[84]
|
||||
@86 :06f785fb MULI R[251]*1925>>15 # 0.05875
|
||||
@87 :01000056 LOG R[86]
|
||||
@88 :11570055 CMP R[85]+0 < R[87]
|
||||
@89 :e0000057 ifC ADDI R[87]+0
|
||||
@90 :09540000 SUB R[0]>>0 - R[84]>>0
|
||||
@91 :0100005a LOG R[90]
|
||||
@92 :09560000 SUB R[0]>>0 - R[86]>>0
|
||||
@93 :0100005c LOG R[92]
|
||||
@94 :115d005b CMP R[91]+0 < R[93]
|
||||
@95 :e000005d ifC ADDI R[93]+0
|
||||
@96 :1c009e5f CMP R[95] > R[0]+158
|
||||
@97 :d95f6a45 ifC CMP R[69] < R[95]+106
|
||||
@98 :9c009e59 ifN CMP R[89] > R[0]+158
|
||||
@99 :d9596a45 ifC CMP R[69] < R[89]+106
|
||||
@100:c3700000 ifC BITS 0
|
||||
@101:c0c07b00 ifC GOTO R[123]
|
||||
@102:19476a45 CMP R[69] < R[71]+106
|
||||
@103:dc009e47 ifC CMP R[71] > R[0]+158
|
||||
@104:85ff6045 ifN TRIM R[69], 96, 255
|
||||
@105:a0430068 ifN ADDI R[104]+17152
|
||||
@106:7fff0069 ifS ADDI R[105]-256
|
||||
@107:8c00006a ifN HIST R[106]>>0 + R[0]>>0
|
||||
@108:80c07b00 ifN GOTO R[123]
|
||||
@109:040060fa BRNG R[250]{3:0}
|
||||
@110:440060f8 ifS BRNG R[248]{3:0}
|
||||
@111:1b00016e CMP R[110] <= R[0]+1
|
||||
@112:89410043 ifN SUB R[67]>>0 - R[65]>>0
|
||||
@113:a0004070 ifN ADDI R[112]+64
|
||||
@114:857f0071 ifN TRIM R[113], 0, 127
|
||||
@115:a0c08072 ifN ADDI R[114]+49280
|
||||
@116:88420040 ifN ADD R[64]>>0 + R[66]>>0
|
||||
@117:81000074 ifN LOG R[116]
|
||||
@118:9900ef75 ifN CMP R[117] < R[0]+239
|
||||
@119:857fef75 ifN TRIM R[117], 239, 127
|
||||
@120:8c731977 ifN HIST R[119]<<7 + R[115]>>1
|
||||
@121:03d00000 BITS ~C
|
||||
@122:03b00000 BITC 1
|
||||
C4C3_exit = R[0x07b]
|
||||
@123:20000000 ADDI R[0]+0
|
||||
@124:60000100 ifS ADDI R[0]+1
|
||||
@125:a0000200 ifN ADDI R[0]+2
|
||||
closing include file EPT, line 127, level 1
|
||||
@126:087d003f ADD R[63]>>0 + R[125]>>0
|
||||
@127:1c00017e CMP R[126] > R[0]+1
|
||||
@128:e0000200 ifC ADDI R[0]+2
|
||||
@129:14000001 CMP R[1]+0 > R[0]
|
||||
@130:87000080 ifN PHA R[128]+0
|
||||
@131:00000000 STOP
|
||||
EPT code end address R[0x084]
|
||||
@68 :06f785fb MULI R[251]*1925>>15 # 0.05875
|
||||
@69 :01000044 LOG R[68]
|
||||
@70 :11450043 CMP R[67]+0 < R[69]
|
||||
@71 :e0000045 ifC ADDI R[69]+0
|
||||
@72 :1c009e47 CMP R[71] > R[0]+158
|
||||
@73 :d9476a38 ifC CMP R[56] < R[71]+106
|
||||
@74 :c3700000 ifC BITS 0
|
||||
@75 :c0c06100 ifC GOTO R[97]
|
||||
@76 :193a6a38 CMP R[56] < R[58]+106
|
||||
@77 :dc009e3a ifC CMP R[58] > R[0]+158
|
||||
@78 :85ff6038 ifN TRIM R[56], 96, 255
|
||||
@79 :a043004e ifN ADDI R[78]+17152
|
||||
@80 :7fff004f ifS ADDI R[79]-256
|
||||
@81 :8c000050 ifN HIST R[80]>>0 + R[0]>>0
|
||||
@82 :80c06100 ifN GOTO R[97]
|
||||
@83 :040060fa BRNG R[250]{3:0}
|
||||
@84 :440060f8 ifS BRNG R[248]{3:0}
|
||||
@85 :1b000154 CMP R[84] <= R[0]+1
|
||||
@86 :89340036 ifN SUB R[54]>>0 - R[52]>>0
|
||||
@87 :a0004056 ifN ADDI R[86]+64
|
||||
@88 :857f0057 ifN TRIM R[87], 0, 127
|
||||
@89 :a0c08058 ifN ADDI R[88]+49280
|
||||
@90 :88350033 ifN ADD R[51]>>0 + R[53]>>0
|
||||
@91 :8100005a ifN LOG R[90]
|
||||
@92 :9900bf5b ifN CMP R[91] < R[0]+191
|
||||
@93 :857fef5b ifN TRIM R[91], 239, 127
|
||||
@94 :8c59195d ifN HIST R[93]<<7 + R[89]>>1
|
||||
@95 :03d00000 BITS ~C
|
||||
@96 :03b00000 BITC 1
|
||||
C4C3_exit = R[0x061]
|
||||
@97 :20000000 ADDI R[0]+0
|
||||
@98 :60000100 ifS ADDI R[0]+1
|
||||
@99 :a0000200 ifN ADDI R[0]+2
|
||||
closing include file EPT, line 100, level 1
|
||||
@100:08630032 ADD R[50]>>0 + R[99]>>0
|
||||
@101:1c000164 CMP R[100] > R[0]+1
|
||||
@102:e0000200 ifC ADDI R[0]+2
|
||||
@103:14000001 CMP R[1]+0 > R[0]
|
||||
@104:87000066 ifN PHA R[102]+0
|
||||
@105:00000000 STOP
|
||||
EPT code end address R[0x06a]
|
||||
@0 :09e000e0 SUB R[224]>>0 - R[224]>>0
|
||||
@1 :00800000 NOP
|
||||
@2 :06f785fe MULI R[254]*1925>>15 # 0.05875
|
||||
|
|
@ -512,124 +457,98 @@ EPT code end address R[0x084]
|
|||
@8 :20000003 ADDI R[3]+0
|
||||
@9 :a0000005 ifN ADDI R[5]+0
|
||||
@10 :03500000 BITS C
|
||||
@11 :09020000 SUB R[0]>>0 - R[2]>>0
|
||||
@12 :89040000 ifN SUB R[0]>>0 - R[4]>>0
|
||||
@13 :0100000c LOG R[12]
|
||||
@14 :1c009e0d CMP R[13] > R[0]+158
|
||||
@15 :d90d6a07 ifC CMP R[7] < R[13]+106
|
||||
@16 :99006007 ifN CMP R[7] < R[0]+96
|
||||
@17 :840060fe ifN BRNG R[254]{3:0}
|
||||
@18 :440060fc ifS BRNG R[252]{3:0}
|
||||
@19 :9b000112 ifN CMP R[18] <= R[0]+1
|
||||
@20 :c3700000 ifC BITS 0
|
||||
@21 :c0c03d00 ifC GOTO R[61]
|
||||
@22 :06f785ff MULI R[255]*1925>>15 # 0.05875
|
||||
@23 :01000016 LOG R[22]
|
||||
@24 :06f785fd MULI R[253]*1925>>15 # 0.05875
|
||||
@25 :01000018 LOG R[24]
|
||||
@26 :11190017 CMP R[23]+0 < R[25]
|
||||
@27 :e0000019 ifC ADDI R[25]+0
|
||||
@28 :09160000 SUB R[0]>>0 - R[22]>>0
|
||||
@29 :0100001c LOG R[28]
|
||||
@30 :09180000 SUB R[0]>>0 - R[24]>>0
|
||||
@31 :0100001e LOG R[30]
|
||||
@32 :111f001d CMP R[29]+0 < R[31]
|
||||
@33 :e000001f ifC ADDI R[31]+0
|
||||
@34 :1c009e21 CMP R[33] > R[0]+158
|
||||
@35 :d9216a07 ifC CMP R[7] < R[33]+106
|
||||
@36 :9c009e1b ifN CMP R[27] > R[0]+158
|
||||
@37 :d91b6a07 ifC CMP R[7] < R[27]+106
|
||||
@38 :c3700000 ifC BITS 0
|
||||
@39 :c0c03d00 ifC GOTO R[61]
|
||||
@40 :19096a07 CMP R[7] < R[9]+106
|
||||
@41 :dc009e09 ifC CMP R[9] > R[0]+158
|
||||
@42 :85ff6007 ifN TRIM R[7], 96, 255
|
||||
@43 :a040002a ifN ADDI R[42]+16384
|
||||
@44 :6001002b ifS ADDI R[43]+256
|
||||
@45 :8c00002c ifN HIST R[44]>>0 + R[0]>>0
|
||||
@46 :80c03d00 ifN GOTO R[61]
|
||||
@47 :040060fc BRNG R[252]{3:0}
|
||||
@48 :440060fe ifS BRNG R[254]{3:0}
|
||||
@49 :1b000130 CMP R[48] <= R[0]+1
|
||||
@50 :89050003 ifN SUB R[3]>>0 - R[5]>>0
|
||||
@51 :a0004032 ifN ADDI R[50]+64
|
||||
@52 :857f0033 ifN TRIM R[51], 0, 127
|
||||
@53 :a0c00034 ifN ADDI R[52]+49152
|
||||
@54 :88040002 ifN ADD R[2]>>0 + R[4]>>0
|
||||
@55 :81000036 ifN LOG R[54]
|
||||
@56 :9900ef37 ifN CMP R[55] < R[0]+239
|
||||
@57 :857fef37 ifN TRIM R[55], 239, 127
|
||||
@58 :8c351939 ifN HIST R[57]<<7 + R[53]>>1
|
||||
@59 :03d00000 BITS ~C
|
||||
@60 :03b00000 BITC 1
|
||||
@61 :20000000 ADDI R[0]+0
|
||||
@62 :60000100 ifS ADDI R[0]+1
|
||||
@63 :a0000200 ifN ADDI R[0]+2
|
||||
@64 :06f785f8 MULI R[248]*1925>>15 # 0.05875
|
||||
@65 :01000040 LOG R[64]
|
||||
@66 :06f785fa MULI R[250]*1925>>15 # 0.05875
|
||||
@11 :19006007 CMP R[7] < R[0]+96
|
||||
@12 :840060fe ifN BRNG R[254]{3:0}
|
||||
@13 :440060fc ifS BRNG R[252]{3:0}
|
||||
@14 :9b00010d ifN CMP R[13] <= R[0]+1
|
||||
@15 :c3700000 ifC BITS 0
|
||||
@16 :c0c03000 ifC GOTO R[48]
|
||||
@17 :06f785ff MULI R[255]*1925>>15 # 0.05875
|
||||
@18 :01000011 LOG R[17]
|
||||
@19 :06f785fd MULI R[253]*1925>>15 # 0.05875
|
||||
@20 :01000013 LOG R[19]
|
||||
@21 :11140012 CMP R[18]+0 < R[20]
|
||||
@22 :e0000014 ifC ADDI R[20]+0
|
||||
@23 :1c009e16 CMP R[22] > R[0]+158
|
||||
@24 :d9166a07 ifC CMP R[7] < R[22]+106
|
||||
@25 :c3700000 ifC BITS 0
|
||||
@26 :c0c03000 ifC GOTO R[48]
|
||||
@27 :19096a07 CMP R[7] < R[9]+106
|
||||
@28 :dc009e09 ifC CMP R[9] > R[0]+158
|
||||
@29 :85ff6007 ifN TRIM R[7], 96, 255
|
||||
@30 :a040001d ifN ADDI R[29]+16384
|
||||
@31 :6001001e ifS ADDI R[30]+256
|
||||
@32 :8c00001f ifN HIST R[31]>>0 + R[0]>>0
|
||||
@33 :80c03000 ifN GOTO R[48]
|
||||
@34 :040060fc BRNG R[252]{3:0}
|
||||
@35 :440060fe ifS BRNG R[254]{3:0}
|
||||
@36 :1b000123 CMP R[35] <= R[0]+1
|
||||
@37 :89050003 ifN SUB R[3]>>0 - R[5]>>0
|
||||
@38 :a0004025 ifN ADDI R[37]+64
|
||||
@39 :857f0026 ifN TRIM R[38], 0, 127
|
||||
@40 :a0c00027 ifN ADDI R[39]+49152
|
||||
@41 :88040002 ifN ADD R[2]>>0 + R[4]>>0
|
||||
@42 :81000029 ifN LOG R[41]
|
||||
@43 :9900bf2a ifN CMP R[42] < R[0]+191
|
||||
@44 :857fef2a ifN TRIM R[42], 239, 127
|
||||
@45 :8c28192c ifN HIST R[44]<<7 + R[40]>>1
|
||||
@46 :03d00000 BITS ~C
|
||||
@47 :03b00000 BITC 1
|
||||
@48 :20000000 ADDI R[0]+0
|
||||
@49 :60000100 ifS ADDI R[0]+1
|
||||
@50 :a0000200 ifN ADDI R[0]+2
|
||||
@51 :06f785f8 MULI R[248]*1925>>15 # 0.05875
|
||||
@52 :01000033 LOG R[51]
|
||||
@53 :06f785fa MULI R[250]*1925>>15 # 0.05875
|
||||
@54 :01000035 LOG R[53]
|
||||
@55 :11360034 CMP R[52]+0 < R[54]
|
||||
@56 :e0000036 ifC ADDI R[54]+0
|
||||
@57 :20000034 ADDI R[52]+0
|
||||
@58 :a0000036 ifN ADDI R[54]+0
|
||||
@59 :03500000 BITS C
|
||||
@60 :19006038 CMP R[56] < R[0]+96
|
||||
@61 :840060f8 ifN BRNG R[248]{3:0}
|
||||
@62 :440060fa ifS BRNG R[250]{3:0}
|
||||
@63 :9b00013e ifN CMP R[62] <= R[0]+1
|
||||
@64 :c3700000 ifC BITS 0
|
||||
@65 :c0c06100 ifC GOTO R[97]
|
||||
@66 :06f785f9 MULI R[249]*1925>>15 # 0.05875
|
||||
@67 :01000042 LOG R[66]
|
||||
@68 :11430041 CMP R[65]+0 < R[67]
|
||||
@69 :e0000043 ifC ADDI R[67]+0
|
||||
@70 :20000041 ADDI R[65]+0
|
||||
@71 :a0000043 ifN ADDI R[67]+0
|
||||
@72 :03500000 BITS C
|
||||
@73 :09400000 SUB R[0]>>0 - R[64]>>0
|
||||
@74 :89420000 ifN SUB R[0]>>0 - R[66]>>0
|
||||
@75 :0100004a LOG R[74]
|
||||
@76 :1c009e4b CMP R[75] > R[0]+158
|
||||
@77 :d94b6a45 ifC CMP R[69] < R[75]+106
|
||||
@78 :99006045 ifN CMP R[69] < R[0]+96
|
||||
@79 :840060f8 ifN BRNG R[248]{3:0}
|
||||
@80 :440060fa ifS BRNG R[250]{3:0}
|
||||
@81 :9b000150 ifN CMP R[80] <= R[0]+1
|
||||
@82 :c3700000 ifC BITS 0
|
||||
@83 :c0c07b00 ifC GOTO R[123]
|
||||
@84 :06f785f9 MULI R[249]*1925>>15 # 0.05875
|
||||
@85 :01000054 LOG R[84]
|
||||
@86 :06f785fb MULI R[251]*1925>>15 # 0.05875
|
||||
@87 :01000056 LOG R[86]
|
||||
@88 :11570055 CMP R[85]+0 < R[87]
|
||||
@89 :e0000057 ifC ADDI R[87]+0
|
||||
@90 :09540000 SUB R[0]>>0 - R[84]>>0
|
||||
@91 :0100005a LOG R[90]
|
||||
@92 :09560000 SUB R[0]>>0 - R[86]>>0
|
||||
@93 :0100005c LOG R[92]
|
||||
@94 :115d005b CMP R[91]+0 < R[93]
|
||||
@95 :e000005d ifC ADDI R[93]+0
|
||||
@96 :1c009e5f CMP R[95] > R[0]+158
|
||||
@97 :d95f6a45 ifC CMP R[69] < R[95]+106
|
||||
@98 :9c009e59 ifN CMP R[89] > R[0]+158
|
||||
@99 :d9596a45 ifC CMP R[69] < R[89]+106
|
||||
@100:c3700000 ifC BITS 0
|
||||
@101:c0c07b00 ifC GOTO R[123]
|
||||
@102:19476a45 CMP R[69] < R[71]+106
|
||||
@103:dc009e47 ifC CMP R[71] > R[0]+158
|
||||
@104:85ff6045 ifN TRIM R[69], 96, 255
|
||||
@105:a0430068 ifN ADDI R[104]+17152
|
||||
@106:7fff0069 ifS ADDI R[105]-256
|
||||
@107:8c00006a ifN HIST R[106]>>0 + R[0]>>0
|
||||
@108:80c07b00 ifN GOTO R[123]
|
||||
@109:040060fa BRNG R[250]{3:0}
|
||||
@110:440060f8 ifS BRNG R[248]{3:0}
|
||||
@111:1b00016e CMP R[110] <= R[0]+1
|
||||
@112:89410043 ifN SUB R[67]>>0 - R[65]>>0
|
||||
@113:a0004070 ifN ADDI R[112]+64
|
||||
@114:857f0071 ifN TRIM R[113], 0, 127
|
||||
@115:a0c08072 ifN ADDI R[114]+49280
|
||||
@116:88420040 ifN ADD R[64]>>0 + R[66]>>0
|
||||
@117:81000074 ifN LOG R[116]
|
||||
@118:9900ef75 ifN CMP R[117] < R[0]+239
|
||||
@119:857fef75 ifN TRIM R[117], 239, 127
|
||||
@120:8c731977 ifN HIST R[119]<<7 + R[115]>>1
|
||||
@121:03d00000 BITS ~C
|
||||
@122:03b00000 BITC 1
|
||||
@123:20000000 ADDI R[0]+0
|
||||
@124:60000100 ifS ADDI R[0]+1
|
||||
@125:a0000200 ifN ADDI R[0]+2
|
||||
@126:087d003f ADD R[63]>>0 + R[125]>>0
|
||||
@127:1c00017e CMP R[126] > R[0]+1
|
||||
@128:e0000200 ifC ADDI R[0]+2
|
||||
@129:14000001 CMP R[1]+0 > R[0]
|
||||
@130:87000080 ifN PHA R[128]+0
|
||||
@131:00000000 STOP
|
||||
@68 :06f785fb MULI R[251]*1925>>15 # 0.05875
|
||||
@69 :01000044 LOG R[68]
|
||||
@70 :11450043 CMP R[67]+0 < R[69]
|
||||
@71 :e0000045 ifC ADDI R[69]+0
|
||||
@72 :1c009e47 CMP R[71] > R[0]+158
|
||||
@73 :d9476a38 ifC CMP R[56] < R[71]+106
|
||||
@74 :c3700000 ifC BITS 0
|
||||
@75 :c0c06100 ifC GOTO R[97]
|
||||
@76 :193a6a38 CMP R[56] < R[58]+106
|
||||
@77 :dc009e3a ifC CMP R[58] > R[0]+158
|
||||
@78 :85ff6038 ifN TRIM R[56], 96, 255
|
||||
@79 :a043004e ifN ADDI R[78]+17152
|
||||
@80 :7fff004f ifS ADDI R[79]-256
|
||||
@81 :8c000050 ifN HIST R[80]>>0 + R[0]>>0
|
||||
@82 :80c06100 ifN GOTO R[97]
|
||||
@83 :040060fa BRNG R[250]{3:0}
|
||||
@84 :440060f8 ifS BRNG R[248]{3:0}
|
||||
@85 :1b000154 CMP R[84] <= R[0]+1
|
||||
@86 :89340036 ifN SUB R[54]>>0 - R[52]>>0
|
||||
@87 :a0004056 ifN ADDI R[86]+64
|
||||
@88 :857f0057 ifN TRIM R[87], 0, 127
|
||||
@89 :a0c08058 ifN ADDI R[88]+49280
|
||||
@90 :88350033 ifN ADD R[51]>>0 + R[53]>>0
|
||||
@91 :8100005a ifN LOG R[90]
|
||||
@92 :9900bf5b ifN CMP R[91] < R[0]+191
|
||||
@93 :857fef5b ifN TRIM R[91], 239, 127
|
||||
@94 :8c59195d ifN HIST R[93]<<7 + R[89]>>1
|
||||
@95 :03d00000 BITS ~C
|
||||
@96 :03b00000 BITC 1
|
||||
@97 :20000000 ADDI R[0]+0
|
||||
@98 :60000100 ifS ADDI R[0]+1
|
||||
@99 :a0000200 ifN ADDI R[0]+2
|
||||
@100:08630032 ADD R[50]>>0 + R[99]>>0
|
||||
@101:1c000164 CMP R[100] > R[0]+1
|
||||
@102:e0000200 ifC ADDI R[0]+2
|
||||
@103:14000001 CMP R[1]+0 > R[0]
|
||||
@104:87000066 ifN PHA R[102]+0
|
||||
@105:00000000 STOP
|
||||
|
|
|
|||
|
|
@ -42,17 +42,9 @@ MinE = ifN ADDI C$2E
|
|||
|
||||
BITS C
|
||||
|
||||
# Test if the other segment has significant negative signal.
|
||||
|
||||
SUB Z - C$1K
|
||||
mMinK = ifN SUB Z - C$2K
|
||||
mMinE = LOG mMinK
|
||||
CMP mMinE > Z+cut_ept_ac_thres
|
||||
ifC CMP MaxE < mMinE + cut_ept_ac_ratio
|
||||
|
||||
# Check if we are above the minimum energy limit, otherwise abort (S=0 for PHA buffer selection)
|
||||
|
||||
ifN CMP MaxE < Z+ept_hist_offset
|
||||
CMP MaxE < Z+ept_hist_offset
|
||||
|
||||
# test if the central channel has seen a peak, T>1
|
||||
|
||||
|
|
@ -74,20 +66,11 @@ A$2E = LOG A$2K
|
|||
CMP A$1E < A$2E
|
||||
ANTI = ifC ADDI A$2E
|
||||
|
||||
# Test the anticoincidence channels sees signifivant negative or
|
||||
# positive signal and exceed the crosstalk limit vs the hit central
|
||||
# pixel.
|
||||
# Test if the anticoicidence is above noise
|
||||
# and exceed the crosstalk limit vs the hit central pixel
|
||||
|
||||
mA$1K = SUB Z - A$1K
|
||||
mA$1E = LOG mA$1K
|
||||
mA$2K = SUB Z - A$2K
|
||||
mA$2E = LOG mA$2K
|
||||
CMP mA$1E < mA$2E
|
||||
mANTI = ifC ADDI mA$2E
|
||||
CMP mANTI < ANTI
|
||||
mANTI = ifC ADDI ANTI
|
||||
CMP mANTI > Z+cut_ept_ac_thres
|
||||
ifC CMP MaxE < mANTI + cut_ept_ac_ratio
|
||||
CMP ANTI > Z+cut_ept_ac_thres
|
||||
ifC CMP MaxE < ANTI+cut_ept_ac_ratio
|
||||
|
||||
# C=1 S=0 for invalid event PHA
|
||||
|
||||
|
|
@ -147,8 +130,6 @@ PHA_C$1C$2 = ifN ADDI Z + ept_pha_stop
|
|||
################## begin code #####################
|
||||
|
||||
. = 0x000
|
||||
.print EPT code start address $.
|
||||
|
||||
Z = SUB R[0xe0]-R[0xe0]
|
||||
# Flag that we were not called from HET
|
||||
didHET = NOP
|
||||
|
|
|
|||
|
|
@ -161,8 +161,7 @@ het_gcr_C_min = $LOG(het_gcr_e0*1e6/eV_BGO)
|
|||
cut_het_b3_max = $LOG(40e3/eV_Si)
|
||||
cut_C_AB_ratio = $LOGR(10.*BGO_Si) #TESTING! -> this is original $LOGR(10./BGO_Si) # C [125eV], AB [31.25eV]
|
||||
cut_AB_leak_thres = $LOG(800e3/eV_Si)
|
||||
cut_C_ABC_electron_maxSSD = $LOG(500e3/eV_Si)
|
||||
cut_C_thres = $LOG(1000e3/eV_BGO)
|
||||
cut_C_thres = $LOG(500e3/eV_BGO)
|
||||
het_path_length_IO = 0.991 # 2016-12-02 Robert E. geant4
|
||||
het_path_length_OO = 0.983 # 2016-12-02 Robert E. geant4
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
L3 pass 1: -2vv -g dis het_pen.l3
|
||||
opening include file hetept_config.l3 at level 1
|
||||
patch_level = 0x3
|
||||
event_base := R[0x0e0]
|
||||
hetmask := R[0x0e0]
|
||||
eptmask := R[0x0e1]
|
||||
|
|
@ -79,7 +78,7 @@ het_pha_e_AB := 0xf
|
|||
het_pha_stop_invalid := 0x3
|
||||
define .macro DO_EPT_AFTER_HET
|
||||
define .macro DO_EPT_INSTEAD_OF_HET
|
||||
closing include file hetept_config.l3, line 154, level 1
|
||||
closing include file hetept_config.l3, line 150, level 1
|
||||
opening include file het_calib.l3 at level 1
|
||||
het_high_gain = 1.9
|
||||
het_high_low = 13.5
|
||||
|
|
@ -142,21 +141,19 @@ het_gcr_C_min = 0xff
|
|||
cut_het_b3_max = 0xb5
|
||||
cut_C_AB_ratio = 0x55
|
||||
cut_AB_leak_thres = 0xfa
|
||||
cut_C_thres = 0xdf
|
||||
cut_C_thres = 0xcf
|
||||
het_path_length_IO = 0.991
|
||||
het_path_length_OO = 0.983
|
||||
HET_AB_gamma = -0.25
|
||||
HET_AB_LET_rotation = 0.75
|
||||
HET_AB_TOT_min = 0.15
|
||||
cut_HET_AB_TOT_min = 0xd3
|
||||
HET_AB_p_1d_A_min = 3.1
|
||||
cut_HET_AB_p_1d_A_min = 0x119
|
||||
HET_AB_p_1d_A_min = 3
|
||||
cut_HET_AB_p_1d_A_min = 0x118
|
||||
HET_AB_he_1d_A_min = 12.3
|
||||
cut_HET_AB_he_1d_A_min = 0x139
|
||||
HET_AB_ratio_min = 1
|
||||
HET_AB_X_offset := 0x0
|
||||
HET_AB_1D_PHA = 1.2
|
||||
HET_AB_1D_PHA_l := 0x4
|
||||
HET_AB_e_min = 0.001
|
||||
HET_AB_e_max = 0x1
|
||||
HET_AB_p_min = 0xc
|
||||
|
|
@ -224,10 +221,9 @@ HET_ABC_TOT_p_min = 6
|
|||
cut_HET_ABC_TOT_e_min := 0xaf
|
||||
cut_HET_ABC_TOT_p_min := 0xf8
|
||||
define .macro HET_TVCAL
|
||||
closing include file het_calib.l3, line 352, level 1
|
||||
closing include file het_calib.l3, line 346, level 1
|
||||
not opening forward file .het_pen.forward in twopass mode
|
||||
.=R[0x300] # was R[0x000]
|
||||
HET pen code start address R[0x300]
|
||||
.call HET_INIT []
|
||||
@768:09e000e0 SUB R[224]>>0 - R[224]>>0
|
||||
@769:2088b800 ADDI R[0]+35000
|
||||
|
|
@ -434,7 +430,6 @@ closing include file GAIN_SEL_C, line 4, level 1
|
|||
@916:00800000 NOP
|
||||
@917:00800000 NOP
|
||||
reject_pen = R[0x396]
|
||||
reject_pen code address R[0x396]
|
||||
.call GAIN_SEL_C []
|
||||
.call GAIN_SEL ['C1', 'BGO']
|
||||
@918:140200e7 CMP R[231]+0 > R[2]
|
||||
|
|
@ -568,7 +563,7 @@ het_pha_e_AB := 0xf
|
|||
het_pha_stop_invalid := 0x3
|
||||
define .macro DO_EPT_AFTER_HET
|
||||
define .macro DO_EPT_INSTEAD_OF_HET
|
||||
closing include file hetept_config.l3, line 154, level 1
|
||||
closing include file hetept_config.l3, line 150, level 1
|
||||
opening include file het_calib.l3 at level 1
|
||||
het_high_gain = 1.9
|
||||
het_high_low = 13.5
|
||||
|
|
@ -631,21 +626,19 @@ het_gcr_C_min = 0xff
|
|||
cut_het_b3_max = 0xb5
|
||||
cut_C_AB_ratio = 0x55
|
||||
cut_AB_leak_thres = 0xfa
|
||||
cut_C_thres = 0xdf
|
||||
cut_C_thres = 0xcf
|
||||
het_path_length_IO = 0.991
|
||||
het_path_length_OO = 0.983
|
||||
HET_AB_gamma = -0.25
|
||||
HET_AB_LET_rotation = 0.75
|
||||
HET_AB_TOT_min = 0.15
|
||||
cut_HET_AB_TOT_min = 0xd3
|
||||
HET_AB_p_1d_A_min = 3.1
|
||||
cut_HET_AB_p_1d_A_min = 0x119
|
||||
HET_AB_p_1d_A_min = 3
|
||||
cut_HET_AB_p_1d_A_min = 0x118
|
||||
HET_AB_he_1d_A_min = 12.3
|
||||
cut_HET_AB_he_1d_A_min = 0x139
|
||||
HET_AB_ratio_min = 1
|
||||
HET_AB_X_offset := 0x0
|
||||
HET_AB_1D_PHA = 1.2
|
||||
HET_AB_1D_PHA_l := 0x4
|
||||
HET_AB_e_min = 0.001
|
||||
HET_AB_e_max = 0x1
|
||||
HET_AB_p_min = 0xc
|
||||
|
|
@ -713,10 +706,9 @@ HET_ABC_TOT_p_min = 6
|
|||
cut_HET_ABC_TOT_e_min := 0xaf
|
||||
cut_HET_ABC_TOT_p_min := 0xf8
|
||||
define .macro HET_TVCAL
|
||||
closing include file het_calib.l3, line 352, level 1
|
||||
closing include file het_calib.l3, line 346, level 1
|
||||
not opening forward file .het_pen.forward in twopass mode
|
||||
.=R[0x300] # was R[0x3bb]
|
||||
HET pen code start address R[0x300]
|
||||
.call HET_INIT []
|
||||
@768:09e000e0 SUB R[224]>>0 - R[224]>>0
|
||||
@769:2088b800 ADDI R[0]+35000
|
||||
|
|
@ -923,7 +915,6 @@ closing include file GAIN_SEL_C, line 4, level 1
|
|||
@916:00800000 NOP
|
||||
@917:00800000 NOP
|
||||
reject_pen = R[0x396]
|
||||
reject_pen code address R[0x396]
|
||||
.call GAIN_SEL_C []
|
||||
.call GAIN_SEL ['C1', 'BGO']
|
||||
@918:140200e7 CMP R[231]+0 > R[2]
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
# penetrating particle trigger
|
||||
|
||||
. = 0x300
|
||||
.print HET pen code start address $.
|
||||
|
||||
.call HET_INIT
|
||||
het_inizd = .-0x300
|
||||
|
||||
|
|
@ -132,8 +130,6 @@ H = HIST H + X>>2
|
|||
NOP # wait a bit so the HIST instructions are not too close
|
||||
|
||||
reject_pen=.
|
||||
.print reject_pen code address $.
|
||||
|
||||
# Do the GCR trigger separately after rejection or acceptance
|
||||
.call GAIN_SEL_C
|
||||
.call CALIB_GUARD B1
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -63,19 +63,22 @@ hist_base = ADDI Z + het_hist_stop_$1
|
|||
|
||||
# choose ABC or ABnC
|
||||
CMP CS+cut_C_AB_ratio > AB #CS*BGO_Si*10>AB #ifC = ABC, ifN = ABnC
|
||||
ifC CMP CS > Z + cut_C_thres
|
||||
.endmacro
|
||||
|
||||
. = 0x100 #This is from direction 1 , memory mapped to ABnC trigger, starting at 0x100
|
||||
.print HET 1 start address $.
|
||||
|
||||
.call HET_STOP 1
|
||||
ifC GOTO het_stop_ABC #check HET_stop condition bit for ABnC ABC, ifC ABC, ifN ABnC
|
||||
het_stop_ABnC=.
|
||||
.print het_stop_ABnC address $.
|
||||
|
||||
# C must be less than cut_C_thres
|
||||
CMP CS < Z+cut_C_thres
|
||||
# and when AB has little energy, either C age must be invalid
|
||||
|
||||
CMP AB > Z+cut_AB_leak_thres
|
||||
C1T = ifN BRNG C1U{3:0}
|
||||
ifN CMP C1T <= Z+1
|
||||
C2T = ifN BRNG C2U{3:0}
|
||||
ifN CMP C2T <= Z+1
|
||||
ifC CMP CS < Z+cut_C_thres
|
||||
ifN GOTO reject_stop
|
||||
|
||||
.ifdef V_NO_PLC
|
||||
|
|
@ -178,12 +181,9 @@ het_stop_ABnC_done = .
|
|||
.print HET stopping AB~C code end address $.
|
||||
|
||||
. = 0x200 #Entry point for direction 2, memory mapped to ABC trigger, starting at 0x200
|
||||
.print HET 1 start address $.
|
||||
|
||||
.call HET_STOP 2
|
||||
ifN GOTO het_stop_ABnC #check HET_stop condition bit for ABnC ABC, ifC ABC, ifN ABnC
|
||||
het_stop_ABC=.
|
||||
.print het_stop_ABC address $.
|
||||
|
||||
# Particles stopping in C: A&B&C
|
||||
|
||||
|
|
@ -237,8 +237,6 @@ Y = ADDI Y - cut_HET_ABC_e_min
|
|||
|
||||
# electrons: histogram 128 x 1 using total energy
|
||||
CMP Y < Z + cut_HET_ABC_e_max - cut_HET_ABC_e_min
|
||||
ifC CMP B < Z + cut_C_ABC_electron_maxSSD
|
||||
ifC CMP A < Z + cut_C_ABC_electron_maxSSD
|
||||
|
||||
TOTE = ifC TRIM TOT, cut_HET_ABC_TOT_e_min, 127
|
||||
H = ifC ADDI hist_base + hist_HET_ABC_e
|
||||
|
|
|
|||
|
|
@ -10,10 +10,6 @@
|
|||
.name hetept_config_l3
|
||||
.version $Revision$
|
||||
|
||||
.ifndef patch_level
|
||||
patch_level = 0
|
||||
.endif
|
||||
|
||||
######################### L3 PHA records ##########################
|
||||
event_base := R[256-32]
|
||||
hetmask := event_base+0
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ from .. import l3
|
|||
|
||||
class hetept_l3_trigger(l3.l3):
|
||||
|
||||
args = ["-2vqd"] + ["-I"+os.path.abspath(os.path.join(os.path.dirname(__file__),"l3"))]
|
||||
args = ["-2qd"] + ["-I"+os.path.abspath(os.path.join(os.path.dirname(__file__),"l3"))]
|
||||
|
||||
def __init__(self, model=None, variant=None, temperature=25.0, patch=0,
|
||||
def __init__(self, model=None, variant=None, temperature=25.0,
|
||||
sources=["ept.l3", "het_stopping.l3", "het_pen.l3"], args=[],
|
||||
verbose=1):
|
||||
l3.l3.__init__(self)
|
||||
|
|
@ -23,11 +23,9 @@ class hetept_l3_trigger(l3.l3):
|
|||
if variant:
|
||||
self.variant = variant
|
||||
self.args.append("-DV_"+variant)
|
||||
self.args.append("-Dpatch_level=%d" % patch)
|
||||
self.args.append("-DT_HET1=%.2f" % temperature)
|
||||
self.temperature = temperature
|
||||
self.args.extend(sources)
|
||||
sys.stderr.write("L3: %s\n" % repr(self.args))
|
||||
self.compile(self.args)
|
||||
|
||||
def scales(self):
|
||||
|
|
|
|||
|
|
@ -22,18 +22,16 @@ class hetept_ppss(ppss_table):
|
|||
HK_SLOW_cadence = 3600
|
||||
DRIBBLE_cadence = 3600
|
||||
TEMP_IDX = 4
|
||||
OH_DC_ESTIMATE = 60
|
||||
OH_SHIFT = 0
|
||||
OH_DCMAX = 70
|
||||
OH_SETPOINT_C = -50
|
||||
OH_SETPOINT = HK_T_to_ADC(OH_SETPOINT_C)
|
||||
|
||||
def __init__(self, ana, dps=None, dps_us=100000, clear_us=810000, OH_degC=-50, verbose=1):
|
||||
def __init__(self, ana, dps=None, dps_us=100000, clear_us=810000, verbose=1):
|
||||
|
||||
ppss_table.__init__(self, verbose=verbose)
|
||||
self.ana = ana
|
||||
self.dps = dps
|
||||
self.dps_us = dps_us
|
||||
self.clear_us = clear_us
|
||||
self.OH_SETPOINT = HK_T_to_ADC(OH_degC, dc_estimate=self.OH_DC_ESTIMATE, shift=self.OH_SHIFT)
|
||||
self.assemble()
|
||||
|
||||
def assemble(self):
|
||||
|
|
@ -111,10 +109,7 @@ class hetept_ppss(ppss_table):
|
|||
self.add(ppss_item( 170, ppss_modulus(self.HK_ANA_cadence, 0), read_ana(tag=self.TAG_HK, counter=2, HK=1, clock=1)), search=True, HK=True, ANA=True) # ANA counters and temperatures
|
||||
|
||||
# set op-heater
|
||||
self.add(ppss_item( 175, ppss_modulus( 60, 0), opheater(setpoint=self.OH_SETPOINT,
|
||||
dcmax=self.OH_DCMAX *192//100,
|
||||
shift = self.OH_SHIFT )
|
||||
), search=True, OPHEATER=True)
|
||||
self.add(ppss_item( 175, ppss_modulus( 60, 0), opheater(setpoint=self.OH_SETPOINT)), search=True, OPHEATER=True)
|
||||
|
||||
# ICU HK packet parameters, L3 trigger classes, msgs received
|
||||
self.add(ppss_item( 4, ppss_modulus( 60, 2), read_counters(tag=0x27, a=0x36, n=4, wsize=1)), search=True, ICU=0x27)
|
||||
|
|
@ -201,11 +196,10 @@ class hetept_ppss(ppss_table):
|
|||
t += 1e6 - disabled
|
||||
return t / 1.e6
|
||||
|
||||
def set_opheater_setpoint(self, msg, T, dc_estimate=None, shift=0, **aa):
|
||||
def set_opheater_setpoint(self, msg, T):
|
||||
p = self.find_flags("OPHEATER")[0]
|
||||
dc = HK_T_to_ADC(T, dc_estimate=dc_estimate, shift=shift)
|
||||
ppss_item(p.us, p.mod, opheater(setpoint=dc, shift=shift, **aa), index=p.index)(msg)
|
||||
sys.stderr.write("OP heater setpoint: %.1f C = %d ADC\n" %(T, dc))
|
||||
ppss_item(p.us, p.mod, opheater(setpoint=HK_T_to_ADC(T)), index=p.index)(msg)
|
||||
sys.stderr.write("OP heater setpoint: %d C = %d ADC\n" %(T, HK_T_to_ADC(T)))
|
||||
|
||||
def i800(self, flag="EEPROM_UPLOAD"):
|
||||
from ..solomsgclass import msg_print
|
||||
|
|
@ -287,7 +281,7 @@ def main():
|
|||
science = data.science(hetept_l3config=l3.config())
|
||||
d = dps.hetept_dps(l3, science, unit="HET/EPT1", env=["far"])
|
||||
t = hetept_ppss(ana=l1l2.hetept_l1l2(), dps=d)
|
||||
sys.stderr.write(str(t))
|
||||
print(t)
|
||||
return t
|
||||
|
||||
if __name__=="__main__":
|
||||
|
|
|
|||
|
|
@ -11,13 +11,15 @@ class pha(object):
|
|||
def __init__(self, s=None):
|
||||
if s==None:
|
||||
self.clear()
|
||||
else:
|
||||
elif isinstance(s, str):
|
||||
self.parse_string(s)
|
||||
else:
|
||||
raise TypeError("pha object constructor needs a string")
|
||||
|
||||
def clear(self):
|
||||
self.num = 0
|
||||
|
||||
def parse_string(self, s):
|
||||
def parse_string(self,s):
|
||||
self.num = int(s,0)
|
||||
|
||||
def __str__(self):
|
||||
|
|
@ -30,9 +32,9 @@ class pha(object):
|
|||
r = self.raw_astream()
|
||||
p = r
|
||||
l3 = r
|
||||
return (l3, p)
|
||||
return (l3,p)
|
||||
|
||||
def l3_class(self, tclass=0):
|
||||
def l3_class(self,tclass=0):
|
||||
return 0
|
||||
|
||||
class pha_hetept(pha):
|
||||
|
|
@ -49,9 +51,7 @@ class pha_hetept(pha):
|
|||
self.B = [0]*30
|
||||
|
||||
def parse_string(self, s):
|
||||
ss = s.split(None, 94)
|
||||
self.comment = ll[94] if len(ll>94) else None
|
||||
ss = [int(sss,0) for sss in ss[:94]]
|
||||
ss = [int(sss,0) for sss in s.split()]
|
||||
self.mask = ss[0]
|
||||
self.trig = ss[1]
|
||||
self.lost = ss[2]
|
||||
|
|
@ -62,8 +62,7 @@ class pha_hetept(pha):
|
|||
|
||||
def __str__(self):
|
||||
return ("0x%08x 0x%02x %u %u"+3*(" "+30*" %d")) % (
|
||||
(self.mask, self.trig, self.lost, self.dtime)
|
||||
+ tuple(self.A+self.T+self.B))
|
||||
(self.mask, self.trig, self.lost, self.dtime) + tuple(self.A+self.T+self.B))
|
||||
|
||||
def raw_astream(self):
|
||||
r = [0xbeef, 0xa128,
|
||||
|
|
@ -78,9 +77,7 @@ class pha_hetept(pha):
|
|||
while a & 0x3f800:
|
||||
a >>= 1
|
||||
b >>= 1
|
||||
w= ((self.A[i] << 14)
|
||||
| ((b & 0x3ff)<<4)
|
||||
| (self.T[i] & 15)) & 0xffffffff
|
||||
w= ((self.A[i] << 14) | ((b & 0x3ff)<<4) | (self.T[i] & 15)) & 0xffffffff
|
||||
r += [int(w>>16), int(w&0xffff)]
|
||||
return r
|
||||
|
||||
|
|
@ -91,9 +88,7 @@ class pha_hetept(pha):
|
|||
r[0] |= 0x3fffffff
|
||||
if r[1] & 0xe000:
|
||||
r[1] |= 0xffff
|
||||
l3 = [
|
||||
r[0] & 0x3fffff,
|
||||
(r[1]<<16)&0xffff0000 | (r[1]>>16)&0xff00 | (r[0]>>22)&0xff ]
|
||||
l3 = [ r[0] & 0x3fffff, (r[1]<<16)&0xffff0000 | (r[1]>>16)&0xff00 | (r[0]>>22)&0xff ]
|
||||
p = r[0:2]
|
||||
j = 2
|
||||
for i in range(30):
|
||||
|
|
@ -120,7 +115,6 @@ class pha_tarena(pha):
|
|||
"""
|
||||
STEP TARENA PHA event class
|
||||
"""
|
||||
|
||||
def clear(self):
|
||||
self.mask = 0
|
||||
self.time = 0
|
||||
|
|
@ -136,211 +130,187 @@ class pha_tarena(pha):
|
|||
self.small_bg = 0
|
||||
self.all = 0
|
||||
|
||||
def parse_adc(self, ss):
|
||||
self.adc = [None if a in 'nx' else int(a,0) for a in ss]
|
||||
|
||||
mapping = None
|
||||
def remap(self, m=None):
|
||||
if not m:
|
||||
m=self.mapping
|
||||
if not m:
|
||||
return
|
||||
self.adc = [self.adc[i] for i in m]
|
||||
|
||||
def remask(self):
|
||||
return sum([1<<i for i,a in enumerate(self.adc) if a is not None])
|
||||
|
||||
def parse_string(self, s):
|
||||
ss = s.split()
|
||||
self.time = int(ss[0],0)
|
||||
self.fmask = int(ss[1],0)
|
||||
self.parse_adc(ss[2:])
|
||||
self.remap()
|
||||
self.recount()
|
||||
if self.mask != self.fmask:
|
||||
sys.stderr.write("mask mismatch 0x%08x: %s\n" % (self.mask, s))
|
||||
|
||||
def recount(self):
|
||||
self.mask = self.remask()
|
||||
self.large_bg = self.adc[0] is not None
|
||||
self.small_bg = self.adc[16] is not None
|
||||
self.large_hits = 15 - self.adc[1:16].count(None)
|
||||
self.small_hits = 15 - self.adc[17:32].count(None)
|
||||
self.mask = int(ss[1],0)
|
||||
self.adc = ['x' if a == 'x' else int(a,0) for a in ss[2:]]
|
||||
self.large_bg = int(format(self.mask,'#034b')[0+2] == "1")
|
||||
self.small_bg = int(format(self.mask,'#034b')[16+2] == "1")
|
||||
self.large_hits = format(self.mask,'#034b')[1+2:16+2].count("1")
|
||||
self.small_hits = format(self.mask,'#034b')[17+2:].count("1")
|
||||
self.hits = self.large_hits + self.small_hits + self.large_bg + self.small_bg
|
||||
self.ix = 0
|
||||
self.valid = 1
|
||||
self.all = not self.adc.count(None)
|
||||
self.all = 1 if self.adc.count('x') == 0 else 0
|
||||
|
||||
def __str__(self):
|
||||
return ("%u 0x%08x"+32*" %s") % (
|
||||
(self.time, self.mask) + tuple(self.adc))
|
||||
(self.time, self.mask,) + tuple(self.adc))
|
||||
|
||||
def raw_astream(self):
|
||||
r = []
|
||||
for i, a in enumerate(self.adc):
|
||||
if self.mask & (1<<i) and a is not None:
|
||||
if self.mask & (1<<i):
|
||||
aa = a | (0xff << 14) if a & 0x2000 else a
|
||||
r.append( (aa & 0x3fffff) << 10
|
||||
| (self.valid & 0x1) << 6
|
||||
| (self.ix & 0x1) << 5
|
||||
| i & 0x1f )
|
||||
r += [ (aa & 0x3fffff) << 10 | (self.valid & 0x1) << 6 | (self.ix & 0x1) << 5 | i & 0x1f ]
|
||||
return r
|
||||
|
||||
def l3input(self):
|
||||
l3 = self.raw_astream()
|
||||
pha = [0]*32
|
||||
if self.hits == 1:
|
||||
for i, a in enumerate(self.adc):
|
||||
if self.mask & (1<<i):
|
||||
pha[0] = (
|
||||
((self.dtime & 0x7ff) << 20)
|
||||
| ((i & 0x1f) << 15)
|
||||
| ((self.ix & 0x1) << 14)
|
||||
| (a & 0x3fff)
|
||||
)
|
||||
elif self.large_hits + self.large_bg and self.small_hits + self.small_bg:
|
||||
pha[0] = (
|
||||
(0b110 << 29)
|
||||
| ((self.dtime & 0x7ff) << 18)
|
||||
| ((self.ix & 0x1) << 17)
|
||||
| (0b0 << 16)
|
||||
| ((self.all & 0x1) << 15)
|
||||
| ((self.large_bg & 0x1) << 14)
|
||||
| ((self.small_bg & 0x1) << 13)
|
||||
| ((self.large_hits & 0xf) << 9)
|
||||
| ((self.small_hits & 0xf) << 5)
|
||||
| (self.hits & 0x1f)
|
||||
)
|
||||
pha[2] = self.mask & 0xffffffff
|
||||
if self.all:
|
||||
for i in range(16):
|
||||
pha[i*2+1] = (
|
||||
((self.valid & 0x1) << 31)
|
||||
| ((self.ix & 0x1) << 30)
|
||||
| ((self.adc[i*2] & 0x3fff) << 16)
|
||||
| ((self.valid & 0x1) << 15)
|
||||
| ((self.ix & 0x1) << 14)
|
||||
| ((self.adc[i*2+1] & 0x3fff))
|
||||
)
|
||||
else:
|
||||
index = 1
|
||||
offset = 0
|
||||
raise ValueError("this code is broken!")
|
||||
for i, a0 in enumerate(self.adc[offset:]):
|
||||
if self.mask & (1<<i):
|
||||
for j, a1 in enumerate(self.adc[i+1:]):
|
||||
if self.mask & (1<<(j+i+1)):
|
||||
pha[index] = (
|
||||
((self.valid & 0x1) << 31)
|
||||
| ((self.ix & 0x1) << 30)
|
||||
| ((a0 & 0x3fff) << 16)
|
||||
| ((self.valid & 0x1) << 15)
|
||||
| ((self.ix & 0x1) << 14)
|
||||
| (a1 & 0x3fff)
|
||||
)
|
||||
else:
|
||||
pha[index] = (
|
||||
((self.valid & 0x1) << 31)
|
||||
| ((self.ix & 0x1) << 30)
|
||||
| ((a0 & 0x3fff) << 16)
|
||||
| 0x0000
|
||||
)
|
||||
index += 2
|
||||
offset = j+i+2
|
||||
break
|
||||
else:
|
||||
m = self.mask >> 16
|
||||
if self.small_hits or self.small_bg:
|
||||
m = self.mask & 0xffff
|
||||
pha[0] = (
|
||||
(0b100 << 29)
|
||||
| ((self.dtime & 0x7ff) << 18)
|
||||
| ((self.ix & 0x1) << 17)
|
||||
| ((self.small_hits & 0xffff) << 16)
|
||||
| (m & 0xffff)
|
||||
)
|
||||
index = 1
|
||||
i = 0
|
||||
m = self.mask
|
||||
while m:
|
||||
while not m&1:
|
||||
i += 1
|
||||
m >>= 1
|
||||
pha[index] = (
|
||||
((self.valid & 0x1) << 31)
|
||||
| ((self.ix & 0x1) << 30)
|
||||
| ((self.adc[i] & 0x3fff) << 16)
|
||||
)
|
||||
while m and not m&1:
|
||||
i += 1
|
||||
m >>= 1
|
||||
if m:
|
||||
pha[index] |= (
|
||||
((self.valid & 0x1) << 15)
|
||||
| ((self.ix & 0x1) << 14)
|
||||
| (self.adc[i] & 0x3fff)
|
||||
)
|
||||
i += 1
|
||||
m >>= 1
|
||||
index += 2
|
||||
|
||||
return (l3,pha)
|
||||
|
||||
def l3_class(self):
|
||||
return self.ix | (int(self.hits > 1) << 1)
|
||||
|
||||
class pha_step(pha_tarena):
|
||||
"""
|
||||
STEP EM PHA event class
|
||||
"""
|
||||
from solo.step.ixmsg import ixmsg
|
||||
mapping = ixmsg.LARGE_PIXELS + ixmsg.SMALL_PIXELS
|
||||
|
||||
def parse_string(self,s):
|
||||
ss = s.split()
|
||||
self.ix = int(ss[1],16) & 1
|
||||
self.time = int(ss[7],0)
|
||||
self.dtime = int(ss[9],0)
|
||||
self.base = int(ss[13],0)
|
||||
self.parse_adc(ss[14:])
|
||||
self.remap()
|
||||
self.recount()
|
||||
self.adc = ['x' if a == 'x' else np.clip(int(a,0), -4096, 4095) for a in ss[14:]]
|
||||
self.mask = 0
|
||||
for i in range(32):
|
||||
if self.adc[i] != 'x':
|
||||
self.mask += 1 << i
|
||||
self.valid = 1
|
||||
self.large_bg = int(format(self.mask,'#034b')[0+2] == "1")
|
||||
self.small_bg = int(format(self.mask,'#034b')[16+2] == "1")
|
||||
self.large_hits = format(self.mask,'#034b')[1+2:16+2].count("1")
|
||||
self.small_hits = format(self.mask,'#034b')[17+2:].count("1")
|
||||
self.hits = self.large_hits + self.small_hits + self.large_bg + self.small_bg
|
||||
self.all = 1 if self.adc.count('x') == 0 else 0
|
||||
|
||||
class pha_step_pha(pha_step):
|
||||
"""
|
||||
STEP TM PHA event class
|
||||
"""
|
||||
def parse_string(self,s):
|
||||
ss = s.split()
|
||||
self.ix = int(ss[1],0) & 1
|
||||
self.fmask = int(ss[2],0)
|
||||
self.dtime = int(ss[3],0)
|
||||
self.parse_adc(ss[4:])
|
||||
self.remap()
|
||||
self.recount()
|
||||
def l3input(self):
|
||||
# l3 (same as astream for now)
|
||||
l3 = []
|
||||
for i, a in enumerate(self.adc):
|
||||
if self.mask & (1<<i):
|
||||
aa = a | (0xff << 14) if a & 0x2000 else a
|
||||
l3 += [ (aa & 0x3fffff) << 10 | (self.valid & 0x1) << 6 | (self.ix & 0x1) << 5 | i & 0x1f ]
|
||||
|
||||
# pha
|
||||
p = [0]*32
|
||||
if self.hits == 1:
|
||||
# single hit
|
||||
for i, a in enumerate(self.adc):
|
||||
if self.mask & (1<<i):
|
||||
p[0] = ((self.dtime & 0x7ff) << 20) | ((i & 0x1f) << 15) | ((self.ix & 0x1) << 14) | (a & 0x3fff)
|
||||
elif self.hits > 1:
|
||||
# multi hits
|
||||
if self.large_hits and self.small_hits:
|
||||
# multi hits mixed, small AND large
|
||||
# header
|
||||
p[0] = (0b110 << 29) | ((self.dtime & 0x7ff) << 18) | ((self.ix & 0x1) << 17) | (0b0 << 16) | ((self.all & 0x1) << 15) | ((self.large_bg & 0x1) << 14) | ((self.small_bg & 0x1) << 13) | ((self.large_hits & 0xf) << 9) | ((self.small_hits & 0xf) << 5) | (self.hits & 0x1f)
|
||||
p[2] = self.mask & 0xffffffff
|
||||
# adc words
|
||||
if self.all:
|
||||
# all bit set, all adc words
|
||||
for i in range(16):
|
||||
p[i*2+1] = ((self.valid & 0x1) << 31) | ((self.ix & 0x1) << 30) | ((self.adc[i*2] & 0x3fff) << 16) | ((self.valid & 0x1) << 15) | ((self.ix & 0x1) << 14) | ((self.adc[i*2+1] & 0x3fff))
|
||||
else:
|
||||
# all bit not set, only hit pixels
|
||||
index = 1
|
||||
offset = 0
|
||||
for i, a0 in enumerate(self.adc[offset:]):
|
||||
if self.mask & (1<<i):
|
||||
for j, a1 in enumerate(self.adc[i+1:]):
|
||||
if self.mask & (1<<(j+i+1)):
|
||||
p[index] = ((self.valid & 0x1) << 31) | ((self.ix & 0x1) << 30) | ((a0 & 0x3fff) << 16) | ((self.valid & 0x1) << 15) | ((self.ix & 0x1) << 14) | (a1 & 0x3fff)
|
||||
else:
|
||||
p[index] = ((self.valid & 0x1) << 31) | ((self.ix & 0x1) << 30) | ((a0 & 0x3fff) << 16) | 0x0000
|
||||
index += 2
|
||||
offset = j+i+2
|
||||
break
|
||||
else:
|
||||
# multi hits, small OR large
|
||||
# header
|
||||
m = ((self.mask & 0xffff0000) >> 16) if (self.small_hits or self.small_bg) else self.mask & 0xffff
|
||||
p[0] = (0b100 << 29) | ((self.dtime & 0x7ff) << 18) | ((self.ix & 0x1) << 17) | ((self.small_hits & 0xffff) << 16) | (m & 0xffff)
|
||||
# all bit not set, only hit pixels
|
||||
index = 1
|
||||
offset = 0
|
||||
for i, a0 in enumerate(self.adc[offset:]):
|
||||
if self.mask & (1<<i):
|
||||
for j, a1 in enumerate(self.adc[i+1:]):
|
||||
if self.mask & (1<<(j+i+1)):
|
||||
p[index] = ((self.valid & 0x1) << 31) | ((self.ix & 0x1) << 30) | ((a0 & 0x3fff) << 16) | ((self.valid & 0x1) << 15) | ((self.ix & 0x1) << 14) | (a1 & 0x3fff)
|
||||
else:
|
||||
p[index] = ((self.valid & 0x1) << 31) | ((self.ix & 0x1) << 30) | ((a0 & 0x3fff) << 16) | 0x0000
|
||||
index += 2
|
||||
offset = j+i+2
|
||||
break
|
||||
else:
|
||||
p = []
|
||||
|
||||
# throw away unused words
|
||||
for i,item in enumerate(p[::-1]):
|
||||
if item != 0:
|
||||
p = p[0:-i]
|
||||
break
|
||||
|
||||
return (l3,p)
|
||||
|
||||
def l3_class(self):
|
||||
return self.ix | (int(self.hits > 1) << 1)
|
||||
|
||||
def parse_stream(s):
|
||||
ss=None
|
||||
pha=None
|
||||
|
||||
if s[:4]=="ITF ":
|
||||
sss = s.split(None,3)
|
||||
if sss[2] == "0x57ea":
|
||||
return pha_hetept(sss[3])
|
||||
ss=sss[3]
|
||||
kind = 'hetept'
|
||||
if sss[2] == "0x58ea":
|
||||
return pha_step(sss[3])
|
||||
ss=sss[3]
|
||||
kind = 'step'
|
||||
if s[:8]=="EHETEPT ":
|
||||
return pha_hetept(s[8:])
|
||||
ss = s[8:]
|
||||
kind = 'hetept'
|
||||
if s[:2]=="0x":
|
||||
ss = s
|
||||
kind = 'hetept'
|
||||
if s[:3] == "IT ":
|
||||
return pha_tarena(s[3:])
|
||||
ss = s[3:]
|
||||
kind = "tarena"
|
||||
if s[:4] == "GEN ":
|
||||
ss = s[4:]
|
||||
kind = "generic"
|
||||
|
||||
if ss:
|
||||
if kind == 'hetept':
|
||||
pha = pha_hetept(ss)
|
||||
if kind == 'step':
|
||||
if not ss.split()[0] == 'TRUNCATED':
|
||||
pha = pha_step(ss)
|
||||
if kind == 'tarena':
|
||||
pha = pha_tarena(ss)
|
||||
if kind == 'generic':
|
||||
pha = pha(ss)
|
||||
|
||||
return pha
|
||||
|
||||
def read_phas_from_file(fn, n=None, mod=None):
|
||||
with open(fn,'r') as f:
|
||||
|
||||
def read_phas_from_file(files=None, n=1, mod=None):
|
||||
phas = []
|
||||
|
||||
if n is None:
|
||||
# read all lines
|
||||
n = 1000000000000
|
||||
|
||||
i = 0
|
||||
for s in fileinput.input(files):
|
||||
if mod or not i%mod:
|
||||
phas.append(parse_stream(s))
|
||||
i += 1
|
||||
if n and i>=n:
|
||||
while i < n:
|
||||
l = f.readline()
|
||||
if not l:
|
||||
break
|
||||
|
||||
p = parse_stream(l)
|
||||
if p:
|
||||
if not mod or not i%mod:
|
||||
phas.append(p)
|
||||
i += 1
|
||||
|
||||
return phas
|
||||
|
||||
def main(argv):
|
||||
|
|
@ -349,7 +319,7 @@ def main(argv):
|
|||
F = None
|
||||
for o,v in opt:
|
||||
if o=='-F':
|
||||
F = v
|
||||
F = v #here F is changed to arguments from command line
|
||||
import fileinput
|
||||
for s in fileinput.input(files):
|
||||
p = parse_stream(s)
|
||||
|
|
|
|||
33
solo/l3.py
33
solo/l3.py
|
|
@ -298,7 +298,7 @@ class l3(object):
|
|||
if verbose>0:
|
||||
verbose = 0
|
||||
else:
|
||||
verbose = -1
|
||||
verbose -= 1
|
||||
if o=='-d':
|
||||
self.debug += 1
|
||||
if o=='-a':
|
||||
|
|
@ -606,7 +606,16 @@ class l3(object):
|
|||
if not isinstance(n, numbers.Integral) or not isinstance(ns, numbers.Integral):
|
||||
raise ValueError("Error: not integers: %s >> %s\n" % (n, ns))
|
||||
elif isinstance(n, float):
|
||||
n, ns = muli_float(n)
|
||||
f = n
|
||||
ff = n
|
||||
n = int(ff)
|
||||
while n < 0x7ff and ns < 15:
|
||||
ff *= 2
|
||||
ns += 1
|
||||
n = int(ff)
|
||||
if f>0 and not n:
|
||||
raise ValueError("Error: float underlow: %g\n" % f)
|
||||
|
||||
if not (0 <= ns < 16):
|
||||
raise ValueError("Error: MULI SHIFT constant out of range [0..15] %d\n" % ns)
|
||||
if not (0 <= n < 0x1000):
|
||||
|
|
@ -1088,7 +1097,6 @@ class l3(object):
|
|||
if any(s!=o for o in instr):
|
||||
t.l3_code += s
|
||||
|
||||
t.l3_code = [x for x in t.l3_code if x]
|
||||
return t
|
||||
|
||||
def __sub__(self, other):
|
||||
|
|
@ -1382,7 +1390,7 @@ class expression_parser(object):
|
|||
return s, n
|
||||
raise ValueError("Error: Unknown special name '%s'\n" % t)
|
||||
|
||||
functions = ["log2", "power", "floor", "ceil", "LOG", "LOGR", "def", "MRND"]
|
||||
functions = ["log2", "power", "floor", "ceil", "LOG", "LOGR", "def"]
|
||||
|
||||
def parse_FUNC(self, s, t=None):
|
||||
"""parses the compiler functions starting with a $ sign"""
|
||||
|
|
@ -1416,10 +1424,6 @@ class expression_parser(object):
|
|||
if not tt.id_p():
|
||||
raise ValueError("Syntax Error: Identifier expected: %s\n" % tt)
|
||||
n = int(tt.isin(self.names))
|
||||
elif t=="MRND":
|
||||
s,n = self.parse_EXPR(s)
|
||||
n,ns = muli_float(n)
|
||||
n /= 2.0**ns
|
||||
else:
|
||||
raise ValueError("Error: Unknown function '%s'\n" % t)
|
||||
s = s.parse_char(')')
|
||||
|
|
@ -1586,19 +1590,6 @@ class macro(object):
|
|||
r += '$'+rrr
|
||||
return r
|
||||
|
||||
def muli_float(n):
|
||||
f = n
|
||||
ff = n
|
||||
n = int(ff)
|
||||
ns = 0
|
||||
while n < 0x7ff and ns < 15:
|
||||
ff *= 2
|
||||
ns += 1
|
||||
n = int(ff)
|
||||
if f>0 and not n:
|
||||
raise ValueError("Error: float underlow: %g\n" % f)
|
||||
return (n, ns)
|
||||
|
||||
class for_loop(object):
|
||||
def __init__(self, var, start, end, step=None):
|
||||
self.var = var
|
||||
|
|
|
|||
198
solo/l3sim.py
Executable file → Normal file
198
solo/l3sim.py
Executable file → Normal file
|
|
@ -1,7 +1,9 @@
|
|||
#! /usr/bin/python3
|
||||
# encoding: utf-8
|
||||
|
||||
import sys, math, numpy, os
|
||||
# completely untested
|
||||
|
||||
import sys, numpy, os
|
||||
|
||||
if __name__=="__main__":
|
||||
sys.path[1:1] = [os.path.abspath(os.path.join(os.path.dirname(__file__),".."))]
|
||||
|
|
@ -168,8 +170,6 @@ def log2(i):
|
|||
c = (b<<4) | logtable[x&0x7f]
|
||||
return c
|
||||
|
||||
def invlog2(x):
|
||||
return ((128 + logtable.index(x&15)) << (x>>4)) / 256
|
||||
|
||||
class l3trigger(object):
|
||||
|
||||
|
|
@ -457,7 +457,6 @@ class l3pipe(l3trigger):
|
|||
def __init__(self, *a, **aa):
|
||||
l3trigger.__init__(self, *a, **aa)
|
||||
self.verbose = 0
|
||||
self.tc_extract = False
|
||||
self.reset()
|
||||
|
||||
def reset(self):
|
||||
|
|
@ -474,11 +473,10 @@ class l3pipe(l3trigger):
|
|||
b = self.buffers[p&0xf]
|
||||
e = b[0] >> 8
|
||||
w = b[0] & 0xff
|
||||
b.extend(self.last_pha)
|
||||
e += len(self.last_pha)
|
||||
b[256:]=[]
|
||||
w=len(b)-1
|
||||
b[0] = (max(e, 0xffffff) << 8) | w
|
||||
while w<255 and self.last_pha:
|
||||
b.append(self.last_pha.pop(0))
|
||||
w += 1
|
||||
b[0] = (max(e+1, 0xffffff) << 8) | w
|
||||
if self.verbose > 0:
|
||||
l3trigger.pha(self, p)
|
||||
|
||||
|
|
@ -496,7 +494,7 @@ class l3pipe(l3trigger):
|
|||
import struct
|
||||
return struct.pack(">"+"I"*0x40000, *self.memory)
|
||||
|
||||
def save_data(self, outname):
|
||||
def save_data(self, outname="l3sim.npy"):
|
||||
numpy.save(outname, self.memory)
|
||||
|
||||
def compile(self, src):
|
||||
|
|
@ -504,197 +502,33 @@ class l3pipe(l3trigger):
|
|||
if isinstance(src, str):
|
||||
src = [src]
|
||||
self.asm = l3asm()
|
||||
args = ["-2qd"] + src
|
||||
args = ["-2qd"] + ["-I "+p for p in sys.path if "/python/l3" in p] + src
|
||||
sys.stderr.write("l3.compile(%s)\n" % str(args))
|
||||
self.asm.compile(args)
|
||||
self.asm.load(self.l3code)
|
||||
self.debug_regs = self.asm.debug_regs
|
||||
|
||||
def event(self, l):
|
||||
if self.verbose > 4:
|
||||
sys.stderr.write("INPUT: %s\n" % l.strip())
|
||||
import solo.i128event
|
||||
ll=l.split()
|
||||
if ll[0]=="CCSDS":
|
||||
l = " ".join(ll[10:])
|
||||
ll[:10]=[]
|
||||
if ll[0]=="PHA":
|
||||
if len(ll) >= 94:
|
||||
return self.hetept_event(l[6:], solo.i128event.pha_hetept)
|
||||
else:
|
||||
return self.step_event(l[6:], solo.i128event.pha_step_pha)
|
||||
elif ll[0]=="ITF":
|
||||
if len(ll) <= 3:
|
||||
return
|
||||
if ll[3]=="PHA":
|
||||
self.PHA_scale=ll[5:]
|
||||
return
|
||||
# print this?
|
||||
elif ll[2]=="0x57ea":
|
||||
return self.hetept_event(l[16:], solo.i128event.pha_hetept)
|
||||
elif ll[2]=="0x58ea" and "TRUNC" not in l:
|
||||
return self.step_event(l[16:], solo.i128event.pha_step)
|
||||
return
|
||||
elif ll[0]=="EHETEPT":
|
||||
return self.hetept_event(l[8:], solo.i128event.pha_hetept)
|
||||
elif ll[0]=="IT":
|
||||
return self.step_event(l[3:], solo.i128event.pha_tarena)
|
||||
elif l[:11]=="REG STATUS " and self.tc_extract:
|
||||
try:
|
||||
self.trigger_class = int(l.split()[6], 0)
|
||||
except (IndexError, ValueError):
|
||||
if self.verbose > 3:
|
||||
sys.stderr.write("? "+l)
|
||||
return
|
||||
else:
|
||||
try:
|
||||
tt = [int(ttt,0) for ttt in l.split()]
|
||||
except ValueError:
|
||||
if self.verbose > 3:
|
||||
sys.stderr.write("? "+l)
|
||||
return
|
||||
if 2 <= len(tt) <= 33:
|
||||
self.run(tt[0], tt[1:])
|
||||
return True
|
||||
|
||||
def het_event(self, l, pha_class):
|
||||
if 2 < self.verbose < 4:
|
||||
sys.stderr.write("HETEPT: %s\n" % t.strip())
|
||||
try:
|
||||
pha = pha_class(l)
|
||||
except Exception as e:
|
||||
if self.verbose > 3:
|
||||
sys.stderr.write("%s\n" % repr(e))
|
||||
return
|
||||
if self.MC_clip_A:
|
||||
pha.A = map(self.clip, pha.A)
|
||||
|
||||
pha.trig = self.hetept_L2(pha)
|
||||
c = pha.l3_class(self.trigger_class)
|
||||
|
||||
l3, self.last_pha = pha.l3input()
|
||||
self.run(c, l3)
|
||||
return True
|
||||
|
||||
def step_event(self, l, pha_class):
|
||||
if 2 < self.verbose < 4:
|
||||
sys.stderr.write("STEP: %s\n" % l.strip())
|
||||
try:
|
||||
pha = pha_class(l)
|
||||
except Exception as e:
|
||||
if self.verbose > 3:
|
||||
sys.stderr.write("%s\n" % repr(e))
|
||||
return
|
||||
c = pha.l3_class()
|
||||
l3, self.last_pha = pha.l3input()
|
||||
self.run(c, l3)
|
||||
return True
|
||||
|
||||
# solo hetept coefficients A clipping model
|
||||
MC_clip_A = False
|
||||
clip_c = 35000.
|
||||
clip_a = 47000.
|
||||
clip_b = (clip_a - clip_c)*math.log((clip_a - clip_c)/clip_a) + clip_c
|
||||
def clip(self, a):
|
||||
if a < self.clip_c:
|
||||
return a
|
||||
r = (self.clip_b - a) / (self.clip_a - self.clip_c)
|
||||
if r<-20:
|
||||
return int(self.clip_a)
|
||||
return int(self.clip_a*(1-math.exp(r)))
|
||||
|
||||
def hetept_L2(self, pha):
|
||||
return pha.trig
|
||||
|
||||
def main(argv, l3class=l3pipe, src=[], T="TEMP", path=[]):
|
||||
def main(argv):
|
||||
from getopt import getopt
|
||||
import fileinput
|
||||
opts,files = getopt(argv[1:], "f:c:e:vqD:O:M:V:T:C:U:")
|
||||
defines = []
|
||||
events = []
|
||||
loaded = False
|
||||
|
||||
unit = None
|
||||
|
||||
for o,v in opts:
|
||||
if o=="-U":
|
||||
if v.upper()=="STEP":
|
||||
unit = "STEP"
|
||||
T="T_STEP"
|
||||
src=["step.l3"]
|
||||
path = [
|
||||
os.path.abspath(os.path.join(
|
||||
os.path.dirname(__file__),
|
||||
"step/l3" ))
|
||||
]
|
||||
elif v.upper() in "HETEPTHET":
|
||||
unit = "HETEPT"
|
||||
T="T_HET1"
|
||||
src=["ept.l3", "het_stopping.l3", "het_pen.l3"]
|
||||
path = [
|
||||
os.path.abspath(os.path.join(
|
||||
os.path.dirname(__file__),
|
||||
"hetept/l3"))
|
||||
]
|
||||
else:
|
||||
raise ValueError("unknown %s %s" % (o,v))
|
||||
|
||||
l3 = l3class()
|
||||
for p in path:
|
||||
defines.append("-I%s" % p)
|
||||
|
||||
if unit=="HETEPT":
|
||||
l3.tc_extract = True
|
||||
|
||||
opts,files = getopt(argv[1:], "f:e:vq")
|
||||
l3 = l3trigger()
|
||||
for o,v in opts:
|
||||
if o=='-f':
|
||||
f = open(v)
|
||||
l3.load(f)
|
||||
f.close()
|
||||
loaded = True
|
||||
if o=='-c':
|
||||
l3.compile(defines + [v])
|
||||
loaded = True
|
||||
if o=='-e':
|
||||
events.append(v)
|
||||
tt = [int(ttt,0) for ttt in v.split()]
|
||||
l3.run(tt[0], tt[1:])
|
||||
if o=='-v':
|
||||
l3.verbose = l3.verbose+1
|
||||
if o=='-q':
|
||||
l3.verbose = l3.verbose-1
|
||||
if o=="-O":
|
||||
defines.append(v)
|
||||
if o=="-D":
|
||||
defines.append("-D"+v)
|
||||
if o=='-M':
|
||||
defines.append("-DM_"+v)
|
||||
if o=='-V':
|
||||
defines.append("-DV_"+v)
|
||||
if o=='-T':
|
||||
defines.append("-D%s=%s" % (T, v))
|
||||
|
||||
if o=="-C":
|
||||
if v=="test" or v=="ana":
|
||||
from solo.hetept.l1l2 import hetept_l1l2
|
||||
ana = hetept_l1l2(v=="test")
|
||||
l3.trigger_class = ana.trigger_class()
|
||||
else:
|
||||
l3.trigger_class = int(v,0)
|
||||
l3.tc_extract = False
|
||||
if o=="-A":
|
||||
l3.MC_clip_A = True
|
||||
|
||||
if not loaded and src:
|
||||
l3.compile(defines + src)
|
||||
|
||||
for e in events:
|
||||
l3.event(e)
|
||||
|
||||
if not events:
|
||||
import fileinput
|
||||
for t in fileinput.input(files):
|
||||
l3.event(t)
|
||||
|
||||
return l3
|
||||
tt = [int(ttt,0) for ttt in t.split()]
|
||||
l3.run(tt[0], tt[1:])
|
||||
|
||||
if __name__ == '__main__':
|
||||
main(sys.argv)
|
||||
|
|
|
|||
127
solo/patch.py
127
solo/patch.py
|
|
@ -1,127 +0,0 @@
|
|||
#! /usr/bin/ipython3 --profile=solo_patch
|
||||
|
||||
import solo.solomsgclass, solo.ppss_table
|
||||
import sys
|
||||
|
||||
class patch:
|
||||
|
||||
def __init__(self, config=None, name=None, **aa):
|
||||
self.config = config
|
||||
self.name=name
|
||||
self.assemble(**aa)
|
||||
|
||||
def __call__(self, msg, revert=False, **aa):
|
||||
if revert:
|
||||
self.revert(msg, **aa)
|
||||
else:
|
||||
self.send(msg, **aa)
|
||||
|
||||
def xml(self, f=sys.stdout, **aa):
|
||||
import solo.cdpu.telecom
|
||||
msg = solo.cdpu.telecom.msg_telecommands()
|
||||
self(msg, **aa)
|
||||
f.write("<TCs>\n")
|
||||
f.write("\n".join([x.xml() for x in msg.tc(unit=self.config.unit)])+"\n")
|
||||
f.write("</TCs>\n")
|
||||
|
||||
def hex(self, f=sys.stdout):
|
||||
self(solo.solomsgclass.msg_hexdump(f), **aa)
|
||||
|
||||
def msgs(self, f=sys.stdout, **aa):
|
||||
self(solo.solomsgclass.msg_print(f), **aa)
|
||||
|
||||
def emit(self, f=sys.stdout, fmt="print", **aa):
|
||||
if isinstance(f, str):
|
||||
with open(f, "w") as ff:
|
||||
self.emit(ff, fmt, **aa)
|
||||
elif fmt=="hex":
|
||||
self.hex(f, **aa)
|
||||
elif fmt=="xml":
|
||||
self.xml(f, **aa)
|
||||
else:
|
||||
self.msgs(f, **aa)
|
||||
|
||||
def main(self):
|
||||
fmt = sys.argv[1:]
|
||||
if len(sys.argv) > 2:
|
||||
if sys.argv[1] != self.name:
|
||||
return
|
||||
fmt = sys.argv[-1:]
|
||||
self.emit(sys.stdout, *fmt)
|
||||
|
||||
def scratch(self, subversion=None, version=None, scratch=None, **aa):
|
||||
if version is not None:
|
||||
self.config.version=version
|
||||
s = self.config.scratch
|
||||
if subversion is not None:
|
||||
s &= 0xffffffffffffff00
|
||||
s |= subversion
|
||||
if scratch is not None:
|
||||
s |= scratch
|
||||
self.config.scratch = s
|
||||
|
||||
def send_scratch(self, msg):
|
||||
self.config.make_scratch()(msg)
|
||||
|
||||
def send_ping(self, msg, slot="SPARE_HK", tag=0x3c, regs=0xff):
|
||||
islot = self.config.ppss.arm_insertion_slot(msg, flag=slot)
|
||||
solo.solomsgclass.solomsg(islot).read_reg(regs, tag=tag)
|
||||
|
||||
def send_stop_l3(self, msg, flag="START_DATA"):
|
||||
self.start_data = self.config.ppss.find_flags(flag)[0]
|
||||
self.start_data_msg = self.start_data.msg
|
||||
self.start_data.msg = solo.ppss_table.msg()
|
||||
self.start_data(msg)
|
||||
self.send_msg0(msg, l3_enable=0)
|
||||
|
||||
def send_start_l3(self, msg, flag="START_DATA"):
|
||||
self.start_data.msg = self.start_data_msg
|
||||
self.start_data(msg)
|
||||
|
||||
def send_msg0(self, msg, **aa):
|
||||
solo.solomsgclass.solomsg(msg).msg0(**aa)
|
||||
|
||||
def send_l3(self, msg, l3, pad=True, init=True, **flags):
|
||||
smsg = solo.solomsgclass.solomsg(msg)
|
||||
if init:
|
||||
smsg.l3_init(**flags)
|
||||
l3.load(smsg.l3_code)
|
||||
if pad:
|
||||
smsg.l3_pad()
|
||||
|
||||
def assert_unit(self, unit):
|
||||
if not unit in self.config.unit:
|
||||
raise ValueError("This unit is not %s, but %s" % (unit, self.config.unit))
|
||||
|
||||
def disable_ana(self, msg):
|
||||
self.assert_unit("HET/EPT")
|
||||
self.start_data = self.config.ppss.find_flags("START_DATA")[0]
|
||||
self.enable_analog = self.config.ppss.find_flags("ENABLE_ANALOG")[0]
|
||||
self.start_data_msg = self.start_data.msg
|
||||
self.enable_analog_msg = self.enable_analog.msg
|
||||
capture=solo.solomsgclass.msg_capture()
|
||||
capture.msg0(hetept_enable=1)
|
||||
capture.msg0(hetept_enable=0)
|
||||
self.enable_analog.msg = solo.ppss_table.msg0(
|
||||
self.enable_analog_msg.da & ~capture[0].da | capture[1].da )
|
||||
self.start_data.msg = solo.ppss_table.msg0(
|
||||
self.start_data_msg.da & ~capture[0].da | capture[1].da )
|
||||
self.start_data(msg)
|
||||
self.enable_analog(msg)
|
||||
self.send_msg0(msg, hetept_enable=0)
|
||||
|
||||
def reenable_ana(self, msg):
|
||||
self.enable_analog.msg = self.enable_analog_msg
|
||||
self.start_data.msg = self.start_data_msg
|
||||
self.enable_analog(msg)
|
||||
self.start_data(msg)
|
||||
|
||||
# examples:
|
||||
|
||||
def assemble(self, subversion=99, **aa):
|
||||
self.scratch(subversion=subversion)
|
||||
|
||||
def send(self, msg):
|
||||
self.send_scratch(msg)
|
||||
self.send_ping(msg)
|
||||
|
||||
|
|
@ -523,26 +523,18 @@ class ppss_table(more_items):
|
|||
if not isinstance(dps, list):
|
||||
dps = [d for d in dps.list() if not d.is_drop()]
|
||||
for d in dps:
|
||||
if not d.is_drop() and modes and (d.name in modes or "*" in modes):
|
||||
if modes and d.name in modes:
|
||||
d.args["flg_bits"] = 2
|
||||
if d.name in modes:
|
||||
(flg0_name,flg0_mod), (flg1_name,flg1_mod) = modes[d.name]
|
||||
else:
|
||||
(flg0_name,flg0_mod), (flg1_name,flg1_mod) = modes["*"]
|
||||
if flg1_mod is not None:
|
||||
flg = d.args.get("flg",0)
|
||||
d.args["flg"] = 2 | flg
|
||||
flg1_item = ppss_item(dp_us+1, modulus_always if flg1_mod else modulus_never, d(msg),
|
||||
DPS=True, dps_name=d.name, MODE=flg1_name)
|
||||
if flg0_mod is not None:
|
||||
self.add(flg1_item)
|
||||
r.append(flg1_item)
|
||||
d.args["flg"] = 1 & flg
|
||||
if flg0_mod is not None:
|
||||
ii = ppss_item(dp_us, modulus_always if flg0_mod else modulus_never, d(msg),
|
||||
DPS=True, dps_name=d.name, MODE=flg0_name)
|
||||
else:
|
||||
ii = flg1_item
|
||||
else:
|
||||
ii = ppss_item(dp_us, modulus_always, d(msg), DPS=True, dps_name=d.name)
|
||||
self.add(ii, **args)
|
||||
|
|
@ -708,7 +700,7 @@ class ppss_table(more_items):
|
|||
tag = m.msg.ad & 0xff
|
||||
msg_type = m.msg.ad >> 8
|
||||
if tag in tm_tags and msg_type in msg_types and m.mod.cadence():
|
||||
if not(tag & 0x20 == 0x20) or icu:
|
||||
if not ((tag & 0x20 == 0x20) or icu):
|
||||
msg_timing = m.msg.ad, m.us, m.mod.phase(), m.mod.cadence(), m.msg.da
|
||||
tags[tag].append(msg_timing)
|
||||
elif msg_type == 0x03 and self.dps is not None and sci: # sci packet
|
||||
|
|
|
|||
|
|
@ -601,7 +601,7 @@ class science_data(list):
|
|||
args["packetid"] = solo_data.TAGS[tag]["packetid"] + solo_data.UNITS[unit]["packetid"]
|
||||
if "flg" in solo_data.TAGS[tag]:
|
||||
if "flg" in args and args["flg"] != solo_data.TAGS[tag]["flg"]:
|
||||
sys.stderr.write("%s: %s: conflicting 'flg' specified in TAGS and product() %d %d\n"
|
||||
sys.stdout.write("%s: %s: conflicting 'flg' specified in TAGS and product() %d %d\n"
|
||||
% (env, solo_data.TAGS[tag]["name"], args["flg"], solo_data.TAGS[tag]["flg"]))
|
||||
args["flg"] = solo_data.TAGS[tag]["flg"]
|
||||
name = solo_data.TAGS[tag]["name"]
|
||||
|
|
@ -738,7 +738,7 @@ def main(argv, unit=None, env=(), model=None, variant=None,
|
|||
if pdf:
|
||||
s.pdf(unit, env, t)
|
||||
|
||||
sys.stderr.write(str(t))
|
||||
print(t)
|
||||
return s,t
|
||||
|
||||
if __name__=="__main__":
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ class HK_SOLO(object):
|
|||
AtoV = 3.3
|
||||
VB = (0.03726, 0.01186)
|
||||
@classmethod
|
||||
def T_to_ADC(cls, T, dc_estimate=0, shift=0):
|
||||
def T_to_ADC(cls, T, dc_estimate=0):
|
||||
"temperature in °C to ADC value"
|
||||
from math import exp
|
||||
R = cls.R25*exp(cls.B25/(T+273.0) - cls.B25/298.0)
|
||||
|
|
@ -84,7 +84,7 @@ class HK_SOLO(object):
|
|||
# estimated opheater duty cycle.
|
||||
TT=T
|
||||
for n in range(5):
|
||||
TTT = cls.ADC_to_T(A + (dc_estimate<<shift))
|
||||
TTT = cls.ADC_to_T(A + dc_estimate)
|
||||
TT -= TTT-T
|
||||
A = cls.T_to_ADC(TT)
|
||||
sys.stderr.write("Temp SPY: %.1f°C %.1f°C %.1f°C\n" % (T,TT,TTT))
|
||||
|
|
@ -1373,18 +1373,3 @@ def sram_incrementer(l3file="increment_sram.l3",nops=10):
|
|||
+ [l3file] )
|
||||
inc.compile(args)
|
||||
return inc
|
||||
|
||||
class msg_capture(solomsg):
|
||||
from collections import namedtuple
|
||||
msg_tuple = namedtuple("MSG", ["ad", "sz", "da"], defaults=(0,0,0))
|
||||
def __init__(self):
|
||||
self._capture = []
|
||||
super().__init__(self)
|
||||
def __call__(self, ad=0, sz=0, da=0):
|
||||
self._capture.append(self.msg_tuple(ad, sz, da))
|
||||
def __getitem__(self, key):
|
||||
return self._capture[key]
|
||||
def __setitem__(self, key, value):
|
||||
self._capture[key]=value
|
||||
def __iter__(self):
|
||||
return self._capture.__iter__()
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue