\hypertarget{BFM_8h}{
\section{BFM.h File Reference}
\label{BFM_8h}\index{BFM.h@{BFM.h}}
}
Balloon Flight (VME) Modules, Interface. 


{\tt \#include \char`\"{}BTU/TEM.h\char`\"{}}\par
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
\hypertarget{BFM_8h_a0}{
\index{BFM_dsc@{BFM\_\-dsc}!BFM.h@{BFM.h}}\index{BFM.h@{BFM.h}!BFM_dsc@{BFM\_\-dsc}}
typedef \hyperlink{struct__BFM__dsc}{\_\-BFM\_\-dsc} \hyperlink{BFM_8h_a0}{BFM\_\-dsc}}
\label{BFM_8h_a0}

\begin{CompactList}\small\item\em Typedef for struct \hyperlink{struct__BFM__dsc}{\_\-BFM\_\-dsc}.\item\end{CompactList}\item 
\hypertarget{BFM_8h_a1}{
\index{BFM_opTarget@{BFM\_\-opTarget}!BFM.h@{BFM.h}}\index{BFM.h@{BFM.h}!BFM_opTarget@{BFM\_\-op\-Target}}
typedef enum \hyperlink{BFM_8h_a35}{\_\-BFM\_\-op\-Target} \hyperlink{BFM_8h_a1}{BFM\_\-op\-Target}}
\label{BFM_8h_a1}

\begin{CompactList}\small\item\em Typedef for enum \_\-BFM\_\-op\-Target.\item\end{CompactList}\item 
typedef int($\ast$ \hyperlink{BFM_8h_a2}{BFM\_\-op\-Reporter} )(void $\ast$parameter, int op\-Id, \hyperlink{BFM_8h_a1}{BFM\_\-op\-Target} op\-Target, unsigned int successes, unsigned int failures, const struct \_\-TEM\_\-tem $\ast$tems, const struct \_\-TEM\_\-fpga $\ast$fpgas)
\begin{CompactList}\small\item\em Callback signature for BFM\_\-op\-Report.\item\end{CompactList}\end{CompactItemize}
\subsection*{Enumerations}
\begin{CompactItemize}
\item 
enum \hyperlink{BFM_8h_a35}{\_\-BFM\_\-op\-Target} \{ \hyperlink{BFM_8h_a35a3}{BFM\_\-C\_\-OP\_\-TARGET\_\-NONE} =   0, 
\hyperlink{BFM_8h_a35a4}{BFM\_\-C\_\-OP\_\-TARGET\_\-TEMS} =   1, 
\hyperlink{BFM_8h_a35a5}{BFM\_\-C\_\-OP\_\-TARGET\_\-FPGAS} =   2
 \}
\begin{CompactList}\small\item\em Enumerates to what target type an operation applies to.\item\end{CompactList}\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ \hyperlink{BFM_8h_a6}{BFM\_\-get} (void)
\begin{CompactList}\small\item\em Returns a piece of memory that either is the TEM data base or can be filled in to be the TEM data base.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a7}{BFM\_\-describe} (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int request\-Tems, const unsigned vme\-Adrs\mbox{[}TEM\_\-C\_\-CNT\mbox{]}, const struct \_\-TEM\_\-tem\-Dsc $\ast$const tem\-Dscs\mbox{[}TEM\_\-C\_\-CNT\mbox{]}, const struct \_\-FPGA\_\-ttc\-Hdr $\ast$const fpga\-Ttcs\mbox{[}TEM\_\-C\_\-FPGA\_\-CNT\mbox{]}, const struct \_\-TEM\_\-fpga\-Dsc $\ast$const fpga\-Dscs\mbox{[}TEM\_\-C\_\-FPGA\_\-CNT\mbox{]})
\begin{CompactList}\small\item\em Workhorse routine to describe the properties of a collection TEMs/FPGAs.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a8}{BFM\_\-initialize} (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm)
\begin{CompactList}\small\item\em Initializes the TEMs making them ready for use.\item\end{CompactList}\item 
void \hyperlink{BFM_8h_a9}{BFM\_\-op\-Report} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int operations, \hyperlink{BFM_8h_a2}{BFM\_\-op\-Reporter} reporter, void $\ast$parameter)
\begin{CompactList}\small\item\em Reports on the success or failure of various operations.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a10}{BFM\_\-fpgas\-Bist\-Write} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int fpgas\-List, unsigned int bist\-List)
\begin{CompactList}\small\item\em Writes the self test mode for the specified list of fpgas.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a11}{BFM\_\-fpgas\-Hfull\-Clr\-Write} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int fgpas\-List, unsigned int hfull\-List)
\begin{CompactList}\small\item\em Writes the FIFO Half Full Auto Clear mode for the specified list of FPGAS.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a12}{BFM\_\-fpgas\-Hfull\-Enb\-Write} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int fgpas\-List, unsigned int hfull\-List)
\begin{CompactList}\small\item\em Writes the FIFO Half Full Enable mode for the specified list of fpgas.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a13}{BFM\_\-fpgas\-Loaded} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm)
\begin{CompactList}\small\item\em Returns a list of the FPGAs that were successfully loaded.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a14}{BFM\_\-fpgas\-Logic\-Clear} (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int fpga\-List)
\begin{CompactList}\small\item\em Toggles the FPGA Logic Clear bit for the specified list of FPGAs.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a15}{BFM\_\-fpgas\-Tems\-Get} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int fpga\-List)
\begin{CompactList}\small\item\em Returns the list of the TEMSs associated with the specified list of FPGAs.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a16}{BFM\_\-fpgas\-L1t\-Counter\-Clear} (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int fpga\-List)
\begin{CompactList}\small\item\em Clears the L1t event counter.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a17}{BFM\_\-fpgas\-L1t\-Timer\-Clear} (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int fpga\-List)
\begin{CompactList}\small\item\em Clears the L1t timer.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a18}{BFM\_\-tems\-Fifos\-Reset} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int tem\-List)
\begin{CompactList}\small\item\em Resets all the FIFOs on a TEM.\item\end{CompactList}\item 
const struct \_\-TEM\_\-tem $\ast$ \hyperlink{BFM_8h_a19}{BFM\_\-tems} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm)
\begin{CompactList}\small\item\em Returns a pointer to the TEM database.\item\end{CompactList}\item 
const struct \_\-TEM\_\-fpga $\ast$ \hyperlink{BFM_8h_a20}{BFM\_\-fpgas} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm)
\begin{CompactList}\small\item\em Returns a pointer to the FPGA database.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a21}{BFM\_\-fpgas\-Rdo\-Mode\-Write} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int fpga\-List, unsigned int mode\-List)
\begin{CompactList}\small\item\em Writes the readout mode for the specified list of fpgas.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a22}{BFM\_\-fpgas\-Rdo\-Bsy\-Min\-Max\-Write} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int fpga\-List, unsigned int mode\-List)
\begin{CompactList}\small\item\em Writes the readout min/max mode for the specified list of fpgas.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a23}{BFM\_\-tems\-Present} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm)
\begin{CompactList}\small\item\em Returns a list of the TEMs that are present in the system.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a24}{BFM\_\-tems\-Readied} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm)
\begin{CompactList}\small\item\em Returns a list of the TEMs that are in the ready state.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a25}{BFM\_\-tems\-Scope\-Bit\-Clear} (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int tem\-List)
\begin{CompactList}\small\item\em Clears the scope bit on the specified TEMs.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a26}{BFM\_\-tems\-Scope\-Bit\-Set} (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int tem\-List)
\begin{CompactList}\small\item\em Sets the scope bit on the specified TEMs.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a27}{BFM\_\-tems\-Scope\-Bit\-Toggle} (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int tem\-List)
\begin{CompactList}\small\item\em Toggles the scope bit on the specified TEMs.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a28}{BFM\_\-tems\-Fpgas\-Get} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm, unsigned int tem\-List)
\begin{CompactList}\small\item\em Returns the list of the FPGAs associated with the specified list of TEMs.\item\end{CompactList}\item 
const unsigned int $\ast$ \hyperlink{BFM_8h_a29}{BFM\_\-vme\-Adrs\-By\-Tem} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm)
\begin{CompactList}\small\item\em Returns an array, indexed by TEM, of the TEMs VME addresses.\item\end{CompactList}\item 
const unsigned int $\ast$ \hyperlink{BFM_8h_a30}{BFM\_\-vme\-Adrs\-By\-Fpga} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm)
\begin{CompactList}\small\item\em Returns an array, indexed by FPGA, of the TEMs VME addresses.\item\end{CompactList}\item 
volatile unsigned int $\ast$const $\ast$ \hyperlink{BFM_8h_a31}{BFM\_\-lcl\-Adrs\-By\-Tem} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm)
\begin{CompactList}\small\item\em Returns an array, indexed by TEM, of the TEMs local addresses.\item\end{CompactList}\item 
volatile unsigned int $\ast$const $\ast$ \hyperlink{BFM_8h_a32}{BFM\_\-lcl\-Adrs\-By\-Fpga} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm)
\begin{CompactList}\small\item\em Returns an array, indexed by FPGA, of the TEMs local addresses.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a33}{BFM\_\-ops\-Attempted} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm)
\begin{CompactList}\small\item\em Returns a bit mask of all operations attempted on any TEM/FPGA.\item\end{CompactList}\item 
unsigned int \hyperlink{BFM_8h_a34}{BFM\_\-op\-Errors} (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$bfm)
\begin{CompactList}\small\item\em Returns a bit mask of all failed operations attempted on any TEM/FPGA.\item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Balloon Flight (VME) Modules, Interface.



