\hypertarget{ISOMAX_8h}{
\section{ISOMAX.h File Reference}
\label{ISOMAX_8h}\index{ISOMAX.h@{ISOMAX.h}}
}
ISOMAX Frame Sync Board Inteface Library. 


{\tt \#include \char`\"{}ISOMAX/DPC104.h\char`\"{}}\par
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define \hyperlink{ISOMAX_8h_a0}{ISOMAX\_\-FRAME\_\-SIZE}\ 128
\item 
\#define \hyperlink{ISOMAX_8h_a1}{ISOMAX\_\-DATA\_\-SIZE}\ (ISOMAX\_\-FRAME\_\-SIZE - 4)
\item 
\#define \hyperlink{ISOMAX_8h_a2}{ISOMAX\_\-FIFO\_\-SIZE}\ 1024
\item 
\#define \hyperlink{ISOMAX_8h_a3}{ISOMAX\_\-FRAME\_\-WORDS}\ (ISOMAX\_\-FRAME\_\-SIZE / sizeof(unsigned short))
\item 
\#define \hyperlink{ISOMAX_8h_a4}{ISOMAX\_\-DATA\_\-WORDS}\ (ISOMAX\_\-DATA\_\-SIZE / sizeof(unsigned short))
\item 
\#define \hyperlink{ISOMAX_8h_a5}{ISOMAX\_\-FIFO\_\-WORDS}\ (ISOMAX\_\-FIFO\_\-SIZE / sizeof(unsigned short))
\item 
\#define \hyperlink{ISOMAX_8h_a6}{ISOMAX\_\-FIFO\_\-FRAMES}\ (ISOMAX\_\-FIFO\_\-SIZE / ISOMAX\_\-FRAME\_\-SIZE)
\item 
\#define \hyperlink{ISOMAX_8h_a7}{ISOMAX\_\-SYNC\_\-WORD}\ 0xeb90
\item 
\#define \hyperlink{ISOMAX_8h_a8}{ISOMAX\_\-CHECKSUM\_\-WORD}\ 0x0000
\item 
\#define \hyperlink{ISOMAX_8h_a9}{ISOMAX\_\-SYNC\_\-OFFSET}\ 0
\item 
\#define \hyperlink{ISOMAX_8h_a10}{ISOMAX\_\-DATA\_\-OFFSET}\ 1
\item 
\#define \hyperlink{ISOMAX_8h_a11}{ISOMAX\_\-CHECKSUM\_\-OFFSET}\ 63
\item 
\#define \hyperlink{ISOMAX_8h_a12}{ISOMAX\_\-MAX\_\-RATE}\ 1000000
\item 
\#define \hyperlink{ISOMAX_8h_a13}{ISOMAX\_\-STATUS\_\-TX}\ 0x01
\item 
\#define \hyperlink{ISOMAX_8h_a14}{ISOMAX\_\-STATUS\_\-TEST}\ 0x02
\item 
\#define \hyperlink{ISOMAX_8h_a15}{ISOMAX\_\-STATUS\_\-CRC}\ 0x04
\item 
\#define \hyperlink{ISOMAX_8h_a16}{ISOMAX\_\-STATUS\_\-CMD}\ 0x10
\item 
\#define \hyperlink{ISOMAX_8h_a17}{ISOMAX\_\-STATUS\_\-FIFO\_\-HF}\ 0x20
\item 
\#define \hyperlink{ISOMAX_8h_a18}{ISOMAX\_\-STATUS\_\-FIFO\_\-E}\ 0x40
\item 
\#define \hyperlink{ISOMAX_8h_a19}{ISOMAX\_\-STATUS\_\-FIFO\_\-F}\ 0x80
\item 
\#define \hyperlink{ISOMAX_8h_a20}{ISOMAX\_\-MODE\_\-TX}\ 0
\item 
\#define \hyperlink{ISOMAX_8h_a21}{ISOMAX\_\-MODE\_\-RX}\ 1
\item 
\#define \hyperlink{ISOMAX_8h_a22}{ISOMAX\_\-MODE\_\-TX\_\-TEST}\ 2
\item 
\#define \hyperlink{ISOMAX_8h_a23}{ISOMAX\_\-MODE\_\-RX\_\-TEST}\ 3
\item 
\#define \hyperlink{ISOMAX_8h_a24}{ISOMAX\_\-VEC\_\-FIFO}\ (DPC104\_\-VME\_\-INT\_\-VEC\_\-BASE + 5)
\item 
\#define \hyperlink{ISOMAX_8h_a25}{ISOMAX\_\-VEC\_\-CMD}\ (DPC104\_\-VME\_\-INT\_\-VEC\_\-BASE + 10)
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
\hypertarget{ISOMAX_8h_a26}{
\index{ISOMAX_init@{ISOMAX\_\-init}!ISOMAX.h@{ISOMAX.h}}\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_init@{ISOMAX\_\-init}}
int \hyperlink{ISOMAX_8h_a26}{ISOMAX\_\-init} (void)}
\label{ISOMAX_8h_a26}

