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.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5328 bc5caf13-1734-44f8-af43-603852e9ee25
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.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5324 bc5caf13-1734-44f8-af43-603852e9ee25
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.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5322 bc5caf13-1734-44f8-af43-603852e9ee25
add landau+tail model, to be used for HET BB muon spectra
Jan T's HET BB simulations, with cosine exponent scan
EM1 BB muons
FM1 Bi207 xrays 2016-03-11-fm1-bi207-ept-1_xrays
FM1 TCT 2016-04-13-fm1-2B-Bi207-xray-nom, EPT, incomplete
mean EM[12] BGO/Si ratio
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5318 bc5caf13-1734-44f8-af43-603852e9ee25
%.bb_itf HET B-B coincidences
%.bb_hist
%.pha_ift all isPHA() (needed is for counting, ...)
%_cold_xrays.hist EPT temperature below -33°C
%_hot_xrays.hist EPT temperature above +35°C
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5317 bc5caf13-1734-44f8-af43-603852e9ee25
heteptxrays.awk becomes a lot more efficient with the new isXrays() function
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5316 bc5caf13-1734-44f8-af43-603852e9ee25
add isSTEP_PHA(ix, ch)
add isXrays()
make isXray(i) more efficient via isXrays()
add flag PRESCALED=0|1 for PHA packet data
add array NAME[] going from ch number to name and back
add string NAMES
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5315 bc5caf13-1734-44f8-af43-603852e9ee25
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.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5312 bc5caf13-1734-44f8-af43-603852e9ee25
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.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5308 bc5caf13-1734-44f8-af43-603852e9ee25
lex() returns a token() object now.
That makes for a lot more readable code.
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5297 bc5caf13-1734-44f8-af43-603852e9ee25
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.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5296 bc5caf13-1734-44f8-af43-603852e9ee25
catch all exceptions
filename and linennumber added in except clause
also print input line
-h usage()
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5292 bc5caf13-1734-44f8-af43-603852e9ee25
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.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5288 bc5caf13-1734-44f8-af43-603852e9ee25