\begin{Desc}
\item[Author: ]\par
JJRussell - \href{mailto:russell@slac.stanford.edu}{\tt russell@slac.stanford.edu}\end{Desc}
BFM acts as a data base for the TEMS and other VME modules. It encapsulates both static information, such as the values VME and local addresses, and dynamic information, such as the current state of any given TEM, ie, PRESENT, LOADED, READY, etc.

The general usage is to first pour information in information about the TEMS one is interested in via a {\tt BFM\_\-describe} and then get the TEMS ready by doing a {\tt BFM\_\-initialize}, which will load the FPGAs and put the registers in a known and consistent state. After these two steps one is free to change the state of the TEMs or just use the BFM query interfaces to learn about the current state of affairs.



\subsection{Typedef Documentation}
\hypertarget{BFM_8h_a2}{
\index{BFM.h@{BFM.h}!BFM_opReporter@{BFM\_\-opReporter}}
\index{BFM_opReporter@{BFM\_\-opReporter}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-opReporter]{\setlength{\rightskip}{0pt plus 5cm}BFM\_\-op\-Reporter}}
\label{BFM_8h_a2}


Callback signature for BFM\_\-op\-Report.



 BFM\_\-op\-Report reports on the status of requested operations. Instead of merely generating a {\tt printf} to the terminal, all information about the operation is passed back to the user via this callback routine. The callback handler is called for each relevant operation.

