LLC2_API
Classes | Defines | Typedefs | Functions | Variables
ll2.cpp File Reference

API implementation for LOWLATENCY2. More...

#include "local.h"
#include <assert.h>
#include <popt.h>
#include <stdlib.h>
#include <map>
#include <iostream>
#include <fstream>
#include <string>
#include "acq32ioctl.h"
#include "acq32busprot.h"
#include "llif.h"
#include "llprotocol.h"
#include "ll2.h"
#include "llcontrol.h"
#include "llcontrol-core.h"
#include "xmlParser.h"

Go to the source code of this file.

Classes

struct  ClientBufCursor
class  LL_ControlSystemI
 concrete implementation, private to this module. More...
class  UnixQuery
class  Date
class  Host
class  User

Defines

#define VERID   "ll2 B1003"
#define FOREACH(ii, vec)   for (int lim = vec.size(), ii = 0; ii != lim; ++ii)
#define STATUS_COUNT   16
#define STATUS_LEN   (STATUS_COUNT*sizeof(u32))
#define AO32_AO_COUNT   32
#define AO32_AO_SIZE   (AO32_AO_COUNT*sizeof(short))
#define AO32_AO_PAIRS   (AO32_AO_COUNT/2)
#define AO32_DO_SIZE   8
#define NL   "\n"
#define HELP
#define OFFSET   0

Typedefs

typedef vector
< ClientBufCursor * >
::iterator 
CBI

Functions

static const char * IO (enum IO io)
char * indent (int level)
static void setEdge (int *flag, const char *arg)
void makeIntMasks (TestDescription *td, const char *mask_on)
template<class T >
void deleteClear (vector< T * > &vec)
const char * getAttribute (XMLNode &node, const char *attribute)
static char * newstr (const char *oldstr)
static int makeArgs (const XMLNode &runtime, char ***p_argv)

Variables

int monitor = 0
static std::map< int, ACQ_Card * > __slots
XMLSTR stuff
ofstream xml
bool suppress_resource_init = false

Detailed Description

API implementation for LOWLATENCY2.

Definition in file ll2.cpp.


Define Documentation

#define AO32_AO_COUNT   32

Definition at line 136 of file ll2.cpp.

#define AO32_AO_PAIRS   (AO32_AO_COUNT/2)

Definition at line 138 of file ll2.cpp.

Referenced by AO32::putDO().

#define AO32_AO_SIZE   (AO32_AO_COUNT*sizeof(short))

Definition at line 137 of file ll2.cpp.

Referenced by AO32::putAO().

#define AO32_DO_SIZE   8

Definition at line 139 of file ll2.cpp.

Referenced by AO32::putDO().

#define FOREACH (   ii,
  vec 
)    for (int lim = vec.size(), ii = 0; ii != lim; ++ii)
#define HELP
Value:
"llcontrol [opts] mode \n"\
                "\n"\
                "opts:\n"\
                "    -v verbose  verbose output\n"\
                "    -d decimation {0..15} [default:1]\n"\
                "    -n iterations [default:1]\n"\
                "    -T {+,-} trigger edge [default:-]\n"\
                "    -C {+,-} clock edge   [default:-]\n"\
                "    -M <mask> use this interrupt mask\n"\
                ""

Definition at line 606 of file ll2.cpp.

Referenced by LL_ControlSystemI::init().

#define NL   "\n"

Definition at line 490 of file ll2.cpp.

#define OFFSET   0

Definition at line 799 of file ll2.cpp.

Referenced by LL_ControlSystemI::Arm().

#define STATUS_COUNT   16

Definition at line 123 of file ll2.cpp.

Referenced by ACQ196::getStatus(), and ACQ196::getStatus_count().

#define STATUS_LEN   (STATUS_COUNT*sizeof(u32))

Definition at line 124 of file ll2.cpp.

Referenced by ACQ196::getStatus().

#define VERID   "ll2 B1003"

Definition at line 52 of file ll2.cpp.

Referenced by LL_ControlSystemI::init().


Typedef Documentation

typedef vector<ClientBufCursor*>::iterator CBI

Definition at line 169 of file ll2.cpp.


Function Documentation

template<class T >
void deleteClear ( vector< T * > &  vec)

Definition at line 881 of file ll2.cpp.

References FOREACH.

const char* getAttribute ( XMLNode node,
const char *  attribute 
)

Definition at line 906 of file ll2.cpp.

References XMLNode::getAttribute(), and XMLNode::getName().

Referenced by LL_ControlSystem::createFromFile().

char* indent ( int  level)

Definition at line 375 of file ll2.cpp.

static const char* IO ( enum IO  io) [static]

Definition at line 61 of file ll2.cpp.

References AI, AO, DI, DO, and ST.

static int makeArgs ( const XMLNode runtime,
char ***  p_argv 
) [static]

three possibilities, all work: --key --key value value

Definition at line 921 of file ll2.cpp.

References XMLNode::getAttribute(), XMLNode::getChildNode(), XMLNode::nChildNode(), and newstr().

Referenced by LL_ControlSystem::createFromFile().

void makeIntMasks ( TestDescription td,
const char *  mask_on 
)
static char* newstr ( const char *  oldstr) [static]

Definition at line 917 of file ll2.cpp.

Referenced by makeArgs().

static void setEdge ( int *  flag,
const char *  arg 
) [static]

Definition at line 650 of file ll2.cpp.

Referenced by LL_ControlSystemI::init().


Variable Documentation

std::map<int, ACQ_Card*> __slots [static]

Definition at line 74 of file ll2.cpp.

Referenced by ACQ_Card::getCard(), and ACQ_Card::registerCard().

int monitor = 0

Definition at line 58 of file ll2.cpp.

Referenced by LL_ControlSystemI::Arm(), and LL_ControlSystemI::init().

XMLSTR stuff

Definition at line 171 of file ll2.cpp.

Referenced by LL_ControlSystem::createFromFile().

bool suppress_resource_init = false

Definition at line 618 of file ll2.cpp.

Referenced by LL_ControlSystemI::init(), and ACQ196::init().

ofstream xml

Definition at line 389 of file ll2.cpp.