areaDetector  3-5-0
EPICS areaDetector framework
Classes | Macros | Enumerations | Functions
mar345.cpp File Reference
#include <stddef.h>
#include <stdlib.h>
#include <stdarg.h>
#include <math.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <ctype.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <epicsEvent.h>
#include <epicsTimer.h>
#include <epicsMutex.h>
#include <epicsString.h>
#include <epicsStdio.h>
#include <cantProceed.h>
#include <iocsh.h>
#include <epicsExport.h>
#include <asynOctetSyncIO.h>
#include "ADDriver.h"
#include "mar3xx_pck.h"

Classes

class  mar345
 Driver for mar345 online image plate detector; communicates with the mar345dtb program over a TCP/IP socket. More...
 

Macros

#define MAX_MESSAGE_SIZE   256
 Messages to/from server. More...
 
#define MAX_FILENAME_LEN   256
 
#define MAR345_SOCKET_TIMEOUT   1.0
 
#define MAR345_COMMAND_TIMEOUT   180.0
 
#define MAR345_POLL_DELAY   .01
 
#define mar345EraseString   "MAR_ERASE"
 Driver-specific parameter strings for the mar345 driver. More...
 
#define mar345EraseModeString   "MAR_ERASE_MODE"
 
#define mar345NumEraseString   "MAR_NUM_ERASE"
 
#define mar345NumErasedString   "MAR_NUM_ERASED"
 
#define mar345ChangeModeString   "MAR_CHANGE_MODE"
 
#define mar345SizeString   "MAR_SIZE"
 
#define mar345ResString   "MAR_RESOLUTION"
 
#define mar345AbortString   "MAR_ABORT"
 
#define FIRST_MAR345_PARAM   mar345Erase
 
#define LAST_MAR345_PARAM   mar345Abort
 
#define NUM_MAR345_PARAMS   ((int)(&LAST_MAR345_PARAM - &FIRST_MAR345_PARAM + 1))
 

Enumerations

enum  mar345TriggerMode_t { TMInternal, TMExternal, TMAlignment }
 Trigger mode choices. More...
 
enum  mar345EraseMode_t { mar345EraseNone, mar345EraseBefore, mar345EraseAfter }
 Erase mode choices. More...
 
enum  mar345Size_t { mar345Size180, mar345Size240, mar345Size300, mar345Size345 }
 Readout size choices. More...
 
enum  mar345Res_t { mar345Res100, mar345Res150 }
 Resolution choices. More...
 
enum  mar345Mode_t { mar345ModeIdle, mar345ModeErase, mar345ModeAcquire, mar345ModeChange }
 Mode choices. More...
 
enum  mar345Status_t {
  mar345StatusIdle, mar345StatusExpose, mar345StatusScan, mar345StatusErase,
  mar345StatusChangeMode, mar345StatusAborting, mar345StatusError, mar345StatusWaiting
}
 Status choices. More...
 

Functions

int mar345Config (const char *portName, const char *serverPort, int maxBuffers, size_t maxMemory, int priority, int stackSize)
 
 epicsExportRegistrar (mar345Register)
 

Macro Definition Documentation

◆ FIRST_MAR345_PARAM

#define FIRST_MAR345_PARAM   mar345Erase

◆ LAST_MAR345_PARAM

#define LAST_MAR345_PARAM   mar345Abort

◆ MAR345_COMMAND_TIMEOUT

#define MAR345_COMMAND_TIMEOUT   180.0

◆ MAR345_POLL_DELAY

#define MAR345_POLL_DELAY   .01

◆ MAR345_SOCKET_TIMEOUT

#define MAR345_SOCKET_TIMEOUT   1.0

◆ mar345AbortString

#define mar345AbortString   "MAR_ABORT"

◆ mar345ChangeModeString

#define mar345ChangeModeString   "MAR_CHANGE_MODE"

◆ mar345EraseModeString

#define mar345EraseModeString   "MAR_ERASE_MODE"

◆ mar345EraseString

#define mar345EraseString   "MAR_ERASE"

Driver-specific parameter strings for the mar345 driver.

◆ mar345NumErasedString

#define mar345NumErasedString   "MAR_NUM_ERASED"

◆ mar345NumEraseString

#define mar345NumEraseString   "MAR_NUM_ERASE"

◆ mar345ResString

#define mar345ResString   "MAR_RESOLUTION"

◆ mar345SizeString

#define mar345SizeString   "MAR_SIZE"

◆ MAX_FILENAME_LEN

#define MAX_FILENAME_LEN   256

◆ MAX_MESSAGE_SIZE

#define MAX_MESSAGE_SIZE   256

Messages to/from server.

◆ NUM_MAR345_PARAMS

#define NUM_MAR345_PARAMS   ((int)(&LAST_MAR345_PARAM - &FIRST_MAR345_PARAM + 1))

Enumeration Type Documentation

◆ mar345EraseMode_t

Erase mode choices.

Enumerator
mar345EraseNone 
mar345EraseBefore 
mar345EraseAfter 

◆ mar345Mode_t

Mode choices.

Enumerator
mar345ModeIdle 
mar345ModeErase 
mar345ModeAcquire 
mar345ModeChange 

◆ mar345Res_t

Resolution choices.

Enumerator
mar345Res100 
mar345Res150 

◆ mar345Size_t

Readout size choices.

Enumerator
mar345Size180 
mar345Size240 
mar345Size300 
mar345Size345 

◆ mar345Status_t

Status choices.

Enumerator
mar345StatusIdle 
mar345StatusExpose 
mar345StatusScan 
mar345StatusErase 
mar345StatusChangeMode 
mar345StatusAborting 
mar345StatusError 
mar345StatusWaiting 

◆ mar345TriggerMode_t

Trigger mode choices.

Enumerator
TMInternal 
TMExternal 
TMAlignment 

Function Documentation

◆ epicsExportRegistrar()

epicsExportRegistrar ( mar345Register  )

◆ mar345Config()

int mar345Config ( const char *  portName,
const char *  serverPort,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize 
)