The call signature is 

\footnotesize\begin{verbatim}

         status = (*reporter) (void              *parameter,
                               int                     opId,
                               BFM_opTarget        opTarget,
                               unsigned int       successes,
                               unsigned int        failures,
                               const struct _TEM_tem  *tems,
                               const struct _TEM_fpga *fpags)

         where
             parameter: A user provided parameter passed transparently
                        through from the BFM_opReport call.
                  opId: The id of the operation, i.e. just which
                        operation is being reported on. The \a opId
                        can be translated to an ASCII name using
                        \c BFM_opnames(opId).
              opTarget: Either BFM_C_OP_TARGET_TEM or BFM_C_OP_TARGET_FPGA,
                        indicating the target type of the operation.
                        This parameter indicates how to interpret the
                        \a successes and \a failures arguments, as being
                        relevant to an array of TEMs or and array of FPGAs.
             successes: A list, expressed as a bit mask, indicating which
                        targets the operation was successful on.
              failures: A list, expressed as a bit mask, indicating which
                        targets the operation was unsuccessful on.
                  tems: An array, indexed by TEM_C_xxx of structure
                        describing the TEMS.
                 fpgas: An array, indexed by TEM_C_FPGA_xxx, describing
                        the FPGAs.

        The return code indicates whether one should stop (non-zero) or
        continue through the remaining list of operations.

        See BFM_opPrint for an usage example.

        \end{verbatim}\normalsize 
 

\subsection{Enumeration Type Documentation}
\hypertarget{BFM_8h_a35}{
\index{BFM.h@{BFM.h}!_BFM_opTarget@{\_\-BFM\_\-opTarget}}
\index{_BFM_opTarget@{\_\-BFM\_\-opTarget}!BFM.h@{BFM.h}}
\subsubsection[\_\-BFM\_\-opTarget]{\setlength{\rightskip}{0pt plus 5cm}enum \_\-BFM\_\-op\-Target}}
\label{BFM_8h_a35}


Enumerates to what target type an operation applies to.



 Operations are generally directed at one of two target types, either TEMs or FPGAs. This enumeration clearly states the target type of any operation. It mainly used in the reporting BFM routines. \begin{Desc}
