This program can be used to provide a set of controls that allows the user to set a common strength for the quadrupole supplies and a balance to make relative changes between the two hardware controls.
When the Balance is 0, the hardware controls (ctl1,ctl2) are operated in sync. If the Strength control is increased or decreased, the hardware controls follow with matching intensity.
If the Balance is adjusted positive
(0 to 100%), the first hardware control(ctl1) will be decreased in relation
to the Strength.
The second hardware control(ctl2) will remain equal to Strength.
The following formula is used:
ctl1 = Strength * ((100 - Balance) / 100)
If the Balance is adjusted negative
(0 to -100%), the second hardware control(ctl2) will be decreased in relation
to the Strength.
The first hardware control(ctl1) will remain equal to Strength.
The following formula is used:
ctl2 = Strength * ((100 + Balance) / 100)
Writelocks are in place to prevent changes directly to the hardware controls.
This mode releases
the writelocks on ctl1 and ctl2 to allow for direct control of the hardware.
The Strength and Balance controls have no affect and will not update to
reflect changes to the hardware.
When returning to normal mode from raw mode, the hardware values are evaluated
and a proper Strength and Balance will be updated.
Parameters needed by this program can be combined with parameters belonging to other programs. The "program name" field in the configuration file differentiates the entries.
QUADmngr uses "QUADmngr" as the program name when searching the file. It may be overridden with the --mngr_pn if another program name is desired.
One Group is assigned for each quadrupole to be managed. QUADmngr may handle up to the limit set by libmngr(3mngr) . (30 as of this writing).
Parameters listed as required must be present in the config file for QUADmngr to operate on the group.
comm1, ctl1, and ctl2 should all be scaled in the same units.
In general this will have an extra decimal of precision over ctl1/ctl2. If ctl1/ctl2 are F2, this should probably be F3.
The parameter should be scaled -100 to 100.
The parameter should be owned by whatever task QUADmngr registers
as and the permissions should be set for indirect update by users and unconditional
for the owner. This control should be a 1 bit status control.
nrm = 0
raw = 1
The parameter is a hardware control and is biased toward the "left" side of the balance.
The parameter is a hardware control and is biased toward the "right" side of the balance.