\relax 
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}}
\@writefile{toc}{\contentsline {section}{\numberline {2}Prerequisites}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Building \emph  {CPSW}}{2}}
\citation{INSTALL}
\citation{makefile}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Starting {\tt  python}}{3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Starting udpsrv}{4}}
\@writefile{toc}{\contentsline {section}{\numberline {3}First Steps with \emph  {CPSW}}{5}}
\newlabel{sec:firststeps}{{3}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Help}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Paths}{5}}
\citation{userapi}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Entries and Hubs}{7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Interfaces of Entries}{7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}A look at \emph  {YAML}{}}{9}}
\newlabel{fig:byteorder}{{1}{10}}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces A 12-bit register with its most-significant bit aligned on a byte boundary. Shown in big- and little-endian layout.}}{10}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1}Trying an Enum Menu}{11}}
\@writefile{toc}{\contentsline {section}{\numberline {4}Interacting with a Device}{12}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Description of the Simulated Target}{12}}
\newlabel{fig:geom}{{2}{12}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces A pendulum (mass $m$ at the end of a mass-less arm of length $l$) is connected to a cart (mass $M$) which can move horizontally. An external force $F$ can be applied to the cart. The position of the cart, $x$, and the angle sustained by the pendulum, $\varphi $, can be read from ``sensors''.}}{12}}
\newlabel{tbl:regs}{{1}{13}}
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Simulator register summary. All registers are 32-bit; the scale factor has to be applied when reading (multiply by scale) or writing (divide by scale) register values.}}{13}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}The Beauty of YAML}{13}}
\newlabel{tbl:udpsmap}{{2}{13}}
\@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces Memory map of the udpsrv{} server.}}{13}}
\citation{yaml}
\citation{yamlDefinition}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Trying it Out}{14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Exercise: Writing the CPSW Interface in Python}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Launching the GUI}{17}}
\@writefile{toc}{\contentsline {section}{\numberline {5}Working with Streams}{17}}
\newlabel{tbl:strmmsg}{{3}{17}}
\@writefile{lot}{\contentsline {table}{\numberline {3}{\ignorespaces Layout of the stream datagram containing simulator state information. The 64-bit numbers are a fixed-point representation with the radix point located between bits 31 and 32.}}{17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Defining a Stream in \emph  {YAML}}{17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Reading from a Stream}{18}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1}A ``Strange Phenomenon''}{19}}
\citation{userapi}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Exercise}{21}}
\citation{myCommand}
\citation{FWLoader}
\@writefile{toc}{\contentsline {section}{\numberline {6}Writing a \emph  {CPSW}{} C++{} Extension}{22}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Extension Design Goal}{22}}
\newlabel{fig:classhier}{{3}{23}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Hierarchy of Classes and Interfaces for the CIntEntryImpl/CScalValAdapt\_XX implementation of ScalVal/DoubleVal and related interfaces. The ``static'' class CIntEntryImpl is associated with Adapters CScalValXXAdapt.}}{23}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Extending an Existing Class}{23}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}Implementation}{24}}
\newlabel{fig:int2dbl}{{4}{25}}
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces New classes to support integer to floating-point conversion. The adapters CInt2Dbl\_ROAdapt and CInt2Dbl\_WOAdapt override the actual conversion methods. CInt2Dbl holds the conversion parameters (scale/offset) which are extracted from \emph  {YAML}{}.}}{25}}
\citation{makefile}
\citation{INSTALL}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4}The ``makefile''}{26}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.5}Cleaning Up ``ModelParm.py''}{26}}
\bibcite{INSTALL}{1}
\bibcite{userapi}{2}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.6}Controller}{27}}
\@writefile{toc}{\contentsline {section}{\numberline {7}Solutions to Exercises}{27}}
\@writefile{toc}{\contentsline {section}{\numberline {8}Further Reading}{27}}
\bibcite{yaml}{3}
\bibcite{yamlDefinition}{4}
\bibcite{myCommand}{5}
\bibcite{makefile}{6}
\bibcite{FWLoader}{7}
