Commit graph

1,886 commits

Author SHA1 Message Date
Jan Christoph Terasa
863c6f181e step_ppss: Disable low-speed-streaming mode a few ms earlier, so that it does not interfere with HK telemetries.
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5362 bc5caf13-1734-44f8-af43-603852e9ee25
2016-08-09 16:38:11 +00:00
Jan Christoph Terasa
8e5a4e4e66 step_ppss.py: Added method do_custom() to allow custom configs based on step_ppss.
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5361 bc5caf13-1734-44f8-af43-603852e9ee25
2016-08-08 13:21:58 +00:00
Stephan I. Böttcher
f75a500581 het_pen: add het_abba_min cut
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5352 bc5caf13-1734-44f8-af43-603852e9ee25
2016-08-01 17:01:47 +00:00
Stephan I. Böttcher
3b7ab96233 hex2bin.py: moved from python/cdpu to gse/itf_parser
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5343 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-31 11:11:20 +00:00
Stephan I. Böttcher
2879fa021a solopackets: moved to gse/itf_parser
TODO: move gse/itf_parser to python/itf_parser to have all scripts in one subdir.


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5342 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-31 10:22:48 +00:00
Stephan I. Böttcher
11c8e5a664 solopackets: various improvements
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5341 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-30 21:20:08 +00:00
Stephan I. Böttcher
73901234ab configtable.read_burnlog_table()
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5339 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-29 15:57:41 +00:00
Sebastian Boden
e36ff89144 l3.py: simplified lexer.quoted()
hetept_calib.py:  retain hetept_calib as _calib


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5337 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-29 12:15:33 +00:00
Sebastian Boden
8086155cc7 hetept_l3_config.py: removed, no longer needed
hetept_config.l3:	no longer needs to be python-compatible


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5335 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-28 16:41:30 +00:00
Sebastian Boden
ce2da40b52 l3.py: fixed some typos and the lexer.quoted() function
hetept_calib.py: added a class to hold all names as variables...
hetept_dps.py:	... so that they can be loaded here


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5334 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-28 15:24:19 +00:00
Stephan I. Böttcher
582ad0d043 hetept_sim: .compile L3 source directly
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5332 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-27 20:22:10 +00:00
Stephan I. Böttcher
1a8f5bf64c hetept_l1l2: load hetept_config
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5331 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-27 19:57:11 +00:00
Stephan I. Böttcher
1577980a0b hetept_config: compile l3 code directly
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5330 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-27 19:56:36 +00:00
Stephan I. Böttcher
d3fc40e4b9 hetept_calib: add path to l3 as set by solopath
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5329 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-27 19:52:26 +00:00
Stephan I. Böttcher
87a49b963d l3.py: add l3().path
both filenames on teh commandline and .include files are searched in .path.
	option -Ipath
	-q resets verbosity to 0
	.compile() returns self


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5328 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-27 19:50:54 +00:00
Stephan I. Böttcher
5674ad9065 hetept_calib: load l3 calib values files into a python object
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5327 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-27 17:43:19 +00:00
Stephan I. Böttcher
aba9a3635c l3.py: do not accumulate repeated -v option parsing
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5326 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-27 17:42:15 +00:00
Stephan I. Böttcher
048bf36e0b solopath: workaround for ipython bug when starting .../solopath.py
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5325 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-27 17:41:11 +00:00
Stephan I. Böttcher
bc16970828 l3.py: is now a 2-pass assembler
Currently, the old one-pass mode is still default.
	Use option -2 for 2-pass mode.
	Use option -1 for 1-pass mode, when the default changed.
	New option -F for the name of the forwardfile
		if given, the name in the code is ignored with a warning.
	In 2-pass mode, no forwardfile is read, nor written.
	The compiler issues the second pass only when there are forwardconflicts.
	In 1-pass mode, the forwardfile is written only when there are forwardconflicts.
	All file output, except for the log, is now written at the end of the last pass.
	Default output format is "none", i.e., no output will be generated.
	Optiuon -g accepts an optional format string
		-g 'hex,printf-format-string'
		-g 'dis,l3dis-format-string'
	-g hex requires a printf format for (addr,instr)
		"@%03x %08x\n"
	-g dis requires an l3dis format string.
		"@%(addr)-3d %(cond)-3s %(mnem)-5s %(args)s\n"
	-g verilog is the same as -g hex, with a different default format
		" l3_code(10'h %03x, 32'h %08x);\n"
	-g python is again the same as hex, but with an additinal file header.
		"	l3_code(0x%03x, 0x%08x)\n"


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5324 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-27 16:08:02 +00:00
Stephan I. Böttcher
fb1d25c12d l3.py: class lexer(str)
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5323 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-27 13:49:53 +00:00
Stephan I. Böttcher
e9c2d34717 l3.py: l3 is now loadable as a module
class l3
	class include_stack
	TODO: output into self.l3code[]
	TODO: class expression_parser_context
             self.EC = expression_parser_context(self.names)
	     s,v = self.EC.parse_EXPR(s)
	TODO? class lexer
             those s become lexer instances


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5322 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-26 10:52:47 +00:00
Stephan I. Böttcher
f626c39927 update_fm1_v1_v2: execute the update index
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5314 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-23 08:06:44 +00:00
Stephan I. Böttcher
b91222a8cb icu.py: a new icu simulator
It has a congiguration memory.
	It can connect to units.
	It can execute service (128,10?) telecommands.
	It successfully runs the FM1 v0001->v0002 patch procedure.
	It has not been tested with real units, yet.
	See update_fm1_v1_v2.py for how it works!


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5312 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-21 14:24:41 +00:00
Stephan I. Böttcher
68586e5167 hetept1/v0002 files
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5311 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-20 23:33:45 +00:00
Stephan I. Böttcher
419b3893fa hetept1/v0002
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5310 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-20 23:32:02 +00:00
Stephan I. Böttcher
ac26505ba7 hetept_config: version 2
export patch upload tcs for v0001 table


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5309 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-20 23:23:37 +00:00
Stephan I. Böttcher
35002d334c configtable: implement .upload_index_patch()
add .copy() to configtable; and itemplacement
	add configtable.split()
	allow configtable.patch_map() to split a message_index
	add configtable.upload_index() to return a list of message_index 
           which write the table into EEPROM
	all this makes no sense, because a table never needs to be patched to write itself :-)
	TODO: read a .txt into a table and go from there.


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5308 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-20 22:37:42 +00:00
Jan Christoph Terasa
536d8e1cca configtable.py: Only apply delay and flags to the first message block, when truncating message_blocks into multiple ones due to size limit.
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5307 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-20 19:20:09 +00:00
Jan Christoph Terasa
dd7fde17e8 step.l3: Changed semantics of ix?_px??_ped, to be the pedestal in ADC counts, not in eV.
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5306 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-20 16:42:36 +00:00
Jan Christoph Terasa
60dc8798a0 step_base_config.py: Added .txt output to main()
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5305 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-20 15:37:24 +00:00
Jan Christoph Terasa
a2d7917411 configtable.py: Made message_index maxsize an ctor argument (currently defaults to 256).
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5304 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-20 15:10:46 +00:00
Jan Christoph Terasa
651c2a27be configtable.py: Added limit on message_block size (maxsize=256) when adding blocks to message_indices, as per request from ICU/Alberto.
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5303 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-20 12:57:42 +00:00
Jan Christoph Terasa
5b829008c6 configtable.py: Allow slice indexing on configtable objects.
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5301 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-20 11:23:38 +00:00
Sebastian Boden
b6d4a06269 l3/Makefile: added targets hetept_l3[cv], step_l3[cv], l3[cv]_all
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5300 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-19 12:19:18 +00:00
Jan Christoph Terasa
0d0296411e step.l3: Removed workaround due to r5298.
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5299 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-19 12:06:42 +00:00
Sebastian Boden
aa0f99226a l3/Makefile: allow to make variants without model, i.e. step_small_l3.py
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5298 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-19 10:09:03 +00:00
Stephan I. Böttcher
631f9345b0 l3.py: implement class token()
lex() returns a token() object now.
	That makes for a lot more readable code.


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5297 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-18 21:50:33 +00:00
Stephan I. Böttcher
1a10d0acc5 l3.py l3.tex:
disallow ',' as separator for ADDI, ADD, SUB, HIST.
	allow only matching operator with ADD and SUB
	fix unary operators, allow unary +
	documentation fixes 


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5296 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-18 20:19:48 +00:00
Sebastian Boden
28abfb046d l3/Makefile: added *_*.l3c and *_*.l3v to the MODVAR section
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5294 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-18 18:00:32 +00:00
Stephan I. Böttcher
e9a0231192 l3.py: message formatting enhancements
catch all exceptions
	filename and linennumber added in except clause
	also print input line
	-h usage()


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5292 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-18 14:44:17 +00:00
Stephan I. Böttcher
62dc6062e4 l3.py: Register() rework
addr is a Register
	Register is explicitly immutable
	Register throws fewer explicit exceptions
	str(R) = 'R[a]'
	repr(R) =  'Register(a)'
	VEXPR only accepts (int,long)
	MULI R[] * MEXPR >> AEXPR
	fix BUG in RRNG{n} (single bits)


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5291 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-18 11:19:09 +00:00
Stephan I. Böttcher
ce74a93b7f txt2eeprom: parse config table dump info a configtable object
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5289 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-17 16:00:53 +00:00
Sebastian Boden
796afb8db0 l3.py: Changed the order of operations to the C standard for the
expression parsers:
          EEXPR: [!] [-] [ (EXPR) | R[EXPR] | ID | $FUNC(EXPR) | int | float ]
          MEXPR: EEXPR [ { * | / } EEXPR ]
          AEXPR: MEXPR [ { + | - } MEXPR ]
          EXPR:  AEXPR [ { << | >> } AEXPR ]
        Also fixed MULI so it accepts:
          MULI R[x] * AEXPR
          MULI R[x] * AEXPR >> AEXPR
        In the second case both values have to be integers in the 
        correct ranges.
