\hypertarget{gGEMC_8c}{
\section{g\-GEMC.c File Reference}
\label{gGEMC_8c}\index{gGEMC.c@{gGEMC.c}}
}
Implements command/response for the GEM Controller regsister block.  


{\tt \#include $<$string.h$>$}\par
{\tt \#include \char`\"{}GDAB/g\-GEMC.h\char`\"{}}\par
{\tt \#include \char`\"{}GDAB/g\-DAB.h\char`\"{}}\par
{\tt \#include \char`\"{}g\-GEM\_\-p.h\char`\"{}}\par
{\tt \#include \char`\"{}g\-DAB\_\-p.h\char`\"{}}\par
\subsection*{Functions}
\begin{CompactItemize}
\item 
int \hyperlink{gGEMC_8c_a0}{g\-GEMCcmd} (\hyperlink{struct__gdab}{gdab\-Handle} gdab, unsigned short opcode)
\begin{CompactList}\small\item\em Sends a dataless command. \item\end{CompactList}\item 
int \hyperlink{gGEMC_8c_a1}{g\-GEMCload} (\hyperlink{struct__gdab}{gdab\-Handle} gdab, unsigned short reg, unsigned int value)
\begin{CompactList}\small\item\em Loads a register with value. \item\end{CompactList}\item 
int \hyperlink{gGEMC_8c_a2}{g\-GEMCread} (\hyperlink{struct__gdab}{gdab\-Handle} gdab, unsigned short reg, unsigned int $\ast$val)
\begin{CompactList}\small\item\em Reads a register returing value in {\em val\/}. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Implements command/response for the GEM Controller regsister block. 

\begin{Desc}
\item[Author:]James Swain -- \href{mailto:jswain@slac.stanford.edu}{\tt jswain@slac.stanford.edu} \end{Desc}


\subsection{Function Documentation}
\hypertarget{gGEMC_8c_a0}{
\index{gGEMC.c@{g\-GEMC.c}!gGEMCcmd@{gGEMCcmd}}
\index{gGEMCcmd@{gGEMCcmd}!gGEMC.c@{g\-GEMC.c}}
\subsubsection[gGEMCcmd]{\setlength{\rightskip}{0pt plus 5cm}int g\-GEMCcmd (\hyperlink{struct__gdab}{gdab\-Handle} {\em gdab}, unsigned short {\em opcode})}}
\label{gGEMC_8c_a0}


Sends a dataless command. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em gdab}]gdab\-Handle containing the COM I/O (gnat) handle \item[{\em opcode}]opcode of command to send \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]G\_\-OK on success\end{Desc}
Sends the dataless command specified by {\em opcode\/} to the GEM. \hypertarget{gGEMC_8c_a1}{
\index{gGEMC.c@{g\-GEMC.c}!gGEMCload@{gGEMCload}}
\index{gGEMCload@{gGEMCload}!gGEMC.c@{g\-GEMC.c}}
\subsubsection[gGEMCload]{\setlength{\rightskip}{0pt plus 5cm}int g\-GEMCload (\hyperlink{struct__gdab}{gdab\-Handle} {\em gdab}, unsigned short {\em reg}, unsigned int {\em value})}}
\label{gGEMC_8c_a1}


Loads a register with value. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em gdab}]gdab\-Handle containing the COM I/O (gnat) handle \item[{\em reg}]register to load \item[{\em value}]32-bit value to load \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]G\_\-OK on success\end{Desc}
Loads the GEM Control register specified by {\em reg\/} with {\em value\/} \hypertarget{gGEMC_8c_a2}{
\index{gGEMC.c@{g\-GEMC.c}!gGEMCread@{gGEMCread}}
\index{gGEMCread@{gGEMCread}!gGEMC.c@{g\-GEMC.c}}
\subsubsection[gGEMCread]{\setlength{\rightskip}{0pt plus 5cm}int g\-GEMCread (\hyperlink{struct__gdab}{gdab\-Handle} {\em gdab}, unsigned short {\em reg}, unsigned int $\ast$ {\em val})}}
\label{gGEMC_8c_a2}


Reads a register returing value in {\em val\/}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em gdab}]gdab\-Handle containing the COM I/O (gnat) handle. \item[{\em reg}]register to read \item[{\em val}]pointer to storage to hold the response of the read command \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]G\_\-OK on success\end{Desc}
Reads the GEM Control register specified by {\em reg\/}. {\em val\/} is filled on return.

The following error codes are returned when LATp errors occur:

\begin{itemize}
\item GERR\_\-LATP\_\-HEADER\_\-PARITY \item GERR\_\-LATP\_\-CELL\_\-PARITY \item GERR\_\-LATP\_\-TRUNCATE \end{itemize}