\begin{CompactList}\small\item\em Initialize the ISOMAX interface.\item\end{CompactList}\item 
\hypertarget{ISOMAX_8h_a27}{
\index{ISOMAX_configure@{ISOMAX\_\-configure}!ISOMAX.h@{ISOMAX.h}}\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_configure@{ISOMAX\_\-configure}}
int \hyperlink{ISOMAX_8h_a27}{ISOMAX\_\-configure} (int mode, unsigned int bits\-Per\-Sec)}
\label{ISOMAX_8h_a27}

\begin{CompactList}\small\item\em Configure the ISOMAX interface.\item\end{CompactList}\item 
\hypertarget{ISOMAX_8h_a28}{
\index{ISOMAX_enable@{ISOMAX\_\-enable}!ISOMAX.h@{ISOMAX.h}}\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_enable@{ISOMAX\_\-enable}}
int \hyperlink{ISOMAX_8h_a28}{ISOMAX\_\-enable} (void)}
\label{ISOMAX_8h_a28}

\begin{CompactList}\small\item\em Enable telemetry and command interrupts.\item\end{CompactList}\item 
\hypertarget{ISOMAX_8h_a29}{
\index{ISOMAX_disable@{ISOMAX\_\-disable}!ISOMAX.h@{ISOMAX.h}}\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_disable@{ISOMAX\_\-disable}}
int \hyperlink{ISOMAX_8h_a29}{ISOMAX\_\-disable} (void)}
\label{ISOMAX_8h_a29}

\begin{CompactList}\small\item\em Disable telemetry and command interrupts.\item\end{CompactList}\item 
\hypertarget{ISOMAX_8h_a30}{
\index{ISOMAX_statusGet@{ISOMAX\_\-statusGet}!ISOMAX.h@{ISOMAX.h}}\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_statusGet@{ISOMAX\_\-status\-Get}}
unsigned int \hyperlink{ISOMAX_8h_a30}{ISOMAX\_\-status\-Get} (void)}
\label{ISOMAX_8h_a30}

\begin{CompactList}\small\item\em Get the hardware status value.\item\end{CompactList}\item 
\hypertarget{ISOMAX_8h_a31}{
\index{ISOMAX_rateGet@{ISOMAX\_\-rateGet}!ISOMAX.h@{ISOMAX.h}}\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_rateGet@{ISOMAX\_\-rate\-Get}}
unsigned int \hyperlink{ISOMAX_8h_a31}{ISOMAX\_\-rate\-Get} (void)}
\label{ISOMAX_8h_a31}

\begin{CompactList}\small\item\em Get the current transmission bit rate.\item\end{CompactList}\item 
\hypertarget{ISOMAX_8h_a32}{
\index{ISOMAX_fifoWrite@{ISOMAX\_\-fifoWrite}!ISOMAX.h@{ISOMAX.h}}\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_fifoWrite@{ISOMAX\_\-fifo\-Write}}
void \hyperlink{ISOMAX_8h_a32}{ISOMAX\_\-fifo\-Write} (unsigned short $\ast$buf)}
\label{ISOMAX_8h_a32}

