esrf

Beamline Instrument Software Support
SPEC Macro documentation: [ Macro Index | BCU Home ]

I400.MAC
See other macros in category: Detection BPM
Description:
    Macros for operating the PTC (pyramid technical consultants inc.) I400 4-channel electrometer
Documentation:
    OVERVIEW
    This macro set allows to control I400 units in spec and configure their signal inputs as pseudocounters.
    More than one I400 unit can be operated through this macro set.

    EXAMPLE
    i400setup mydev 0 c1=curr1 c2=curr2 c3=curr3 c4=curr4
    Configures an I400 unit connected to the spec serial line #0 and associates its four input channels to the pseudocounters curr1, curr2, curr3 and curr4.
    icplussetup bpm0 2 cx=beamX cy=beamY
    Configures an I400 unit connected through the serial line #2 and associates normalised current differences to the pseudocounters beamX and beamY.
    i400show
    Display the list of I400 units currently configured.


    SETUP
    Serial line in spec config has to be set as raw, 19200 baud
    The mode rotary switch on the I400 unit has to be set to 8.

Macros:
    i400setup
    Usage: i400setup <i4name> <serline> [<parameter>=<value> ...]
    Configures a I400 connected to <serline> with the name <i4name>. The following optional parameters can be also set.
    • Valid parameters:
      address=<addr>
      This parameter allows to address a particular unit when the serial line is shared by several IC-PLUS units. By default, the address is read from the unit assuming only one unit on the serial line.
      c1=<cnt_mne>
      c2=<cnt_mne>
      c3=<cnt_mne>
      c4=<cnt_mne>
      If <cnt_mne> is a valid counter mnemonic, it gets configured as a pseudocounter loaded with the current in the corresponding channel (1 to 4). The "Scale Factor" value in the spec config file applies.
      ci=<cnt_mne>
      If <cnt_mne> is a valid counter mnemonic, it gets configured as a pseudocounter loaded with sum of all channels ci= c1+c2+c3+c4 The "Scale Factor" value in the spec config file applies.
      cx=<cnt_mne>
      cy=<cnt_mne>
      If <cnt_mne> is a valid counter mnemonic, it gets configured as a pseudocounter loaded with the normalised current difference:
      cx= ((c2+c3)-(c1+c4))/(c1+c2+c3+c4)
      cy= ((c1+c2)-(c3+c4))/(c1+c2+c3+c4)
      (x,y) defined for a geometry like:
      y
      ^ c1 | c2
      |---------> x
      | c4 | c3
      The "Scale Factor" value in the spec config file applies.
      samples[=1]
      Sets the number of sub-samples per integration period


    i400samples
    Usage: i400samples <i4name> <samples>
    Sets the number of sub-samples taken during intergration period for the i400 unit <i4name>

    i400capacitor
    Usage: i400capacitor <i4name> <capacitor>
    Sets feedback capacitor to low value (0) or high value (1)

    i400show
    Usage: i400show
    Shows the list of I400 units configured

Internal Macros:
    _i400_init
    Usage: _i400_init()


    _i400_setup
    Usage: _i400_setup(args)


    i400gainlist
    Usage: i400gainlist


    i400gain
    Usage: i400gain


    _i400_setgain
    Usage: _i400_setgain(name, gain)


    _i400_getgain
    Usage: _i400_getgain(name)


    _i400_setperiod
    Usage: _i400_setperiod(name, per, samp)


    _i400_setcapacitor
    Usage: _i400_setcapacitor(name, cap)


    _i400_getcapacitor
    Usage: _i400_getcapacitor(name)


    _i400_initdata
    Usage: _i400_initdata


    i400unsetup
    Usage: i400unsetup [<i4name>]
    Unsetup given i400 unit or all units

    _i400_unsetup
    Usage: _i400_unsetup(name)


    _i400_prepcount
    Usage: _i400_prepcount(name)


    _i400_getcounts
    Usage: _i400_getcounts(name)


    _i400_read
    Usage: _i400_read(name)


    _i400_initcom
    Usage: _i400_initcom(name)


    _i400_io
    Usage: _i400_io(name, com, noack)


Filename: i400.mac
Author: EP, BLISS $Revision: 1.2 $ / $Date: 2008/09/26 12:40:30 $
Last mod.: 11/06/2010 14:51 by beteva