\item[Enumeration values:]\par
\begin{description}
\index{BFM_C_OP_TARGET_NONE@{BFM\_\-C\_\-OP\_\-TARGET\_\-NONE}!BFM.h@{BFM.h}}\index{BFM.h@{BFM.h}!BFM_C_OP_TARGET_NONE@{BFM\_\-C\_\-OP\_\-TARGET\_\-NONE}}\item[{\em 
\hypertarget{BFM_8h_a35a3}{
{\em BFM\_\-C\_\-OP\_\-TARGET\_\-NONE}}
\label{BFM_8h_a35a3}
}]Operation NA to either TEM or FPGA \index{BFM_C_OP_TARGET_TEMS@{BFM\_\-C\_\-OP\_\-TARGET\_\-TEMS}!BFM.h@{BFM.h}}\index{BFM.h@{BFM.h}!BFM_C_OP_TARGET_TEMS@{BFM\_\-C\_\-OP\_\-TARGET\_\-TEMS}}\item[{\em 
\hypertarget{BFM_8h_a35a4}{
{\em BFM\_\-C\_\-OP\_\-TARGET\_\-TEMS}}
\label{BFM_8h_a35a4}
}]Operation targets a TEM \index{BFM_C_OP_TARGET_FPGAS@{BFM\_\-C\_\-OP\_\-TARGET\_\-FPGAS}!BFM.h@{BFM.h}}\index{BFM.h@{BFM.h}!BFM_C_OP_TARGET_FPGAS@{BFM\_\-C\_\-OP\_\-TARGET\_\-FPGAS}}\item[{\em 
\hypertarget{BFM_8h_a35a5}{
{\em BFM\_\-C\_\-OP\_\-TARGET\_\-FPGAS}}
\label{BFM_8h_a35a5}
}]Operation targets a FPGA \end{description}
\end{Desc}



\subsection{Function Documentation}
\hypertarget{BFM_8h_a7}{
\index{BFM.h@{BFM.h}!BFM_describe@{BFM\_\-describe}}
\index{BFM_describe@{BFM\_\-describe}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-describe]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-describe (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em request\-Tems}, const unsigned {\em vme\-Adrs}\mbox{[}TEM\_\-C\_\-CNT\mbox{]}, const struct \_\-TEM\_\-tem\-Dsc $\ast$const {\em tem\-Dscs}\mbox{[}TEM\_\-C\_\-CNT\mbox{]}, const struct \_\-FPGA\_\-ttc\-Hdr $\ast$const {\em fpga\-Ttcs}\mbox{[}TEM\_\-C\_\-FPGA\_\-CNT\mbox{]}, const struct \_\-TEM\_\-fpga\-Dsc $\ast$const {\em fpga\-Dscs}\mbox{[}TEM\_\-C\_\-FPGA\_\-CNT\mbox{]})}}
\label{BFM_8h_a7}


Workhorse routine to describe the properties of a collection TEMs/FPGAs.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm:}]Handle of the Balloon Flight Tems description. \item[{\em 
request\-Tems:}]The list of requested TEMs, specified as a bit mask. \item[{\em 
vme\-Adrs:}]An array of the VME addresses associated with each TEM. \item[{\em 
tem\-Dscs:}]An array of pointers to the TEM descriptors. \item[{\em 
fpga\-Ttcs:}]An array of pointers to the FPGA download data. This data must be in the form of TTC data structures. \item[{\em 
fpga\-Dscs:}]An array of pointers to the FPGA descriptors. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
The list of TEMs which where improperly described. Currently this can only be due to an internal inconsistency, ie a programming bug.\end{Desc}
Describes an instance the Balloon Flight Tems (BFM) This routine defines a BFM to be composed of the specified TEMs. The remaining parameters are necessary to fully define the database.

These parameters all are specified as arrays of either TEM\_\-C\_\-CNT or TEM\_\-C\_\-FPGA\_\-CNT. In all cases, if the set requested TEMs does not include a particular TEM, then the information about that TEM or its associated FPGAs need not be specified. In short, if one only wants the CAL, then you only need specify the information relevant for the CAL TEM and its FPGA.

The operations are basically beign. The only operation to actually touch a TEM is a VME bus probe to check on its presence. \hypertarget{BFM_8h_a20}{
\index{BFM.h@{BFM.h}!BFM_fpgas@{BFM\_\-fpgas}}
\index{BFM_fpgas@{BFM\_\-fpgas}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-fpgas]{\setlength{\rightskip}{0pt plus 5cm}const struct \_\-TEM\_\-fpga $\ast$ BFM\_\-fpgas (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm})}}
\label{BFM_8h_a20}


Returns a pointer to the FPGA database.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A pointer to the FPGA database.\end{Desc}
The return value can be provides assess to the TEM\_\-fpgas\-XXXX routines. \hypertarget{BFM_8h_a10}{
\index{BFM.h@{BFM.h}!BFM_fpgasBistWrite@{BFM\_\-fpgasBistWrite}}
\index{BFM_fpgasBistWrite@{BFM\_\-fpgasBistWrite}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-fpgasBistWrite]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-fpgas\-Bist\-Write (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em fpga\-List}, unsigned int {\em bist\-List})}}
\label{BFM_8h_a10}