\begin{CompactList}\small\item\em Send a series of telemtery frames to the FIFO.\item\end{CompactList}\item 
\hypertarget{ISOMAX_8h_a33}{
\index{ISOMAX_fifoRead@{ISOMAX\_\-fifoRead}!ISOMAX.h@{ISOMAX.h}}\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_fifoRead@{ISOMAX\_\-fifo\-Read}}
void \hyperlink{ISOMAX_8h_a33}{ISOMAX\_\-fifo\-Read} (unsigned short $\ast$buf)}
\label{ISOMAX_8h_a33}

\begin{CompactList}\small\item\em Receive a series of telemtery frames from the FIFO.\item\end{CompactList}\item 
\hypertarget{ISOMAX_8h_a34}{
\index{ISOMAX_cmdRead@{ISOMAX\_\-cmdRead}!ISOMAX.h@{ISOMAX.h}}\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_cmdRead@{ISOMAX\_\-cmd\-Read}}
unsigned short \hyperlink{ISOMAX_8h_a34}{ISOMAX\_\-cmd\-Read} (void)}
\label{ISOMAX_8h_a34}

\begin{CompactList}\small\item\em Get the command word value.\item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
ISOMAX Frame Sync Board Inteface Library.

 

 The NASA/GSFC ISOMAX telemetry frame sync board provides simple command and telemetry services in a PC104 form factor board.

For use with the MV2x series VME boards, the ISOMAX frame sync board  is mated with a Dynatem DPC104 VME-to-PC104 bus bridge board. The DPC104  card maps the ISOMAX register port addresses into the A16 VME address  space. Also, the DPC104 board maps the ISOMAX interrupt levels onto VME interrupt vectors.

{\bf  COMMANDS\par
 }

The ISOMAX frame sync board is able to receive the 16-bit data command word from the NASA/NSBF CIP. The reception of a command strobe from the CIP generates an interrupt to vector ISOMAX\_\-VEC\_\-CMD. The 16-bit command word may then be read by calling \hyperlink{ISOMAX_8h_a34}{ISOMAX\_\-cmd\-Read}(). The command buffer is only one deep, so available commands should be serviced promptly.

{\bf  TELEMETRY\par
 }

The ISOMAX frame sync board is able to provide a simple telemetry system. Each board is capable of either transmitting or receiving fixed sized telemetry frames 128 bytes in size (ISOMAX\_\-FRAME\_\-SIZE). The telemetry frames are sent as a serial stream encoded in either NRZ or BI-PHASE formats. The transmission bit rate is commandable if the board is configured in transmit mode. The receive side board must be provided with a bit  rate clock to recover the serial data. The ISOMAX frame sync boards can operate at a bit rate up to 1 Mb (ISOMAX\_\-MAX\_\-RATE).

The ISOMAX frame sync board provides a 2 KB FIFO to buffer the telemetry data. The boards do minimal formatting on the data. The user must provide the frames pre-formatted on the transmit side. Each frame is viewed as an array of 64 16-bit words (ISOMAX\_\-FRAME\_\-WORDS):\par




\footnotesize\begin{verbatim}
        
                                -----------------------------------------
                                |   Frame Sync Word = 0xeb90 (1 word)   |
                                -----------------------------------------
                                |                                       |
                                |                                       |
                                |                                       |
                                |                                       |
                                |                                       |
                                |                                       |
                                |          Frame Data Words             |
                                |            (62 words)                 |
                                |                                       |
                                |                                       |
                                |                                       |
                                |                                       |
                                |                                       |
                                |                                       |
                                -----------------------------------------
                                |        Checksum Word (1 word)         |
                                -----------------------------------------
                                
        \end{verbatim}\normalsize 


Every telemetry frame must begin with one 16-bit word set to 0xeb90 (ISOMAX\_\-SYNC\_\-WORD). The next 62 (ISOMAX\_\-DATA\_\-WORDS) 16-bit words are user data which the ISOMAX boards ignore. Finally, every telemetry frame ends with a 16-bit checksum word.

