\section{Shutter}\label{ch:shutter}

An optional ``shutter'' can be enabled to synchronize the acquisition window to a signal, such as the spill signal from a beam line.\\
When the shutter is ``closed'' triggers are vetoed and no triggers are sent. When the shutter is ``open'' triggers can be generated and sent to active \gls{dut}s.\\
The shutter cycle can either be started by an external signal or synchronized by a counter clocked by the system clock (i.e. internally-generated shutter, which can be used to debug hardware).\\
The external signal, if used, must be connected to one of the six LEMO trigger inputs.\\
\begin{alertinfo}{If the external signal is used, an appropriate threshold should be set to the corresponding input. The input used for synchronizing the shutter should not be used in the trigger mask.}
\end{alertinfo}
Figure~\ref{fig:shutter_timing} illustrates the timing of the shutter sequence.\\
When the shutter is open, the \gls{tlu} will assert the \verb|CONT| line (see table~\ref{tab:HDMIpins}), indicating to the \gls{dut} that the sequence is active.\\
Behaviour of the shutter is controlled by the IPBus registers described in table~\ref{tab:shutter_registers}. If using EUDAQ, the registers can be written by including the corresponding steering parameters.
The parameters should be included in the config file described in section~\ref{ch:configFile}.
\begin{figure}
  \centering
  \includegraphics[width=.95\textwidth]{./Images/aida-tlu-sitra-shutter-timing_02.pdf}
  \caption{Shutter Timing: the E$_{min}$ signal is fed to one of the trigger inputs and initiates the shutter sequence: after a programmable delay t$_{1}$ the \gls{tlu} asserts the \emph{shutter} signal. The unit will start to issue trigger signals to the \gls{dut} once a programmable time t$_{2}$ has elapsed. The window between t$_{1}$ and t$_{2}$ can be used to ensure the \gls{dut} is configured and ready to accept triggers. The unit will issue triggers until the end of the shutter window, determined by t$_{3}$.}
  \label{fig:shutter_timing}
\end{figure}
%\begin{table}
%	\begin{tabular}{lp{\0.6\linewidth}}
%	Register Name & Function \\ \hline
%	ControlRW & Bit-0 controls if shutter pulses are active. 1 = active. Bit-1 selects external synchronization (bit-1 = 0) or internal sequence (bit-1 = 1) \\
%	ShutterSelectRW & Selects which input is used to trigger shutter sequence.range = 0-5)\\
%	InternalShutterPeriodRW & Internal sequence period (when using internal sequence). Units of clock cycles.\\
%	ShutterOnTimeRW & Time between start of sequence and shutter asserted( t1) \\
%	ShutterVetoOffTimeRW & time between start of sequence and veto being de-asserted (t2)\\
%	ShutterOffTimeRW &  Time between start of sequence and time at which shutter de-asserted and veto reasserted(t3)\\
%	\end{tabular}
%	\caption{IPBus registers controlling behaviour of shutter.}
%	\label{tab:shutter_registers}
%\end{table}

\begin{landscape}
    \begin{table}[]
            \begin{tabular}{llll}
            \textbf{\begin{tabular}[c]{@{}l@{}}CONFIGURATION\\ PARAMETER\end{tabular}} & \textbf{FUNCTION}                                                                                                                               & \multicolumn{1}{c}{\textbf{NOTE}}                                                   & \textbf{\begin{tabular}[c]{@{}l@{}}REGISTER \\ NAME\end{tabular}} \\ \hline
            EnableShutterMode                                                          & \begin{tabular}[c]{@{}l@{}}If 1, shutter mode is enabled.\\ If 0, shutter mode is disabled.\end{tabular}                                        &                                                                                     & ControlRW                                                         \\ \hline
            ShutterSource                                                              & Selects which input is used to trigger shutter sequence.                                                                                        & Range 0:5                                                                           & ShutterSelectRW                                                   \\ \hline
            InternalShutterInterval                                                    & \begin{tabular}[c]{@{}l@{}}Internal shutter period when using internal sequence.\\ Set to 0 to not use internal shutter generator.\end{tabular} & \begin{tabular}[c]{@{}l@{}}32-bit vale.\\ Units of 25 ns clock cycles.\end{tabular} & InternalShutterPeriodRW                                           \\ \hline
            ShutterOnTime                                                              & Time between start of sequence and shutter asserted (t$_{1}$).                                                                                   & \begin{tabular}[c]{@{}l@{}}32-bit vale.\\ Units of 25 ns clock cycles.\end{tabular} & ShutterOnTimeRW                                                   \\ \hline
            ShutterVetoOffTime                                                         & Time between start of sequence and veto being de-asserted (t$_{2}$).                                                                             & \begin{tabular}[c]{@{}l@{}}32-bit vale.\\ Units of 25 ns clock cycles.\end{tabular} & ShutterVetoOffTimeRW                                              \\ \hline
            ShutterOffTime                                                             & \begin{tabular}[c]{@{}l@{}}Time between start of sequence and time at which\\ shutter de-asserted and veto reasserted (t$_{3}$).\end{tabular}    & \begin{tabular}[c]{@{}l@{}}32-bit vale.\\ Units of 25 ns clock cycles.\end{tabular} & ShutterOffTimeRW                                                  \\ \hline
        \end{tabular}
    \caption{Configuration parameters and corresponding IPBus registers controlling behaviour of shutter.}
    \label{tab:shutter_registers}
    \end{table}
\end{landscape}