Writes the self test mode for the specified list of fpgas.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
fpga\-List}]The list of fpgas to write the self test \item[{\em 
bist\-List}]The value of the self-test bit, expressed as a bit list by fpga. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
The list of FPGAs which were requested to write, but not supported. \end{Desc}
\hypertarget{BFM_8h_a11}{
\index{BFM.h@{BFM.h}!BFM_fpgasHfullClrWrite@{BFM\_\-fpgasHfullClrWrite}}
\index{BFM_fpgasHfullClrWrite@{BFM\_\-fpgasHfullClrWrite}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-fpgasHfullClrWrite]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-fpgas\-Hfull\-Clr\-Write (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em fpga\-List}, unsigned int {\em hfull\-List})}}
\label{BFM_8h_a11}


Writes the FIFO Half Full Auto Clear mode for the specified list of FPGAS.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
fpga\-List}]The list of fpgas to write FIFO Half Full Auto Clear mode. \item[{\em 
bist\-List}]The value of the FIFO Half Full Enable Auto Clear mode bit, expressed as a bit list by FPGA. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
The list of FPGAs which were requested to write, but not supported. \end{Desc}
\hypertarget{BFM_8h_a12}{
\index{BFM.h@{BFM.h}!BFM_fpgasHfullEnbWrite@{BFM\_\-fpgasHfullEnbWrite}}
\index{BFM_fpgasHfullEnbWrite@{BFM\_\-fpgasHfullEnbWrite}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-fpgasHfullEnbWrite]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-fpgas\-Hfull\-Enb\-Write (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em fpga\-List}, unsigned int {\em hfull\-List})}}
\label{BFM_8h_a12}


Writes the FIFO Half Full Enable mode for the specified list of fpgas.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
fpga\-List}]The list of fpgas to write FIFO Half Full Enable mode. \item[{\em 
bist\-List}]The value of the FIFO Half Full Enable mode bit, expressed as a bit list by FPGA. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
The list of FPGAs which were requested to write, but not supported. \end{Desc}
\hypertarget{BFM_8h_a16}{
\index{BFM.h@{BFM.h}!BFM_fpgasL1tCounterClear@{BFM\_\-fpgasL1tCounterClear}}
\index{BFM_fpgasL1tCounterClear@{BFM\_\-fpgasL1tCounterClear}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-fpgasL1tCounterClear]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-fpgas\-L1t\-Counter\-Clear (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em fpga\-List})}}
\label{BFM_8h_a16}


Clears the L1t event counter.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
fpga\-List}]The list of fpgas to clear. \end{description}
\end{Desc}
\hypertarget{BFM_8h_a17}{
\index{BFM.h@{BFM.h}!BFM_fpgasL1tTimerClear@{BFM\_\-fpgasL1tTimerClear}}
\index{BFM_fpgasL1tTimerClear@{BFM\_\-fpgasL1tTimerClear}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-fpgasL1tTimerClear]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-fpgas\-L1t\-Timer\-Clear (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em fpga\-List})}}
\label{BFM_8h_a17}


Clears the L1t timer.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
fpga\-List}]The list of fpgas to clear. \end{description}
\end{Desc}
\hypertarget{BFM_8h_a13}{
\index{BFM.h@{BFM.h}!BFM_fpgasLoaded@{BFM\_\-fpgasLoaded}}
\index{BFM_fpgasLoaded@{BFM\_\-fpgasLoaded}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-fpgasLoaded]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-fpgas\-Loaded (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm})}}
\label{BFM_8h_a13}


Returns a list of the FPGAs that were successfully loaded.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A list, expressed as a bit mask, of that FPGAs were successfully loaded. \end{Desc}
\hypertarget{BFM_8h_a14}{
\index{BFM.h@{BFM.h}!BFM_fpgasLogicClear@{BFM\_\-fpgasLogicClear}}
\index{BFM_fpgasLogicClear@{BFM\_\-fpgasLogicClear}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-fpgasLogicClear]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-fpgas\-Logic\-Clear (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em fpga\-List})}}
\label{BFM_8h_a14}


Toggles the FPGA Logic Clear bit for the specified list of FPGAs.



 \begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
fpga\-List}]The list of FPGAs. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A list, expressed as a bit mask, of FPGAs which failed to clear. \end{Desc}
\hypertarget{BFM_8h_a22}{
\index{BFM.h@{BFM.h}!BFM_fpgasRdoBsyMinMaxWrite@{BFM\_\-fpgasRdoBsyMinMaxWrite}}
\index{BFM_fpgasRdoBsyMinMaxWrite@{BFM\_\-fpgasRdoBsyMinMaxWrite}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-fpgasRdoBsyMinMaxWrite]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-fpgas\-Rdo\-Bsy\-Min\-Max\-Write (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em fpga\-List}, unsigned int {\em mode\-List})}}
\label{BFM_8h_a22}