If the ISOMAX frame sync board is configured as a transmitter, the the user must provide a series of 8 (ISOMAX\_\-FIFO\_\-FRAMES) for the \hyperlink{ISOMAX_8h_a32}{ISOMAX\_\-fifo\-Write}() function. The frames must be headed by a frame sync word and have the user data following. The \hyperlink{ISOMAX_8h_a32}{ISOMAX\_\-fifo\-Write}() will fill half of the telemetry FIFO. The ISOMAX frame sync board will generate interrupt  vector ISOMAX\_\-VEC\_\-FIFO when the telemtry FIFO is at least half empty and ready to accept more frames. The telemetry transmit FIFO interrupts  should be servived promptly to prevent FIFO underflow.

If the ISOMAX frame sync board is configured as a receiver, the board will scan the incomming serial stream looking for the frame sync word value. Once found, the board will fill the telemetry FIFO with the incomming frames as long as the frame sync words are found at the proper locations in the serial stream. The ISOMAX board will generate interrupt vector ISOMAX\_\-VEC\_\-FIFO when the telemetry FIFO is at least half full and ready for a read. The function \hyperlink{ISOMAX_8h_a33}{ISOMAX\_\-fifo\-Read}() will return 8 (ISOMAX\_\-FIFO\_\-FRAMES) from the FIFO. The returned frames will still contain the frame sync words and checksum words. It is the user's resposibility to extract the data portion of the frames. The telemetry receive FIFO interrupts should be servived promptly to prevent FIFO overflow.

{\bf  CONFIGURATION\par
 }

The function \hyperlink{ISOMAX_8h_a27}{ISOMAX\_\-configure}() sets the operaing mode of an ISOMAX frame sync board. Four modes are available



 \begin{TabularC}{3}
\hline
 Mode Number & Macro & Description  \\\hline
 0 & ISOMAX\_\-MODE\_\-TX & Transmit user telemetry frames  \\\hline
 1 & ISOMAX\_\-MODE\_\-RX & Receive user telemetry frames  \\\hline
 2 & ISOMAX\_\-MODE\_\-TX\_\-TEST & Transmit test frames  \\\hline
 3 & ISOMAX\_\-MODE\_\-RX\_\-TEST & Simulate reception of test frames

\\\hline
\end{TabularC}


The user telemetry modes ISOMAX\_\-MODE\_\-TX and ISOMAX\_\-MODE\_\-RX are as described above. The test modes ISOMAX\_\-MODE\_\-TX\_\-TEST and ISOMAX\_\-MODE\_\-RX\_\-TEST use a test pattern to verify the basic operation of the boards. In mode ISOMAX\_\-MODE\_\-TX\_\-TEST, the test pattern is transmitted with no other user intervension. In mode ISOMAX\_\-MODE\_\-RX\_\-TEST, the ISOMAX frame sync board pushes the test pattern into the telemetry FIFO as if it received the data stream from a transmitter.



\subsection{Define Documentation}
\hypertarget{ISOMAX_8h_a11}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_CHECKSUM_OFFSET@{ISOMAX\_\-CHECKSUM\_\-OFFSET}}
\index{ISOMAX_CHECKSUM_OFFSET@{ISOMAX\_\-CHECKSUM\_\-OFFSET}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-CHECKSUM\_\-OFFSET]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-CHECKSUM\_\-OFFSET\ 63}}
\label{ISOMAX_8h_a11}


The offset in 16-bit words of the ISOMAX telemetry frame checksum word  from the beginning of the frame. \hypertarget{ISOMAX_8h_a8}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_CHECKSUM_WORD@{ISOMAX\_\-CHECKSUM\_\-WORD}}
\index{ISOMAX_CHECKSUM_WORD@{ISOMAX\_\-CHECKSUM\_\-WORD}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-CHECKSUM\_\-WORD]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-CHECKSUM\_\-WORD\ 0x0000}}
\label{ISOMAX_8h_a8}


