From: W. Trevor King Date: Mon, 13 May 2013 23:38:13 +0000 (-0400) Subject: pyafm/stack.tex: Add AFM schematic to stack dependency tree X-Git-Tag: v1.0~205 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=5f192ac90c545b6ee066b9fb35bb2fdb0a9c64c6;p=thesis.git pyafm/stack.tex: Add AFM schematic to stack dependency tree Give folks a concrete idea of the roll of each module. Also grey-out the calibcant node, since it's not part of the experiment control stack. --- diff --git a/src/packages.tex b/src/packages.tex index 35a3a00..7b31473 100644 --- a/src/packages.tex +++ b/src/packages.tex @@ -84,6 +84,7 @@ \usepackage{tikz} % a nice, inline PGF frontend \usetikzlibrary{automata} % graph-theory library \usetikzlibrary{calc} % coordinate-calculation library +\usetikzlibrary{decorations.markings} % custom marks \usetikzlibrary{decorations.pathreplacing} % braces and other fancy paths \usetikzlibrary{topaths} % 'curve to' style lines (in, out, etc.) \usetikzlibrary{shapes.misc} % for 'rounded rectangle' diff --git a/src/pyafm/stack.tex b/src/pyafm/stack.tex index 607b535..2b2c454 100644 --- a/src/pyafm/stack.tex +++ b/src/pyafm/stack.tex @@ -13,28 +13,63 @@ experiment logic to \pyafm\ to carry out velocity-clamp force 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}}