From f47987902f228af220b6a1b44d0ac06368324fbd Mon Sep 17 00:00:00 2001 From: Blaise Thompson Date: Wed, 11 Apr 2018 20:37:22 -0500 Subject: 2018-04-11 20:37 --- acquisition/chapter.tex | 85 ++++++++++++++++++++++++++++++++++--------------- todo.org | 5 ++- 2 files changed, 63 insertions(+), 27 deletions(-) diff --git a/acquisition/chapter.tex b/acquisition/chapter.tex index e60e0a7..ff6bcdf 100644 --- a/acquisition/chapter.tex +++ b/acquisition/chapter.tex @@ -610,8 +610,7 @@ Each of these classes can be directly instantiated as a minimum-viable instance, Delays are the kind of thing that have a position in absolute units, a zero position, and a relative position measured in fs or ps. % -They also are the kind of thing that is most commonly subject to offset by the Autonomic -system... % +They can be offset by the autonomic system to accommodate spectral delay correction. % In addition to the inherited methods, delay hardware objects require the following: \begin{ditemize} @@ -629,12 +628,20 @@ The delay GUI, by default, offers \item \python{on_set_motor} \item \python{on_set_zero} \end{ditemize} +\autoref{aqn:fig:delay_advanced} is a screenshot of the advanced panel for one of the Newport MFA +[CITE] delay stages. % +This advanced panel is pretty typical. % +Users may directly set the motor position or zero position. % +They may also change the label. % BJT: because... +There is a ``factor'' argument, which can be any non-zero integer (positive or negative). % +At its simplest this factor can accommodate different directions that the stage is placed, but it +can also account for double-passes and similar configurations. % \begin{landscape} \begin{figure} \includegraphics[width=9in]{"acquisition/screenshots/006"} \caption[Representative delay stage advanced menu.]{ - CAPTION TODO + Advanced menu for one of the MFA-CC (SMC-100) delay stages, on the fs system. % } \label{aqn:fig:delay_advanced} \end{figure} @@ -645,14 +652,20 @@ The delay GUI, by default, offers Spectrometers are the kind of thing that can be set to a single color (typically native units are in nm). % They often have turrets that allow for switching between gratings. % -Other features are not currently supported as PyCMDS has only been asked to drive one kind of -monochromator so far. % - -Hardware: +Other features are not currently supported as PyCMDS has only needed to drive one monochromator at +this time. % -Driver: +Spectrometer hardware instances do not need any features beyond the default hardware object. % -GUI: +Spectrometer driver instances require the following: +\begin{ditemize} + \item \python{get_grating_details} + \item \python{set_turret} +\end{ditemize} + +\autoref{aqn:fig:spectrometer_advanced} is a screenshot of the MicroHR [CITE] advanced menu on the +fs system. % +Nothing can be changed in the advanced menu except the label, and the offset can be seen. % \begin{landscape} \begin{figure} @@ -666,19 +679,47 @@ GUI: \subsection{OPAs} % ------------------------------------------------------------------------------ -Hardware: +OPAs are the most complicated piece of hardware addressed by PyCMDS. % +They range between 3 and 6 motors. % -Driver: - -GUI: - -\subsubsection{Curves} +In addition to what's inherited from the parent hardware class, OPA hardware instances require the +following: +\begin{ditemize} + \item \python{@property curve} + \item \python{@property curve_paths} + \item \python{get_tune_points} + \item \python{home_motor} + \item \python{load_curve} + \item \python{@property motor names} + \item \python{run_auto_tune} + \item \python{set_motor} +\end{ditemize} -Recursive +In addition to what's inherited from the parent driver class, OPA driver instances require the +following: +\begin{ditemize} + \item \python{bool poynting_correction} + \item \python{home_motor} + \item \python{home_all} + \item \python{curve} + \item \python{motor_names} + \item \python{set_motor} + \item \python{set_motors} + \item \python{interaction} + \item \python{load_curve} + \item \python{set_position_except} +\end{ditemize} -United +Many of these additional features have to do with the tuning curve, a crucial feature of OPAs. % +The tuning curve contains motor positions needed to achieve each valid output color. % +Read more about my implementation of tuning curves in \ref{cha:opa}. % -Interpolation +\autoref{aqn:fig:opa_advanced} is a screenshot of the advanced menu for one of the TOPAS-C [CITE] +OPAs on the fs table. % +A large central plot displays the currently loaded tuning curve for one of the motors (chosen in +the pull down menu). % +Multiple filepath menus allow the user to specify each tuning curve. % +Each motor can be independently set and homed. % \begin{landscape} \begin{figure} @@ -690,14 +731,6 @@ Interpolation \end{figure} \end{landscape} -\subsection{Filters} % --------------------------------------------------------------------------- - -Hardware: - -Driver: - -GUI: - \clearpage \section{Sensors (devices)} \label{aqn:sec:sensors} % ============================================ diff --git a/todo.org b/todo.org index e0a5b48..fa53026 100644 --- a/todo.org +++ b/todo.org @@ -35,7 +35,8 @@ CLOSED: [2018-04-11 Wed 15:42] * DONE parents _are_ virtual hardware :acq: CLOSED: [2018-04-11 Wed 15:56] -* TODO hardware advanced panel descriptions :acq: +* DONE hardware advanced panel descriptions :acq: + CLOSED: [2018-04-11 Wed 20:36] * TODO sensors section :acq: * DONE autonomic SDC screenshot :acq: CLOSED: [2018-04-11 Wed 18:07] @@ -43,7 +44,9 @@ * TODO conditional validity :acq: * TODO integrations :acq: * TODO future directions cleanup :acq: +* TODO Hardware is not subclassed :acq: * TODO figure captions :acq: +* IDEA equation from skye re: array detector :acq: * TODO introduction paragraphs :act: * TODO spectral delay correction :act: * TODO poynting correction :act: -- cgit v1.2.3