The value of the ISOMAX telemetry frame checksum word if no errors have occurred. This 16-bit word appears as the last word of every frame. \hypertarget{ISOMAX_8h_a10}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_DATA_OFFSET@{ISOMAX\_\-DATA\_\-OFFSET}}
\index{ISOMAX_DATA_OFFSET@{ISOMAX\_\-DATA\_\-OFFSET}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-DATA\_\-OFFSET]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-DATA\_\-OFFSET\ 1}}
\label{ISOMAX_8h_a10}


The offset in 16-bit words of the first word of user data from the beginning of the ISOMAX telemetry frame. \hypertarget{ISOMAX_8h_a1}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_DATA_SIZE@{ISOMAX\_\-DATA\_\-SIZE}}
\index{ISOMAX_DATA_SIZE@{ISOMAX\_\-DATA\_\-SIZE}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-DATA\_\-SIZE]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-DATA\_\-SIZE\ (ISOMAX\_\-FRAME\_\-SIZE - 4)}}
\label{ISOMAX_8h_a1}


The size in bytes of the user data section of the ISOMAX telemetry frame. \hypertarget{ISOMAX_8h_a4}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_DATA_WORDS@{ISOMAX\_\-DATA\_\-WORDS}}
\index{ISOMAX_DATA_WORDS@{ISOMAX\_\-DATA\_\-WORDS}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-DATA\_\-WORDS]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-DATA\_\-WORDS\ (ISOMAX\_\-DATA\_\-SIZE / sizeof(unsigned short))}}
\label{ISOMAX_8h_a4}


The number of 16-bit words in the user data section of the ISOMAX  telemetry frame. \hypertarget{ISOMAX_8h_a6}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_FIFO_FRAMES@{ISOMAX\_\-FIFO\_\-FRAMES}}
\index{ISOMAX_FIFO_FRAMES@{ISOMAX\_\-FIFO\_\-FRAMES}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-FIFO\_\-FRAMES]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-FIFO\_\-FRAMES\ (ISOMAX\_\-FIFO\_\-SIZE / ISOMAX\_\-FRAME\_\-SIZE)}}
\label{ISOMAX_8h_a6}


The number frames that occupy one-half of the telemetry FIFO. \hypertarget{ISOMAX_8h_a2}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_FIFO_SIZE@{ISOMAX\_\-FIFO\_\-SIZE}}
\index{ISOMAX_FIFO_SIZE@{ISOMAX\_\-FIFO\_\-SIZE}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-FIFO\_\-SIZE]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-FIFO\_\-SIZE\ 1024}}
\label{ISOMAX_8h_a2}


The size in bytes of the telemetry frame FIFO divided by 2. This value is used to determine the size of reads and writes to the FIFO. \hypertarget{ISOMAX_8h_a5}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_FIFO_WORDS@{ISOMAX\_\-FIFO\_\-WORDS}}
\index{ISOMAX_FIFO_WORDS@{ISOMAX\_\-FIFO\_\-WORDS}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-FIFO\_\-WORDS]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-FIFO\_\-WORDS\ (ISOMAX\_\-FIFO\_\-SIZE / sizeof(unsigned short))}}
\label{ISOMAX_8h_a5}


The number of 16-bit words in telemetry frame FIFO divided by 2. \hypertarget{ISOMAX_8h_a0}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_FRAME_SIZE@{ISOMAX\_\-FRAME\_\-SIZE}}
\index{ISOMAX_FRAME_SIZE@{ISOMAX\_\-FRAME\_\-SIZE}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-FRAME\_\-SIZE]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-FRAME\_\-SIZE\ 128}}
\label{ISOMAX_8h_a0}


The size in bytes of the complete ISOMAX telemetry hardware frame. \hypertarget{ISOMAX_8h_a3}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_FRAME_WORDS@{ISOMAX\_\-FRAME\_\-WORDS}}
\index{ISOMAX_FRAME_WORDS@{ISOMAX\_\-FRAME\_\-WORDS}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-FRAME\_\-WORDS]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-FRAME\_\-WORDS\ (ISOMAX\_\-FRAME\_\-SIZE / sizeof(unsigned short))}}
\label{ISOMAX_8h_a3}


