next up previous
Next: Configuration and Parts files Up: l1joint_0706_hdmc Previous: Work on HDMC in

Generation of C++ Register subclasses



Requirement


HDMC displays bit fields of Registers to interactive users. The DAQ requires such access from C++.


Desired Calling Syntax in C++

MyReg *myreg;
int value = myreg->SingleBit();
int oldvalue = myreg->FourBitField(6);


Implementation


Small program parses default.conf file and generates subclasses of ModuleRegister32 or ModuleRegister16 for specified list of Registers.

$ cat >register32.list
DSS.MotherCR
DSS.MotherSR
^D
$cat >register16.list
TTCvi.CSR1
TTCvi.CSR2
^D
$ regbuild -d /tmp -l register32.list
$ regbuild -d /tmp -l register16.list -c ModuleRegister16


Status


Working: but only for the default bit fields. At the moment alternate representations are ignored.



Murrough Landon (m.p.j.landon@qmw.ac.uk)