Writes the readout min/max mode for the specified list of fpgas.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
fpga\-List}]The list of fpgas to write the readout min/max mode \item[{\em 
mode\-List}]The value of the readout, expressed as a bit list by FPGA. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
The list of FPGAs which where requested to set, but not supported. \end{Desc}
\hypertarget{BFM_8h_a21}{
\index{BFM.h@{BFM.h}!BFM_fpgasRdoModeWrite@{BFM\_\-fpgasRdoModeWrite}}
\index{BFM_fpgasRdoModeWrite@{BFM\_\-fpgasRdoModeWrite}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-fpgasRdoModeWrite]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-fpgas\-Rdo\-Mode\-Write (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em fpga\-List}, unsigned int {\em mode\-List})}}
\label{BFM_8h_a21}


Writes the readout mode for the specified list of fpgas.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
fpga\-List}]The list of fpgas to write the readout mode \item[{\em 
mode\-List}]The value of the readout, expressed as a bit list by FPGA. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
The list of FPGAs which where requested to set, but not supported. \end{Desc}
\hypertarget{BFM_8h_a15}{
\index{BFM.h@{BFM.h}!BFM_fpgasTemsGet@{BFM\_\-fpgasTemsGet}}
\index{BFM_fpgasTemsGet@{BFM\_\-fpgasTemsGet}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-fpgasTemsGet]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-fpgas\-Tems\-Get (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em fpga\-List})}}
\label{BFM_8h_a15}


Returns the list of the TEMSs associated with the specified list of FPGAs.



 \begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
fpga\-List}]The list of FPGAs. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A list, expressed as a bit mask, of TEMs associated with the specified list of FPGAs. \end{Desc}
\hypertarget{BFM_8h_a6}{
\index{BFM.h@{BFM.h}!BFM_get@{BFM\_\-get}}
\index{BFM_get@{BFM\_\-get}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-get]{\setlength{\rightskip}{0pt plus 5cm}\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ BFM\_\-get (void)}}
\label{BFM_8h_a6}


Returns a piece of memory that either is the TEM data base or can be filled in to be the TEM data base.

\begin{Desc}
\item[Returns: ]\par
A handle to the TEM data base.\end{Desc}
Given that there is only one set of TEMs/FPGAs, there is only one copy of the database needs to be maintained. Typical usage would be to first do an BFM\_\-get, then BFG\_\-describe. After initialization, one can either hold on to the handle or fetch it back with another call to BFG\_\-get(). Note, however, that all routines require this handle as the first argument. \hypertarget{BFM_8h_a8}{
\index{BFM.h@{BFM.h}!BFM_initialize@{BFM\_\-initialize}}
\index{BFM_initialize@{BFM\_\-initialize}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-initialize]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-initialize (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm})}}
\label{BFM_8h_a8}


Initializes the TEMs making them ready for use.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight TEMs. This was previously setup with a call to BFM\_\-describe. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
0 if successful, a bit mask representing any phase of the setup that failed. See below for further details.\end{Desc}
Initializes the BFM. All TEMs and FPGAs are prepared for data taking. This involves downloading the correct FPGA code and preparing the TEMs themselves for data taking. It does NOT include setting up any detector specific FPGA registers nor does it involve setting up the detector front-end hardware.

Each TEM is initialized as far as possible. If a failure occurs, the return value is marked with a bit noting a failure of some TEM at this phase. Said another way, the return value is really a summary error mask, indicating which operations had at least on failure associated with it. The user can then interrogate the BFM for specifics about exactly what failed at each phase. (See BFM\_\-op\-Report for instance). \hypertarget{BFM_8h_a32}{
\index{BFM.h@{BFM.h}!BFM_lclAdrsByFpga@{BFM\_\-lclAdrsByFpga}}
\index{BFM_lclAdrsByFpga@{BFM\_\-lclAdrsByFpga}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-lclAdrsByFpga]{\setlength{\rightskip}{0pt plus 5cm}volatile unsigned int BFM\_\-lcl\-Adrs\-By\-Fpga (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm})}}
\label{BFM_8h_a32}