ep.l3:  Changed the one instance in all our l3 files, where the above
        change caused a problem


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5288 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-15 16:21:53 +00:00
Stephan I. Böttcher
45bf35c581 het_calib: update EM1 calib, use xrays where available
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5280 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-15 09:21:38 +00:00
Stephan I. Böttcher
cf57a63dd4 solopath: make executable for module tests
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5279 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-15 09:18:17 +00:00
Sebastian Boden
480469cab7 l3.py: fixed a bug in MULI / parse_SEXPR(), where instructions like:
MULI R[.-1] * 5 >> 5
	i.e. where the factor is below 1, would result in a multipier
	of 0, if shift value was explicitly given.
l3dis.py: changed output for GOTO to GOTO R[x]


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5276 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-14 15:56:15 +00:00
Sebastian Boden
3d9eab3537 l3.py: implemented a Register class, which holds Register addresses.
This allows the parser to distinguish between Registers and 
        values and thus detect errors.
        Register objects are constructed by:
                R[x], where x can be an ID, expression or Register
                ID = [COND] INSTR
                .
                Register +- i, where i is an integer
	In effect everything should work as before, only the PHA
	and GOTO addresses need to be defined like: 
		HIT_0 = R[0xe0] or GOTO R[0x002]
step.l3, step_pha.l3, het_pen.l3, hetept_pha.l3:
	made the (few) necessary changes as above;
	The *_l3.py files are identical to before.


git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5275 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-14 12:51:50 +00:00
Stephan I. Böttcher
b5d56ee938 configurations: add CRC to config summary lines
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5270 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-13 11:35:43 +00:00
Sebastian Boden
55f5efa891 step_config.py: fixed a small bug I noticed in the main function
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5269 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-13 09:48:47 +00:00
Jan Christoph Terasa
713103c184 step_config: Restructured to use one file per config. step_config.py imports all files and can be used as before.
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5268 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-13 07:39:58 +00:00