7#ifndef ngcdcsACQ_DATA_H
8#define ngcdcsACQ_DATA_H
12#error This is a C++ include file and cannot be used from plain C
79 evar = getenv(
"HOSTNAME");
81 else strcpy(
host,
"localhost");
284 void FrameParam(
char *paramName,
const char *name);
290 void SetRequest(
int sx,
int sy,
int nx,
int ny);
293 void SetRequest(
int ftype,
int sx,
int sy,
int nx,
int ny);
302 int Request(
int sx,
int sy,
int nx,
int ny);
305 int Request(
int ftype,
int sx,
int sy,
int nx,
int ny);
311 int Retransmit(
int sx,
int sy,
int nx,
int ny);
323 int GetFrame(
void *buffer,
int chipPid = 0);
326 int GetFrame(
void *buffer,
int sx,
int sy,
int nx,
int ny,
341 int Accept(
int sx,
int sy,
int nx,
int ny,
int flags=0);
344 int Receive(
void *buffer,
size_t offset,
size_t size);
353 void Scale(
void *buffer,
int nx,
int ny,
int *dataType,
int *divisor);
359 void Scale(
void *buffer);
362 void Cv16(
void *buffer);
ngcbOBJ()
Constructor.
Definition ngcbOBJ.cpp:34
Definition ngcbTHREAD.hpp:67
int AppDataSize()
Return application data size.
Definition ngcdcsACQ_DATA.cpp:1114
int GetFrame(void *buffer, int chipPid=0)
Get frame as it is.
Definition ngcdcsACQ_DATA.cpp:821
int Wait()
Wait for data event.
Definition ngcdcsACQ_DATA.cpp:575
int Receive(void *buffer, size_t offset, size_t size)
Receive frame data.
Definition ngcdcsACQ_DATA.cpp:701
void Configure(const ngcdcs_acq_cfg_t &newConf)
Overall configuration.
Definition ngcdcsACQ_DATA.cpp:75
int FrameCounter0()
Return frame counter start value.
Definition ngcdcsACQ_DATA.cpp:970
int FrameDef(ngcdcs_framedef_t *frameDef)
Currently defined frame types.
Definition ngcdcsACQ_DATA.cpp:253
int DataType()
Return data type.
Definition ngcdcsACQ_DATA.cpp:960
int Initialize()
Intialize data connection.
Definition ngcdcsACQ_DATA.cpp:99
int NX()
Return x-dimension.
Definition ngcdcsACQ_DATA.cpp:1014
int Kill(int id)
Kill data client.
Definition ngcdcsACQ_DATA.cpp:207
int Open()
Open data connection ngcppScale(frame);.
Definition ngcdcsACQ_DATA.cpp:130
int FrameCounter()
Return frame counter.
Definition ngcdcsACQ_DATA.cpp:965
int Error()
Return error code.
Definition ngcdcsACQ_DATA.cpp:1024
int Close()
Close data connection.
Definition ngcdcsACQ_DATA.cpp:186
void FrameParam(char *paramName, int ftype)
Get frame parameter by type.
Definition ngcdcsACQ_DATA.cpp:317
void Scale(ngcpp_frame_t *frame)
Apply scale factor.
Definition ngcdcsACQ_DATA.cpp:828
void FrameName(char *name, int ftype)
Get frame name by frame type.
Definition ngcdcsACQ_DATA.cpp:302
int StartX()
Return start pixel in x-direction.
Definition ngcdcsACQ_DATA.cpp:1004
ngcdcs_acq_cfg_t * Cfg()
Get pointer to configuration.
Definition ngcdcsACQ_DATA.cpp:94
int Valid()
Valid frame received.
Definition ngcdcsACQ_DATA.cpp:940
int NY()
Return y-dimension.
Definition ngcdcsACQ_DATA.cpp:1019
void SetRequest(int ftype)
Setup data request (type)
Definition ngcdcsACQ_DATA.cpp:352
int Request()
Send data request (same request again)
Definition ngcdcsACQ_DATA.cpp:383
char * AppData()
Return pointer to application data.
Definition ngcdcsACQ_DATA.cpp:1119
size_t NumPix()
Return number of pixels in frame.
Definition ngcdcsACQ_DATA.cpp:1054
int BitPix()
Return current bitpix-value.
Definition ngcdcsACQ_DATA.cpp:1078
int numDet
Number of detectors in mosaic.
Definition ngcdcsACQ_DATA.hpp:232
virtual ~ngcdcsACQ_DATA()
Destructor.
Definition ngcdcsACQ_DATA.cpp:42
int SetupId()
Return setup-id.
Definition ngcdcsACQ_DATA.cpp:999
int Retransmit()
Retransmit frame (same)
Definition ngcdcsACQ_DATA.cpp:527
double ExpFactor()
Return factor for EXPTIME.
Definition ngcdcsACQ_DATA.cpp:985
int Skip()
Skip data frame.
Definition ngcdcsACQ_DATA.cpp:598
int BZERO()
Return frame BZERO.
Definition ngcdcsACQ_DATA.cpp:980
int Fd()
Return data connection file descriptor.
Definition ngcdcsACQ_DATA.cpp:227
int FrameType()
Get current frame type.
Definition ngcdcsACQ_DATA.cpp:945
int DatumSize()
Return pixel datum size in bytes.
Definition ngcdcsACQ_DATA.cpp:1029
int FrameIdx()
Get index for current frame type.
Definition ngcdcsACQ_DATA.cpp:955
void Cv16(void *buffer)
Convert to 16 bit signed.
Definition ngcdcsACQ_DATA.cpp:916
int AvailableFrames()
Currently available frame types.
Definition ngcdcsACQ_DATA.cpp:347
int StartY()
Return start pixel in y-direction.
Definition ngcdcsACQ_DATA.cpp:1009
double TimeStamp()
Return MUDPI/RTMS timestamp (seconds since UNIX epoch)
Definition ngcdcsACQ_DATA.cpp:1083
int Accept(int flags=0)
Accept data frame (as is)
Definition ngcdcsACQ_DATA.cpp:615
int scale2float
Aways scale 32-bit integer to float.
Definition ngcdcsACQ_DATA.hpp:238
size_t FrameSize()
Return frame size in bytes.
Definition ngcdcsACQ_DATA.cpp:1066
int Divisor()
Return frame Divisor.
Definition ngcdcsACQ_DATA.cpp:975
ngcdcsACQ_DATA()
Constructor.
Definition ngcdcsACQ_DATA.cpp:27
int Cancel()
Cancel pending data request.
Definition ngcdcsACQ_DATA.cpp:535
int Transferring()
Return transferring flag.
Definition ngcdcsACQ_DATA.cpp:1090
int ioError
Flag for io-error.
Definition ngcdcsACQ_DATA.hpp:229
int Term()
Return termination flag.
Definition ngcdcsACQ_DATA.cpp:1102
int protocolVersion
Protocol version.
Definition ngcdcsACQ_DATA.hpp:235
Definition ngcdcsFINFO.hpp:285
#define ngcbDMA_DEFAULT_DEVICE
Definition ngcbDrv.h:49
#define str2str(s1, s2, n)
Definition ngcb.h:73
#define ngcppTMODE_SCIENCE
Definition ngcppInt.h:434
#define ngcppMAX_FRAME_TYPES
Definition ngcppInt.h:225
#define ngcppMAX_DEV
Definition ngcppInt.h:384
#define ngcppFRAME_ANY
Definition ngcppInt.h:230
Definition ngcdcsACQ_DATA.hpp:24
char dev[ngcppMAX_DEV][128]
Acquisition process DMA device name.
Definition ngcdcsACQ_DATA.hpp:53
ngcdcs_acq_cfg_t()
Constructor.
Definition ngcdcsACQ_DATA.hpp:65
int cmdPort
Optional command server port (default is zero)
Definition ngcdcsACQ_DATA.hpp:26
int numDataClient
Number of data clients.
Definition ngcdcsACQ_DATA.hpp:35
int transferMode
Data transfer mode.
Definition ngcdcsACQ_DATA.hpp:41
int dataPort
Optional data server port (default is zero)
Definition ngcdcsACQ_DATA.hpp:29
char host[64]
Acquisition process host.
Definition ngcdcsACQ_DATA.hpp:50
char name[64]
Optional name.
Definition ngcdcsACQ_DATA.hpp:59
int joinerDelay
Multicast joiner delay (microsecodns)
Definition ngcdcsACQ_DATA.hpp:38
int errPort
Optional error-stack server port (default is zero)
Definition ngcdcsACQ_DATA.hpp:32
char spec[64]
Type specifier (optional)
Definition ngcdcsACQ_DATA.hpp:62
int connect
Enable data connection.
Definition ngcdcsACQ_DATA.hpp:44
int seqIdx
Associated sequencer instance.
Definition ngcdcsACQ_DATA.hpp:56
int exp
Enable exposures.
Definition ngcdcsACQ_DATA.hpp:47
Definition ngcdcsACQ_DATA.hpp:94
int sx
Window (lower left x)
Definition ngcdcsACQ_DATA.hpp:99
ngcdcs_acqreq_t()
Constructor.
Definition ngcdcsACQ_DATA.hpp:111
int sy
Window (lower left y)
Definition ngcdcsACQ_DATA.hpp:102
int ny
Window (y-dimension)
Definition ngcdcsACQ_DATA.hpp:108
int type
Frame type.
Definition ngcdcsACQ_DATA.hpp:96
int nx
Window (x-Dimension)
Definition ngcdcsACQ_DATA.hpp:105
Definition ngcdcsFINFO.hpp:462
Definition ngcdcsACQ_DATA.hpp:120
int gen
Frame is generated.
Definition ngcdcsACQ_DATA.hpp:134
int first
Index of first frame in exposure.
Definition ngcdcsACQ_DATA.hpp:146
char name[64]
Frame type name.
Definition ngcdcsACQ_DATA.hpp:125
ngcbSEM * sem
Protection lock.
Definition ngcdcsACQ_DATA.hpp:170
ngcdcs_framedef_t()
Constructor.
Definition ngcdcsACQ_DATA.hpp:188
int ny
Window for this frame (size in y direction)
Definition ngcdcsACQ_DATA.hpp:167
int export2Shm
Export to shared memory.
Definition ngcdcsACQ_DATA.hpp:185
int last
Index of last frame received.
Definition ngcdcsACQ_DATA.hpp:149
int expCnt
Exposure counter.
Definition ngcdcsACQ_DATA.hpp:140
int store
Frame is stored.
Definition ngcdcsACQ_DATA.hpp:137
int gen_x
Saved generation flag.
Definition ngcdcsACQ_DATA.hpp:179
int breakCnt
Break counter.
Definition ngcdcsACQ_DATA.hpp:143
int sx
Window for this frame (lower left x)
Definition ngcdcsACQ_DATA.hpp:158
int breakCond
Break condition for exposure.
Definition ngcdcsACQ_DATA.hpp:152
int sy
Window for this frame (lower left y)
Definition ngcdcsACQ_DATA.hpp:161
int local
Store to local media on NGC LLCU.
Definition ngcdcsACQ_DATA.hpp:155
int nx
Window for this frame (size in x-direction)
Definition ngcdcsACQ_DATA.hpp:164
ngcdcsCUBE cube
Data cube object.
Definition ngcdcsACQ_DATA.hpp:173
char paramName[64]
Parameter name to switch type on/off.
Definition ngcdcsACQ_DATA.hpp:128
int store_x
Saved storage flag.
Definition ngcdcsACQ_DATA.hpp:176
int defined
Frame is defined.
Definition ngcdcsACQ_DATA.hpp:131
int type
Frame type.
Definition ngcdcsACQ_DATA.hpp:122
int breakCond_x
Saved break condition.
Definition ngcdcsACQ_DATA.hpp:182
Definition ngcppInt.h:552
Definition ngcppInt.h:560
Definition ngcppInt.h:516