The number of 16-bit words in the complete ISOMAX telemetry hardware frame. \hypertarget{ISOMAX_8h_a12}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_MAX_RATE@{ISOMAX\_\-MAX\_\-RATE}}
\index{ISOMAX_MAX_RATE@{ISOMAX\_\-MAX\_\-RATE}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-MAX\_\-RATE]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-MAX\_\-RATE\ 1000000}}
\label{ISOMAX_8h_a12}


The maximum telemetry transmission rate in bits / second. \hypertarget{ISOMAX_8h_a21}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_MODE_RX@{ISOMAX\_\-MODE\_\-RX}}
\index{ISOMAX_MODE_RX@{ISOMAX\_\-MODE\_\-RX}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-MODE\_\-RX]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-MODE\_\-RX\ 1}}
\label{ISOMAX_8h_a21}


ISOMAX Configuration Mode: The board receives data into the telemetry FIFO. \hypertarget{ISOMAX_8h_a23}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_MODE_RX_TEST@{ISOMAX\_\-MODE\_\-RX\_\-TEST}}
\index{ISOMAX_MODE_RX_TEST@{ISOMAX\_\-MODE\_\-RX\_\-TEST}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-MODE\_\-RX\_\-TEST]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-MODE\_\-RX\_\-TEST\ 3}}
\label{ISOMAX_8h_a23}


ISOMAX Configuration Mode: The board injects a test pattern into the telemetry FIFO. \hypertarget{ISOMAX_8h_a20}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_MODE_TX@{ISOMAX\_\-MODE\_\-TX}}
\index{ISOMAX_MODE_TX@{ISOMAX\_\-MODE\_\-TX}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-MODE\_\-TX]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-MODE\_\-TX\ 0}}
\label{ISOMAX_8h_a20}


ISOMAX Configuration Mode: The board transmits data writen to the telemetry FIFO. \hypertarget{ISOMAX_8h_a22}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_MODE_TX_TEST@{ISOMAX\_\-MODE\_\-TX\_\-TEST}}
\index{ISOMAX_MODE_TX_TEST@{ISOMAX\_\-MODE\_\-TX\_\-TEST}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-MODE\_\-TX\_\-TEST]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-MODE\_\-TX\_\-TEST\ 2}}
\label{ISOMAX_8h_a22}


ISOMAX Configuration Mode: The board transmits a test pattern. \hypertarget{ISOMAX_8h_a16}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_STATUS_CMD@{ISOMAX\_\-STATUS\_\-CMD}}
\index{ISOMAX_STATUS_CMD@{ISOMAX\_\-STATUS\_\-CMD}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-STATUS\_\-CMD]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-STATUS\_\-CMD\ 0x10}}
\label{ISOMAX_8h_a16}


ISOMAX Hardware Staus Bit Mask: A command word has been received. \hypertarget{ISOMAX_8h_a15}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_STATUS_CRC@{ISOMAX\_\-STATUS\_\-CRC}}
\index{ISOMAX_STATUS_CRC@{ISOMAX\_\-STATUS\_\-CRC}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-STATUS\_\-CRC]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-STATUS\_\-CRC\ 0x04}}
\label{ISOMAX_8h_a15}


ISOMAX Hardware Staus Bit Mask: The checksum for the current telemetry frame is being caculated. \hypertarget{ISOMAX_8h_a18}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_STATUS_FIFO_E@{ISOMAX\_\-STATUS\_\-FIFO\_\-E}}
\index{ISOMAX_STATUS_FIFO_E@{ISOMAX\_\-STATUS\_\-FIFO\_\-E}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-STATUS\_\-FIFO\_\-E]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-STATUS\_\-FIFO\_\-E\ 0x40}}
\label{ISOMAX_8h_a18}


ISOMAX Hardware Staus Bit Mask: The telemetry FIFO is empty. \hypertarget{ISOMAX_8h_a19}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_STATUS_FIFO_F@{ISOMAX\_\-STATUS\_\-FIFO\_\-F}}
\index{ISOMAX_STATUS_FIFO_F@{ISOMAX\_\-STATUS\_\-FIFO\_\-F}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-STATUS\_\-FIFO\_\-F]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-STATUS\_\-FIFO\_\-F\ 0x80}}
\label{ISOMAX_8h_a19}


