areaDetector
3-13
EPICS areaDetector framework
|
#include <stddef.h>
#include <stdlib.h>
#include <stdarg.h>
#include <math.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <epicsEvent.h>
#include <epicsString.h>
#include <epicsStdio.h>
#include <epicsMutex.h>
#include <osiSock.h>
#include <iocsh.h>
#include <asynOctetSyncIO.h>
#include <asynCommonSyncIO.h>
#include "ADDriver.h"
#include "PIXIEII_data_utilities_v2.h"
#include <epicsExport.h>
Classes | |
class | pixirad |
Driver for PiXirad pixel array detectors using their server server over TCP/IP socket. More... | |
Enumerations | |
enum | PixiradTriggerMode_t { TMInternal , TMExternal , TMBulb } |
Trigger modes. More... | |
enum | PixiradCoolingState_t { CoolingOff , CoolingOn } |
Cooling state. More... | |
enum | PixiradCoolingStatus_t { TSOK , TSDewPointWarning , TSDewPointError , TSTHotWarning , TSTHotError , TSTColdWarning , TSTColdError } |
Temperature status. More... | |
enum | PixiradHVState_t { HVOff , HVOn } |
High voltage state. More... | |
enum | PixiradHVMode_t { HVManual , HVAuto } |
High voltage mode. More... | |
enum | PixiradSyncPolarity_t { SyncPos , SyncNeg } |
Sync in/out polarity. More... | |
enum | PixiradSyncOutFunction_t { SyncOutShutter , SyncOutReadoutDone , SyncOutRead } |
Sync out function. More... | |
enum | PixiradFrameType_t { FTOneColorLow , FTOneColorHigh , FTTwoColors , FTFourColors , FTOneColorDTF , FTTwoColorsDTF } |
Frame type. More... | |
enum | PixiradCountModeType_t { RM_Normal , RM_NPI , RM_NPI_SUM } |
Functions | |
int | pixiradConfig (const char *portName, const char *commandPort, int dataPortNumber, int statusPortNumber, int maxDataPortBuffers, int maxSizeX, int maxSizeY, int maxBuffers, size_t maxMemory, int priority, int stackSize) |
int | pixiradAutoCal (const char *portName, int ofs0, int fs0, int ofs2, int fs1, int fs2, int ibias, int vbgMcalDAC) |
epicsExportRegistrar (pixiradRegister) | |
#define AUTOCAL_DATA 0x40 |
#define DAQ_PACKET_FRAGMENT 45 |
#define DETECTOR_RESET_TIME 5.0 |
#define DEW_POINT_ERROR 0 |
#define DEW_POINT_WARNING 3 |
#define DRIVER_MODIFICATION 0 |
#define DRIVER_REVISION 2 |
#define DRIVER_VERSION 2 |
#define DUMMY_0_OFFSET 0 |
#define DUMMY_1_OFFSET 8 |
#define EXTDAC_LSB 0.000781 |
#define FIRST_PIXIRAD_PARAM PixiradSystemReset |
#define FRAME_HAS_ALIGN_ERRORS 0x20 |
#define INITIAL_COOLING_STATE CoolingOn |
#define INITIAL_COOLING_VALUE 15 |
#define INITIAL_HV_MODE HVAuto |
#define INITIAL_HV_STATE HVOn |
#define INITIAL_HV_VALUE 350 |
#define INT_DAC_STEPS 32 |
#define LAST_PIXIRAD_PARAM PixiradPeltierPower |
#define MAX_MESSAGE_SIZE 256 |
Messages to/from server.
#define MAX_STATUS_PARAMS 7 |
#define MAX_UDP_DATA_BUFFER 256217728 |
#define MAX_UDP_PACKET_LEN 1448 |
#define NUM_PIXIRAD_PARAMS ((int)(&LAST_PIXIRAD_PARAM - &FIRST_PIXIRAD_PARAM + 1)) |
#define NUM_THRESHOLDS 5 |
#define PACKET_CRC_BYTES 4 |
#define PACKET_EXTRA_BYTES (PACKET_ID_BYTES + PACKET_TAG_BYTES + PACKET_CRC_BYTES) |
#define PACKET_ID_BYTES 2 |
#define PACKET_ID_OFFSET 2 |
#define PACKET_SENSOR_DATA_BYTES (MAX_UDP_PACKET_LEN - PACKET_EXTRA_BYTES) |
#define PACKET_SENSOR_DATA_OFFSET (PACKET_TAG_BYTES + PACKET_ID_BYTES) |
#define PACKET_TAG_BYTES 2 |
#define PACKET_TAG_OFFSET 0 |
#define PIII_P0 494.70 |
#define PIII_P1 19.36 |
#define PIXIE_THDAC_MASK 0x1f |
#define PIXIE_THDAC_OFFSET 0 |
#define PIXIE_THDAC_OFFSET 0 |
#define PIXIEII_MODULES 1 |
#define PixiradAutoCalibrateString "AUTO_CALIBRATE" |
#define PixiradBoxHumidityString "BOX_HUMIDITY" |
#define PixiradBoxTemperatureString "BOX_TEMPERATURE" |
#define PixiradColorsCollectedString "COLORS_COLLECTED" |
#define PixiradCoolingStateString "COOLING_STATE" |
#define PixiradCoolingStatusString "COOLING_STATUS" |
#define PixiradCountModeString "COUNT_MODE" |
#define PixiradDewPointString "DEW_POINT" |
#define PixiradHitThreshActualString "HIT_THRESHOLD_ACTUAL" |
#define PixiradHitThreshString "HIT_THRESHOLD" |
#define PixiradHotTemperatureString "HOT_TEMPERATURE" |
#define PixiradHVActualString "HV_ACTUAL" |
#define PixiradHVCurrentString "HV_CURRENT" |
#define PixiradHVModeString "HV_MODE" |
#define PixiradHVStateString "HV_STATE" |
#define PixiradHVValueString "HV_VALUE" |
#define PixiradPeltierPowerString "PELTIER_POWER" |
#define PixiradSyncInPolarityString "SYNC_IN_POLARITY" |
#define PixiradSyncOutFunctionString "SYNC_OUT_FUNCTION" |
#define PixiradSyncOutPolarityString "SYNC_OUT_POLARITY" |
#define PixiradSystemInfoString "SYSTEM_INFO" |
#define PixiradSystemResetString "SYSTEM_RESET" |
#define PixiradThresh1String "THRESHOLD1" |
#define PixiradThresh2String "THRESHOLD2" |
#define PixiradThresh3String "THRESHOLD3" |
#define PixiradThresh4String "THRESHOLD4" |
#define PixiradThreshActual1String "THRESHOLD_ACTUAL1" |
#define PixiradThreshActual2String "THRESHOLD_ACTUAL2" |
#define PixiradThreshActual3String "THRESHOLD_ACTUAL3" |
#define PixiradThreshActual4String "THRESHOLD_ACTUAL4" |
#define PixiradUDPBuffersFreeString "UDP_BUFFERS_FREE" |
#define PixiradUDPBuffersMaxString "UDP_BUFFERS_MAX" |
#define PixiradUDPBuffersReadString "UDP_BUFFERS_READ" |
#define PixiradUDPSpeedString "UDP_SPEED" |
#define SERVER_DEFAULT_TIMEOUT 1.0 |
#define TCOLD_ERROR 40 |
#define TCOLD_WARNING 30 |
#define THOT_ERROR 50 |
#define THOT_WARNING 40 |
#define THRESH_A_COEFF 36.6 |
#define THRESH_B_COEFF 39.3 |
#define VAGND 0.6 |
#define VTH1_ACCURACY 0.001 |
#define VTHMAX_DECR_STEP 1 |
#define VTHMAX_LOWER_LIMIT 1000 |
#define VTHMAX_MAX_ITERATIONS 2000 |
#define VTHMAX_UPPER_LIMIT 2200 |
enum PixiradFrameType_t |
enum PixiradHVMode_t |
enum PixiradHVState_t |
enum PixiradTriggerMode_t |
epicsExportRegistrar | ( | pixiradRegister | ) |
int pixiradAutoCal | ( | const char * | portName, |
int | ofs0, | ||
int | fs0, | ||
int | ofs2, | ||
int | fs1, | ||
int | fs2, | ||
int | ibias, | ||
int | vbgMcalDAC | ||
) |
int pixiradConfig | ( | const char * | portName, |
const char * | commandPort, | ||
int | dataPortNumber, | ||
int | statusPortNumber, | ||
int | maxDataPortBuffers, | ||
int | maxSizeX, | ||
int | maxSizeY, | ||
int | maxBuffers, | ||
size_t | maxMemory, | ||
int | priority, | ||
int | stackSize | ||
) |