Bunch Bank Control
This panel shows the control configuration for a single bunch bank. The bunch control is determined by a number of waveforms, which can written to directly as waveform PVs, or can be individually edited using the controls on this page and related pages. All PVs on this screen are prefixed with $(device):$(axis):BUN:n
, with n
from 0 to 3.
This screen show three main sections (Sources, Set FIR, Select Bunches) together with an overall status and controls at the bottom.
Sources
The Sources section of this screen allows individual control over each of five possible sources: the bunch by bunch filter and four separate NCOs. The following table lists the possible sources:
Name | Control | Description |
---|---|---|
FIR | Bunch by Bunch FIR | Bunch by bunch FIR output. Select this for normal feedback on this bunch. |
NCO1 | Sequencer and Bunch Control | Fixed frequency NCO output. Select this for programmable fixed frequency excitation on this bunch. |
NCO2 | Sequencer and Bunch Control | Alternate fixed frequency NCO output. Select this for programmable fixed frequency excitation on this bunch. |
SEQ | Sequencer and Bunch Control | Swept NCO output. Select this for swept frequency excitation under sequencer control. Note that this source will be zero when the sequencer is inactive. |
PLL | Tune PLL | Tune PLL output. Select this for the tune PLL NCO. |
For each of these sources we have the following PVs together with a link to a more detailed control screen for the source (each PV is prefixed $(device):$(axis):$(source)
where $(source)
is one of the names above):
Name | PV | Description |
---|---|---|
:STATUS | Shows summary of bunch enable and gain settings. | |
Gains | Links to Bank Source Gain Control where the individual bunch gains can be configured. | |
On | :SET_ENABLE_S | Enables this source for all bunches selected by the bunch selector. |
Off | :SET_DISABLE_S | Disables this source for all bunches selected by the bunch selector. |
:ENABLE_S | Shows a concise view of which bunches are enabled. |
Set FIR
The FIR can be selected individually for each bunch:
Name | PV | Description |
---|---|---|
:BUN:n:FIR_SELECT_S | Chooses the FIR selection that will be written to the selected bunches when the "Set FIR" button is pressed. | |
Set FIR | :BUN:n:FIRWF:SET_S | Updates the selected bunches of :BUN:n:FIRWF_S with the selected value. |
:BUN:n:FIRWF_S | Determines which of the four available bunch by bunch filters is active on each bunch. |
Extra Fields
We have a summary field, a link to a screen, and an action at the bottom:
Name | PV | Description |
---|---|---|
Status | :BUN:n:STATUS | Shows outline summary of all of the bunch configurations for this bank. |
Extra | Links to Legacy OUTWF View. | |
Reset All Gains | :BUN:n:RESET_GAINS_S | Resets all gains for all sources for this bank to unity gain (0dB) when processed. It is a good idea to process this PV as a first step before setting up a configuration to ensure that all gains are in a known good state. |
Select Bunches
The section "Set Bunches" provides the following PVs:
Title | PV | Description |
---|---|---|
:BUN:n:BUNCH_SELECT_S | This field can be set to a string describing the bunches to be modified by any of the buttons on this screen or the gain control screen. The exact syntax of this string is described below. If an invalid value is written the write is rejected and the Status field below is updated with a description of the format error. | |
Status | :BUN:n:SELECT_STATUS | After a successful write to :BUNCH_SELECT_S this field reads "Ok". After any unsuccessful write this field has minor severity and shows a description of the reason why the write was rejected. |
The bunch selection defined here is used by all of the action buttons (except for "Reset All Gains").
Bunch Select Syntax
The string written to the :BUNCH:SELECT_S
PV determines the range of bunches that will be modified by the "Set" PVs. This string is either a single :
character, selecting all bunches, or is a sequence of numbers or ranges or "skip ranges". A formal syntax can be written thus:
bunch_select = all | range range+ all = ":" range = bunch | start ":" end | start ":" step ":" end
The various syntactic options are described below:
Syntax | Meaning |
---|---|
: | Selects all bunches |
bunch | Selects the specified single bunch |
start: end | Selects the inclusive range of bunches from start to end |
start: step: end | Selects bunches starting from start spaced at intervals of step extending until but not after end. |
Valid examples are:
: | Selects all bunches |
1 2 5 6 | Selects four named bunches |
0:935 | Also selects all bunches (at DLS with 936 bunch ring) |
0:100 200:300 | Selects two ranges of numbers for a total of 202 selected bunches. |
0:5:20 | Same as selection "0 5 10 15 20". |