ISOMAX Hardware Staus Bit Mask: The telemetry FIFO is full. \hypertarget{ISOMAX_8h_a17}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_STATUS_FIFO_HF@{ISOMAX\_\-STATUS\_\-FIFO\_\-HF}}
\index{ISOMAX_STATUS_FIFO_HF@{ISOMAX\_\-STATUS\_\-FIFO\_\-HF}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-STATUS\_\-FIFO\_\-HF]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-STATUS\_\-FIFO\_\-HF\ 0x20}}
\label{ISOMAX_8h_a17}


ISOMAX Hardware Staus Bit Mask: The telemetry FIFO is at least half full. \hypertarget{ISOMAX_8h_a14}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_STATUS_TEST@{ISOMAX\_\-STATUS\_\-TEST}}
\index{ISOMAX_STATUS_TEST@{ISOMAX\_\-STATUS\_\-TEST}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-STATUS\_\-TEST]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-STATUS\_\-TEST\ 0x02}}
\label{ISOMAX_8h_a14}


ISOMAX Hardware Staus Bit Mask: The board is configured in test mode. \hypertarget{ISOMAX_8h_a13}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_STATUS_TX@{ISOMAX\_\-STATUS\_\-TX}}
\index{ISOMAX_STATUS_TX@{ISOMAX\_\-STATUS\_\-TX}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-STATUS\_\-TX]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-STATUS\_\-TX\ 0x01}}
\label{ISOMAX_8h_a13}


ISOMAX Hardware Staus Bit Mask: The board is configured in trasmit mode. \hypertarget{ISOMAX_8h_a9}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_SYNC_OFFSET@{ISOMAX\_\-SYNC\_\-OFFSET}}
\index{ISOMAX_SYNC_OFFSET@{ISOMAX\_\-SYNC\_\-OFFSET}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-SYNC\_\-OFFSET]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-SYNC\_\-OFFSET\ 0}}
\label{ISOMAX_8h_a9}


The offset in 16-bit words of the ISOMAX telemetry frame sync word from the beginning of the frame. \hypertarget{ISOMAX_8h_a7}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_SYNC_WORD@{ISOMAX\_\-SYNC\_\-WORD}}
\index{ISOMAX_SYNC_WORD@{ISOMAX\_\-SYNC\_\-WORD}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-SYNC\_\-WORD]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-SYNC\_\-WORD\ 0xeb90}}
\label{ISOMAX_8h_a7}


The value of the ISOMAX telemetry frame sync word. This 16-bit word appears as the first word of every frame. \hypertarget{ISOMAX_8h_a25}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_VEC_CMD@{ISOMAX\_\-VEC\_\-CMD}}
\index{ISOMAX_VEC_CMD@{ISOMAX\_\-VEC\_\-CMD}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-VEC\_\-CMD]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-VEC\_\-CMD\ (DPC104\_\-VME\_\-INT\_\-VEC\_\-BASE + 10)}}
\label{ISOMAX_8h_a25}


ISOMAX Interrupt Vector: The vector number of the command available interrupt. \hypertarget{ISOMAX_8h_a24}{
\index{ISOMAX.h@{ISOMAX.h}!ISOMAX_VEC_FIFO@{ISOMAX\_\-VEC\_\-FIFO}}
\index{ISOMAX_VEC_FIFO@{ISOMAX\_\-VEC\_\-FIFO}!ISOMAX.h@{ISOMAX.h}}
\subsubsection[ISOMAX\_\-VEC\_\-FIFO]{\setlength{\rightskip}{0pt plus 5cm}\#define ISOMAX\_\-VEC\_\-FIFO\ (DPC104\_\-VME\_\-INT\_\-VEC\_\-BASE + 5)}}
\label{ISOMAX_8h_a24}


ISOMAX Interrupt Vector: The vector number of the telemetry FIFO half-full interrupt. 