Returns an array, indexed by FPGA, of the TEMs local addresses.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
An array, indexed by FPGA, of the TEMs local addresses \end{Desc}
\hypertarget{BFM_8h_a31}{
\index{BFM.h@{BFM.h}!BFM_lclAdrsByTem@{BFM\_\-lclAdrsByTem}}
\index{BFM_lclAdrsByTem@{BFM\_\-lclAdrsByTem}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-lclAdrsByTem]{\setlength{\rightskip}{0pt plus 5cm}volatile unsigned int BFM\_\-lcl\-Adrs\-By\-Tem (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm})}}
\label{BFM_8h_a31}


Returns an array, indexed by TEM, of the TEMs local addresses.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
An array, indexed by TEM, of the TEMs local addresses \end{Desc}
\hypertarget{BFM_8h_a34}{
\index{BFM.h@{BFM.h}!BFM_opErrors@{BFM\_\-opErrors}}
\index{BFM_opErrors@{BFM\_\-opErrors}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-opErrors]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-op\-Errors (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm})}}
\label{BFM_8h_a34}


Returns a bit mask of all failed operations attempted on any TEM/FPGA.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight TEMs. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A bit mask of all failed operations attempted on any TEM/FPGA.\end{Desc}
This is meant to provide a quick piece of summary error information. If An error has occurred, \hyperlink{BFM_8h_a9}{BFM\_\-op\-Report}() can be used to pin down the exact error. \hypertarget{BFM_8h_a9}{
\index{BFM.h@{BFM.h}!BFM_opReport@{BFM\_\-opReport}}
\index{BFM_opReport@{BFM\_\-opReport}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-opReport]{\setlength{\rightskip}{0pt plus 5cm}void BFM\_\-op\-Report (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em operations}, \hyperlink{BFM_8h_a2}{BFM\_\-op\-Reporter} {\em reporter}, void $\ast$ {\em parameter})}}
\label{BFM_8h_a9}


Reports on the success or failure of various operations.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
operations}]The list of operations, expressed as a bit mask, to report on. \item[{\em 
reporter}]A user supplied callback routine to handle the status reporting. This routine is called back once per operation. See the description of the BFM\_\-ope\-Reporter for details on the callback usage \item[{\em 
parameter}]A context parameter passed transparently through to the user provided callback routine.\end{description}
\end{Desc}
This routine allows the user to report the status of all TEMs and FPGAs in a manner consistent with his application, ie, it does not just dump the output to the screen. See BFM\_\-op\-Print for an example of how to code a callback routine. \hypertarget{BFM_8h_a33}{
\index{BFM.h@{BFM.h}!BFM_opsAttempted@{BFM\_\-opsAttempted}}
\index{BFM_opsAttempted@{BFM\_\-opsAttempted}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-opsAttempted]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-ops\-Attempted (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm})}}
\label{BFM_8h_a33}


Returns a bit mask of all operations attempted on any TEM/FPGA.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight TEMs. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A bit mask of all operations attempted on any TEM/FPGA. \end{Desc}
\hypertarget{BFM_8h_a19}{
\index{BFM.h@{BFM.h}!BFM_tems@{BFM\_\-tems}}
\index{BFM_tems@{BFM\_\-tems}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-tems]{\setlength{\rightskip}{0pt plus 5cm}const struct \_\-TEM\_\-fpga $\ast$ BFM\_\-tems (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm})}}
\label{BFM_8h_a19}


Returns a pointer to the TEM database.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A pointer to the TEM database.\end{Desc}
The return value can be provides assess to the TEM\_\-tems\-XXXX routines. \hypertarget{BFM_8h_a18}{
\index{BFM.h@{BFM.h}!BFM_temsFifosReset@{BFM\_\-temsFifosReset}}
\index{BFM_temsFifosReset@{BFM\_\-temsFifosReset}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-temsFifosReset]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-tems\-Fifos\-Reset (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em tem\-List})}}
\label{BFM_8h_a18}


Resets all the FIFOs on a TEM.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
tem\-List}]The list to TEMs to reset the FIFOs on. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A list, expressed as a bit mask, of that TEMs that failed to have there FIFOs reset. \end{Desc}
\hypertarget{BFM_8h_a28}{
\index{BFM.h@{BFM.h}!BFM_temsFpgasGet@{BFM\_\-temsFpgasGet}}
\index{BFM_temsFpgasGet@{BFM\_\-temsFpgasGet}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-temsFpgasGet]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-tems\-Fpgas\-Get (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em tem\-List})}}
\label{BFM_8h_a28}


Returns the list of the FPGAs associated with the specified list of TEMs.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
tem\-List}]The list of TEMs. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A list, expressed as a bit mask, of FPGAs associated with the specified list of TEMs. \end{Desc}
\hypertarget{BFM_8h_a23}{
\index{BFM.h@{BFM.h}!BFM_temsPresent@{BFM\_\-temsPresent}}
\index{BFM_temsPresent@{BFM\_\-temsPresent}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-temsPresent]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-tems\-Present (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm})}}
\label{BFM_8h_a23}


