quadEM  7-0
Macros | Enumerations | Functions
drvNSLS_EM.cpp File Reference
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <math.h>
#include <epicsTypes.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <epicsString.h>
#include <epicsEvent.h>
#include <asynOctetSyncIO.h>
#include <asynCommonSyncIO.h>
#include <drvAsynIPPort.h>
#include <iocsh.h>
#include <epicsExport.h>
#include "drvNSLS_EM.h"

Macros

#define BROADCAST_TIMEOUT   0.2
 
#define NSLS_EM_TIMEOUT   0.1
 
#define COMMAND_PORT   4747
 
#define DATA_PORT   5757
 
#define BROADCAST_PORT   37747
 
#define MIN_INTEGRATION_TIME   400e-6
 
#define MAX_INTEGRATION_TIME   1.0
 
#define FREQUENCY   1e6
 
#define MAX_COUNTS   1048576.0
 

Enumerations

enum  PingPongValue_t {
  PingValue, PongValue, AverageValue, Phase0,
  Phase1, PhaseBoth
}
 

Functions

int drvNSLS_EMConfigure (const char *portName, const char *broadcastAddress, int moduleID, int ringBufferSize)
 EPICS iocsh callable function to call constructor for the drvNSLS_EM class. More...
 
void drvNSLS_EMRegister (void)
 
 epicsExportRegistrar (drvNSLS_EMRegister)
 

Macro Definition Documentation

#define BROADCAST_PORT   37747
#define BROADCAST_TIMEOUT   0.2
#define COMMAND_PORT   4747
#define DATA_PORT   5757
#define FREQUENCY   1e6
#define MAX_COUNTS   1048576.0
#define MAX_INTEGRATION_TIME   1.0
#define MIN_INTEGRATION_TIME   400e-6
#define NSLS_EM_TIMEOUT   0.1

Enumeration Type Documentation

Enumerator
PingValue 
PongValue 
AverageValue 
Phase0 
Phase1 
PhaseBoth 

Function Documentation

int drvNSLS_EMConfigure ( const char *  portName,
const char *  broadcastAddress,
int  moduleID,
int  ringBufferSize 
)

EPICS iocsh callable function to call constructor for the drvNSLS_EM class.

Parameters
[in]portNameThe name of the asyn port driver to be created.
[in]broadcastAddressThe broadcast address of the network with this module
[in]moduleIDThe module ID of this module, set with rotary switch on module
[in]ringBufferSizeThe number of samples to hold in the input ring buffer. This should be large enough to hold all the samples between reads of the device, e.g. 1 ms SampleTime and 1 second read rate = 1000 samples. If 0 then default of 2048 is used.
void drvNSLS_EMRegister ( void  )
epicsExportRegistrar ( drvNSLS_EMRegister  )