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
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
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
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
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
also adapted PQM ifdef and moved calibration scaling to here
from ept_calib.l3
ept_calib.l3: calibration should now be in keV/A,
used new $LOG function to clean up the file
hetept_config.l3: added ept_pha tags
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5262 bc5caf13-1734-44f8-af43-603852e9ee25
hetept_config_stopping.py, hetept_config_himac.py: configuration files used at Himac (now updated to work with new hetept_config API)
hetept_dps.py: added dataproducts for reading science data at Himac
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5258 bc5caf13-1734-44f8-af43-603852e9ee25
A bug in dps_product.data_size() resulted in random results.
Comparissons between ModulsValue instances were random.
This fix happend before the config was uploaded to the unit EEPROM.
No version bump required.
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5249 bc5caf13-1734-44f8-af43-603852e9ee25
This marks the snapshot intended for EPD FM integration testing.
This is all it is: a snapshot of the ongoing config development.
It will be the first entry in the config database.
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5243 bc5caf13-1734-44f8-af43-603852e9ee25
Histogram window checkout raises the primary power consumption by a few mA.
This patch shifts the scheduling of these activities to different times for the
two flight models, and also the clear activity away from the STEP schedule.
This avoids that all units raise their power at the same time. A detailed
analysis how well separated the data products are is pending, until the
config becomes more complete.
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5242 bc5caf13-1734-44f8-af43-603852e9ee25
HET/EPT shall minimise use the SRAM bus simultaneously by multiple ports.
i800 is meant for things like EEPROM writes or diagnostic reads.
This moves the slot beyond hist clear.
git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@5241 bc5caf13-1734-44f8-af43-603852e9ee25