8#ifndef ngcdcsACQ_DATA_H
9#define ngcdcsACQ_DATA_H
13#error This is a C++ include file and cannot be used from plain C
80 evar = getenv(
"HOSTNAME");
82 else strcpy(
host,
"localhost");
285 void FrameParam(
char *paramName,
const char *name);
291 void SetRequest(
int sx,
int sy,
int nx,
int ny);
294 void SetRequest(
int ftype,
int sx,
int sy,
int nx,
int ny);
303 int Request(
int sx,
int sy,
int nx,
int ny);
306 int Request(
int ftype,
int sx,
int sy,
int nx,
int ny);
312 int Retransmit(
int sx,
int sy,
int nx,
int ny);
324 int GetFrame(
void *buffer,
int chipPid = 0);
327 int GetFrame(
void *buffer,
int sx,
int sy,
int nx,
int ny,
342 int Accept(
int sx,
int sy,
int nx,
int ny,
int flags=0);
345 int Receive(
void *buffer,
size_t offset,
size_t size);
354 void Scale(
void *buffer,
int nx,
int ny,
int *dataType,
int *divisor);
360 void Scale(
void *buffer);
363 void Cv16(
void *buffer);
ngcbOBJ()
Constructor.
Definition ngcbOBJ.cpp:35
Definition ngcbTHREAD.hpp:68
int AppDataSize()
Return application data size.
Definition ngcdcsACQ_DATA.cpp:1115
int GetFrame(void *buffer, int chipPid=0)
Get frame as it is.
Definition ngcdcsACQ_DATA.cpp:822
int Wait()
Wait for data event.
Definition ngcdcsACQ_DATA.cpp:576
int Receive(void *buffer, size_t offset, size_t size)
Receive frame data.
Definition ngcdcsACQ_DATA.cpp:702
void Configure(const ngcdcs_acq_cfg_t &newConf)
Overall configuration.
Definition ngcdcsACQ_DATA.cpp:76
int FrameCounter0()
Return frame counter start value.
Definition ngcdcsACQ_DATA.cpp:971
int FrameDef(ngcdcs_framedef_t *frameDef)
Currently defined frame types.
Definition ngcdcsACQ_DATA.cpp:254
int DataType()
Return data type.
Definition ngcdcsACQ_DATA.cpp:961
int Initialize()
Intialize data connection.
Definition ngcdcsACQ_DATA.cpp:100
int NX()
Return x-dimension.
Definition ngcdcsACQ_DATA.cpp:1015
int Kill(int id)
Kill data client.
Definition ngcdcsACQ_DATA.cpp:208
int Open()
Open data connection ngcppScale(frame);.
Definition ngcdcsACQ_DATA.cpp:131
int FrameCounter()
Return frame counter.
Definition ngcdcsACQ_DATA.cpp:966
int Error()
Return error code.
Definition ngcdcsACQ_DATA.cpp:1025
int Close()
Close data connection.
Definition ngcdcsACQ_DATA.cpp:187
void FrameParam(char *paramName, int ftype)
Get frame parameter by type.
Definition ngcdcsACQ_DATA.cpp:318
void Scale(ngcpp_frame_t *frame)
Apply scale factor.
Definition ngcdcsACQ_DATA.cpp:829
void FrameName(char *name, int ftype)
Get frame name by frame type.
Definition ngcdcsACQ_DATA.cpp:303
int StartX()
Return start pixel in x-direction.
Definition ngcdcsACQ_DATA.cpp:1005
ngcdcs_acq_cfg_t * Cfg()
Get pointer to configuration.
Definition ngcdcsACQ_DATA.cpp:95
int Valid()
Valid frame received.
Definition ngcdcsACQ_DATA.cpp:941
int NY()
Return y-dimension.
Definition ngcdcsACQ_DATA.cpp:1020
void SetRequest(int ftype)
Setup data request (type)
Definition ngcdcsACQ_DATA.cpp:353
int Request()
Send data request (same request again)
Definition ngcdcsACQ_DATA.cpp:384
char * AppData()
Return pointer to application data.
Definition ngcdcsACQ_DATA.cpp:1120
size_t NumPix()
Return number of pixels in frame.
Definition ngcdcsACQ_DATA.cpp:1055
int BitPix()
Return current bitpix-value.
Definition ngcdcsACQ_DATA.cpp:1079
int numDet
Number of detectors in mosaic.
Definition ngcdcsACQ_DATA.hpp:233
virtual ~ngcdcsACQ_DATA()
Destructor.
Definition ngcdcsACQ_DATA.cpp:43
int SetupId()
Return setup-id.
Definition ngcdcsACQ_DATA.cpp:1000
int Retransmit()
Retransmit frame (same)
Definition ngcdcsACQ_DATA.cpp:528
double ExpFactor()
Return factor for EXPTIME.
Definition ngcdcsACQ_DATA.cpp:986
int Skip()
Skip data frame.
Definition ngcdcsACQ_DATA.cpp:599
int BZERO()
Return frame BZERO.
Definition ngcdcsACQ_DATA.cpp:981
int Fd()
Return data connection file descriptor.
Definition ngcdcsACQ_DATA.cpp:228
int FrameType()
Get current frame type.
Definition ngcdcsACQ_DATA.cpp:946
int DatumSize()
Return pixel datum size in bytes.
Definition ngcdcsACQ_DATA.cpp:1030
int FrameIdx()
Get index for current frame type.
Definition ngcdcsACQ_DATA.cpp:956
void Cv16(void *buffer)
Convert to 16 bit signed.
Definition ngcdcsACQ_DATA.cpp:917
int AvailableFrames()
Currently available frame types.
Definition ngcdcsACQ_DATA.cpp:348
int StartY()
Return start pixel in y-direction.
Definition ngcdcsACQ_DATA.cpp:1010
double TimeStamp()
Return MUDPI/RTMS timestamp (seconds since UNIX epoch)
Definition ngcdcsACQ_DATA.cpp:1084
int Accept(int flags=0)
Accept data frame (as is)
Definition ngcdcsACQ_DATA.cpp:616
int scale2float
Aways scale 32-bit integer to float.
Definition ngcdcsACQ_DATA.hpp:239
size_t FrameSize()
Return frame size in bytes.
Definition ngcdcsACQ_DATA.cpp:1067
int Divisor()
Return frame Divisor.
Definition ngcdcsACQ_DATA.cpp:976
ngcdcsACQ_DATA()
Constructor.
Definition ngcdcsACQ_DATA.cpp:28
int Cancel()
Cancel pending data request.
Definition ngcdcsACQ_DATA.cpp:536
int Transferring()
Return transferring flag.
Definition ngcdcsACQ_DATA.cpp:1091
int ioError
Flag for io-error.
Definition ngcdcsACQ_DATA.hpp:230
int Term()
Return termination flag.
Definition ngcdcsACQ_DATA.cpp:1103
int protocolVersion
Protocol version.
Definition ngcdcsACQ_DATA.hpp:236
Definition ngcdcsFINFO.hpp:287
#define ngcbDMA_DEFAULT_DEVICE
Definition ngcbDrv.h:50
#define str2str(s1, s2, n)
Definition ngcb.h:74
#define ngcppTMODE_SCIENCE
Definition ngcppInt.h:436
#define ngcppMAX_FRAME_TYPES
Definition ngcppInt.h:226
#define ngcppMAX_DEV
Definition ngcppInt.h:386
#define ngcppFRAME_ANY
Definition ngcppInt.h:231
Definition ngcdcsACQ_DATA.hpp:25
char dev[ngcppMAX_DEV][128]
Acquisition process DMA device name.
Definition ngcdcsACQ_DATA.hpp:54
ngcdcs_acq_cfg_t()
Constructor.
Definition ngcdcsACQ_DATA.hpp:66
int cmdPort
Optional command server port (default is zero)
Definition ngcdcsACQ_DATA.hpp:27
int numDataClient
Number of data clients.
Definition ngcdcsACQ_DATA.hpp:36
int transferMode
Data transfer mode.
Definition ngcdcsACQ_DATA.hpp:42
int dataPort
Optional data server port (default is zero)
Definition ngcdcsACQ_DATA.hpp:30
char host[64]
Acquisition process host.
Definition ngcdcsACQ_DATA.hpp:51
char name[64]
Optional name.
Definition ngcdcsACQ_DATA.hpp:60
int joinerDelay
Multicast joiner delay (microsecodns)
Definition ngcdcsACQ_DATA.hpp:39
int errPort
Optional error-stack server port (default is zero)
Definition ngcdcsACQ_DATA.hpp:33
char spec[64]
Type specifier (optional)
Definition ngcdcsACQ_DATA.hpp:63
int connect
Enable data connection.
Definition ngcdcsACQ_DATA.hpp:45
int seqIdx
Associated sequencer instance.
Definition ngcdcsACQ_DATA.hpp:57
int exp
Enable exposures.
Definition ngcdcsACQ_DATA.hpp:48
Definition ngcdcsACQ_DATA.hpp:95
int sx
Window (lower left x)
Definition ngcdcsACQ_DATA.hpp:100
ngcdcs_acqreq_t()
Constructor.
Definition ngcdcsACQ_DATA.hpp:112
int sy
Window (lower left y)
Definition ngcdcsACQ_DATA.hpp:103
int ny
Window (y-dimension)
Definition ngcdcsACQ_DATA.hpp:109
int type
Frame type.
Definition ngcdcsACQ_DATA.hpp:97
int nx
Window (x-Dimension)
Definition ngcdcsACQ_DATA.hpp:106
Definition ngcdcsFINFO.hpp:468
Definition ngcdcsACQ_DATA.hpp:121
int gen
Frame is generated.
Definition ngcdcsACQ_DATA.hpp:135
int first
Index of first frame in exposure.
Definition ngcdcsACQ_DATA.hpp:147
char name[64]
Frame type name.
Definition ngcdcsACQ_DATA.hpp:126
ngcbSEM * sem
Protection lock.
Definition ngcdcsACQ_DATA.hpp:171
ngcdcs_framedef_t()
Constructor.
Definition ngcdcsACQ_DATA.hpp:189
int ny
Window for this frame (size in y direction)
Definition ngcdcsACQ_DATA.hpp:168
int export2Shm
Export to shared memory.
Definition ngcdcsACQ_DATA.hpp:186
int last
Index of last frame received.
Definition ngcdcsACQ_DATA.hpp:150
int expCnt
Exposure counter.
Definition ngcdcsACQ_DATA.hpp:141
int store
Frame is stored.
Definition ngcdcsACQ_DATA.hpp:138
int gen_x
Saved generation flag.
Definition ngcdcsACQ_DATA.hpp:180
int breakCnt
Break counter.
Definition ngcdcsACQ_DATA.hpp:144
int sx
Window for this frame (lower left x)
Definition ngcdcsACQ_DATA.hpp:159
int breakCond
Break condition for exposure.
Definition ngcdcsACQ_DATA.hpp:153
int sy
Window for this frame (lower left y)
Definition ngcdcsACQ_DATA.hpp:162
int local
Store to local media on NGC LLCU.
Definition ngcdcsACQ_DATA.hpp:156
int nx
Window for this frame (size in x-direction)
Definition ngcdcsACQ_DATA.hpp:165
ngcdcsCUBE cube
Data cube object.
Definition ngcdcsACQ_DATA.hpp:174
char paramName[64]
Parameter name to switch type on/off.
Definition ngcdcsACQ_DATA.hpp:129
int store_x
Saved storage flag.
Definition ngcdcsACQ_DATA.hpp:177
int defined
Frame is defined.
Definition ngcdcsACQ_DATA.hpp:132
int type
Frame type.
Definition ngcdcsACQ_DATA.hpp:123
int breakCond_x
Saved break condition.
Definition ngcdcsACQ_DATA.hpp:183
Definition ngcppInt.h:554
Definition ngcppInt.h:562
Definition ngcppInt.h:518