Returns a list of the TEMs that are present in the system.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A list, expressed as a bit mask, of that TEMs that are present in the system.\end{Desc}
This routine can be used, after \hyperlink{BFM_8h_a7}{BFM\_\-describe}() has been called, to learn which TEMs are physically present on the VME bus. \hypertarget{BFM_8h_a24}{
\index{BFM.h@{BFM.h}!BFM_temsReadied@{BFM\_\-temsReadied}}
\index{BFM_temsReadied@{BFM\_\-temsReadied}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-temsReadied]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-tems\-Readied (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm})}}
\label{BFM_8h_a24}


Returns a list of the TEMs that are in the ready state.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A list, expressed as a bit mask, of that TEMs that are in the ready state. This routine can be used, after \hyperlink{BFM_8h_a8}{BFM\_\-initialize}() has been called, to learn which TEMs are in the ready state. TEMs in the ready state have had their FPGAs successfully loaded and are {\em ready} to be setup for data taking. \end{Desc}
\hypertarget{BFM_8h_a25}{
\index{BFM.h@{BFM.h}!BFM_temsScopeBitClear@{BFM\_\-temsScopeBitClear}}
\index{BFM_temsScopeBitClear@{BFM\_\-temsScopeBitClear}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-temsScopeBitClear]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-tems\-Scope\-Bit\-Clear (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em tem\-List})}}
\label{BFM_8h_a25}


Clears the scope bit on the specified TEMs.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
tem\-List}]The list to TEMs to clear the scope bit on. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A list, expressed as a bit mask, of that TEMs that failed to have their scope bit cleared. \end{Desc}
\hypertarget{BFM_8h_a26}{
\index{BFM.h@{BFM.h}!BFM_temsScopeBitSet@{BFM\_\-temsScopeBitSet}}
\index{BFM_temsScopeBitSet@{BFM\_\-temsScopeBitSet}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-temsScopeBitSet]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-tems\-Scope\-Bit\-Set (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em tem\-List})}}
\label{BFM_8h_a26}


Sets the scope bit on the specified TEMs.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
tem\-List}]The list to TEMs to clear the scope bit on. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A list, expressed as a bit mask, of that TEMs that failed to have their scope bit set. \end{Desc}
\hypertarget{BFM_8h_a27}{
\index{BFM.h@{BFM.h}!BFM_temsScopeBitToggle@{BFM\_\-temsScopeBitToggle}}
\index{BFM_temsScopeBitToggle@{BFM\_\-temsScopeBitToggle}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-temsScopeBitToggle]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-tems\-Scope\-Bit\-Toggle (\hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm}, unsigned int {\em tem\-List})}}
\label{BFM_8h_a27}


Toggles the scope bit on the specified TEMs.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \item[{\em 
tem\-List}]The list to TEMs to toggle the scope bit on. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
A list, expressed as a bit mask, of that TEMs that failed to have their scope bit toggled. \end{Desc}
\hypertarget{BFM_8h_a30}{
\index{BFM.h@{BFM.h}!BFM_vmeAdrsByFpga@{BFM\_\-vmeAdrsByFpga}}
\index{BFM_vmeAdrsByFpga@{BFM\_\-vmeAdrsByFpga}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-vmeAdrsByFpga]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-vme\-Adrs\-By\-Fpga (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm})}}
\label{BFM_8h_a30}


Returns an array, indexed by FPGA, of the TEMs VME addresses.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
An array, indexed by FPGA, of the TEMs VME addresses \end{Desc}
\hypertarget{BFM_8h_a29}{
\index{BFM.h@{BFM.h}!BFM_vmeAdrsByTem@{BFM\_\-vmeAdrsByTem}}
\index{BFM_vmeAdrsByTem@{BFM\_\-vmeAdrsByTem}!BFM.h@{BFM.h}}
\subsubsection[BFM\_\-vmeAdrsByTem]{\setlength{\rightskip}{0pt plus 5cm}unsigned int BFM\_\-vme\-Adrs\-By\-Tem (const \hyperlink{BFM_8h_a0}{BFM\_\-dsc} $\ast$ {\em bfm})}}
\label{BFM_8h_a29}


Returns an array, indexed by TEM, of the TEMs VME addresses.

\begin{Desc}
\item[Parameters: ]\par
\begin{description}
\item[{\em 
bfm}]The description of the Balloon Flight Tems. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns: ]\par
An array, indexed by TEM, of the TEMs VME addresses \end{Desc}
