spectroscopy (\cref{fig:pyafm:stack}).
\begin{figure}
- \begin{tikzpicture}
+ \begin{tikzpicture}[decoration={
+ markings,% switch on markings
+ mark=% add a mark for screw threading
+ between positions 0 and 1 step 1pt
+ with
+ {
+ \draw (0, 2pt) -- (1pt, -2pt);
+ }
+ }
+ ]
\tikzstyle{every node}=[text depth=0pt, rounded rectangle,
draw=blue!50, very thick, minimum height=1.7em]
- \node (pycomedi) at (0,0) {\pycomedi};
- \node (pypiezo) at ($(pycomedi) + (0,1)$) {\pypiezo};
- \node (pyafm) at ($(pypiezo) + (0,1)$) {\pyafm};
- \node (unfold-protein) at ($(pyafm) + (0,1)$) {\unfoldprotein};
- \node (stepper) at ($(pycomedi) + (2,1)$) {\stepper};
- \node (pypid) at ($(stepper) + (2,0)$) {\pypid};
- \node (h5config) at ($(pycomedi) + (-3,0)$) {\hFconfig};
- \node (calibcant) at ($(unfold-protein) + (-3,0)$) {\calibcant};
- \draw (pycomedi) -- (pypiezo);
- \draw (pycomedi) -- (stepper);
+ \node[shape=rectangle,draw=none,inner sep=0]
+ (image) at (0,0) {
+ \asyinclude{figures/schematic/afm}};
+ \node[shape=rectangle,draw=black, semithick]
+ (daq) at ($(image.south west) + (-0.5, -1)$) {DAQ card};
+ \node[shape=rectangle,draw=black, semithick]
+ (motor) at ($(image.south) + (0, -1)$) {motor};
+ %\draw[
+ \coordinate (thermocouple) at ($(image.west) + (1, -4pt)$);
+ \node (pycomedi) at ($(daq) + (-5,0)$) {pycomedi};
+ \node (pypiezo) at ($(pycomedi) + (0,1)$) {pypiezo};
+ \node (pyafm) at ($(pypiezo) + (0,1)$) {pyafm};
+ \node (unfold-protein) at ($(pyafm) + (0,1)$) {unfold-protein};
+ \node (stepper) at ($(pycomedi) + (2,1)$) {stepper};
+ \node (pypid) at ($(stepper) + (2,0)$) {pypid};
+ \node (h5config) at ($(pycomedi) + (-3,0)$) {h5config};
+ \node[black!20] (calibcant) at ($(unfold-protein) + (-3,0)$) {calibcant};
\draw (pypiezo) -- (pyafm);
\draw (stepper) -- (pyafm);
\draw (pypid) -- (pyafm);
\draw (pyafm) -- (unfold-protein);
- \draw (pyafm) -- (calibcant);
+ \draw[black!20] (pyafm) -- (calibcant);
\draw (h5config) -- (pypiezo);
\draw (h5config) -- (pyafm);
\draw (h5config) -- (unfold-protein);
- \draw (h5config) -- (calibcant);
+ \draw[black!20] (h5config) -- (calibcant);
+ \draw[purple] (pypid) -- (thermocouple);
+ % begin thermometer symbol
+ \draw[blue!20, line width=4pt, cap=round]
+ (thermocouple) -- ($(thermocouple) + (0,12pt)$);
+ \fill[blue!20] (thermocouple) circle (5pt);
+ \draw[red, line width=2pt, cap=butt]
+ (thermocouple) -- ($(thermocouple) + (0,8pt)$);
+ \fill[red] (thermocouple) circle (4pt);
+ % end thermometer symbol
+ % begin motor screw
+ \draw[black!20, line width=4pt]
+ (motor) -- (image.south); % shaft with decoration threads
+ \draw[black, decorate, ultra thin]
+ (motor) -- (image.south); % shaft with decoration threads
+ % end motor screw
+ \draw[red]
+ (pypiezo) -- (pycomedi) -- (daq) -- ($(image.south) + (-6pt, 0)$);
+ \draw[red, line width=2pt] (pycomedi) -- (daq);
+ \draw[blue] (stepper) -- (pycomedi) -- (daq) -- (motor);
\end{tikzpicture}
\caption{Dependency graph for my modular experiment control
stack.\label{fig:pyafm:stack}}