13#error This is a C++ include file and cannot be used from plain C
21#include <sys/select.h>
36#define ngcdttMOD_ID "ngcdtt"
56#define ngcdttSTATE_OFF 0
57#define ngcdttSTATE_ONLINE 1
62#define ngcdttMAX_CON 8
94 char *evar = getenv(
"NGCPP_DATA");
95 if (evar != NULL) sscanf(evar,
"%10d", &
acqPort);
98 evar = getenv(
"NGCPP_HOST");
102 evar = getenv(
"HOSTNAME");
104 else strcpy(
acqHost,
"localhost");
107 evar = getenv(
"RTD_CAMERA");
109 else strcpy(
camera,
"NGC_CAM");
166 int Configure(
const char *arg,
const char *value = NULL);
169 void Service(
const char *value);
175 void URI(
const char *value);
181 void DCS(
const char *value);
190 void ExecReply(
int stat,
const char *msg);
208 void Verbose(
const char *format, ...)
209 __attribute__ ((format(printf, 2, 3)));
212 void Log(const
char *msg);
312 int Window(
int sx,
int sy,
int nx,
int ny);
339 int DS9(const
char *cmd,
char *reply,
size_t max);
342 virtual
void Alarm(const
char *msg);
354 virtual
void Logger(const
char *msg);
357 virtual
int Select(fd_set *readMask, struct timeval *timeout);
378 virtual
void DbAttrWin(
int sx,
int sy,
int nx,
int ny);
391 char versionString_[256];
415 int verboseLevelSaved_;
478 uint64_t frameCounter_;
481 void Display_(
int idx);
496 void CleanupCmd_(
char *cmdLine,
int *cmdLen);
499 int TcpReadCmd_(
int fd,
char *cmdString,
int maxLen);
502 int TcpWriteReply_(
int fd, const
char *replyString,
int success);
505 int TcpHandleCmd_(
int idx);
508 void TcpSendMsg_(const
char *cmd, const
char *msg = NULL);
511 int TcpGetReply_(
char *msg,
size_t max = 0);
514 void TcpReadRtdCmd_(
int fd,
char *cmd);
517 void TcpHandleRtdCmd_(
int fd);
520 int SocketQuery_(
int fd);
523 int FdIsSet_(struct pollfd *fds,
int n,
int fd);
550 int UpdateFrames_(
int frames);
Definition ngcbSHMDB.hpp:55
Definition ngcdttPUBLISH.hpp:58
Definition ngcdttPUBLISH.hpp:737
int Subtract(int flag)
Enable/disable bias frame subtraction.
Definition ngcdttDisp.cpp:264
int ServicePort()
Get request/reply service port.
Definition ngcdttMain.cpp:477
int cv32
Enforce conversion to 32 bit.
Definition ngcdtt.hpp:127
virtual int MsgInit(int *fd)
Initialize Initialize message system interface.
Definition ngcdttMain.cpp:1022
const char * Process()
Return process name.
Definition ngcdttMain.cpp:259
const char * Instance()
Return instance name.
Definition ngcdttMain.cpp:271
double frequency
Maximum display frequency (Hz)
Definition ngcdtt.hpp:139
void ConnectionId(int id)
Set connection id (override default)
Definition ngcdttMain.cpp:506
int DS9(const char *cmd, char *reply, size_t max)
Execute DS9 command.
Definition ngcdttDisp.cpp:294
virtual void DbAttrState(int state)
Write system state to database.
Definition ngcdttMain.cpp:1749
virtual void MsgShutdown()
Shutdown message system interface.
Definition ngcdttMain.cpp:1028
virtual int Select(fd_set *readMask, struct timeval *timeout)
Select call.
Definition ngcdttMain.cpp:1034
ngcdtt()
Constructor.
Definition ngcdttMain.cpp:189
int nxMax
Maximum x-dimension.
Definition ngcdtt.hpp:133
void VerboseLevel(int level)
Set verbose level.
Definition ngcdttMain.cpp:279
void Invert()
Invert image.
Definition ngcdttDisp.cpp:95
int SX()
Return lower left x-coordinate of requested window.
Definition ngcdttDisp.cpp:205
void ExitSignal(int sig)
Handle EXIT-signal.
Definition ngcdttMain.cpp:1002
int Connected()
Return connected status.
Definition ngcdttDisp.cpp:78
void CurrentFrame(char *name)
Get current frame type (name)
Definition ngcdttDisp.cpp:154
int ParseArguments(int argc, char **argv)
Parse arguments.
Definition ngcdttMain.cpp:512
void Clear()
Clear bias frame.
Definition ngcdttDisp.cpp:253
int interruptible
Interruptible connection.
Definition ngcdtt.hpp:145
virtual void DbAttrFrames(int types)
Write frame list to database.
Definition ngcdttMain.cpp:1751
char dcsInst[64]
DCS instance.
Definition ngcdtt.hpp:246
char dcsHost[64]
DCS host.
Definition ngcdtt.hpp:249
const char * Version()
Return version.
Definition ngcdttMain.cpp:265
int dcsMod
DCS acquisition module index.
Definition ngcdtt.hpp:142
void Verbose(const char *format,...) __attribute__((format(printf
Verbose output.
Definition ngcdttMain.cpp:955
int MainLoop()
Enter the gateway main-loop.
Definition ngcdttMain.cpp:1047
void CamClose()
Close camera.
Definition ngcdttDisp.cpp:44
char camera[128]
Camera name.
Definition ngcdtt.hpp:243
int Initialize()
Initialize.
Definition ngcdttMain.cpp:774
int NX()
Return dimension in x-direction of requested window.
Definition ngcdttDisp.cpp:209
void Service(const char *value)
Set request/reply service name.
Definition ngcdttMain.cpp:472
int NY()
Return dimension in y-direction of requested window.
Definition ngcdttDisp.cpp:211
virtual void DbAttrInvert(int value)
Write image inversion flag to database.
Definition ngcdttMain.cpp:1757
int ignoreSignal
Ignore signal in main-loop select call.
Definition ngcdtt.hpp:124
int Enabled()
Return enabled status.
Definition ngcdttDisp.cpp:80
void Stop()
Stop (disable transfer)
Definition ngcdttDisp.cpp:93
virtual void InstallSignalHandlers()
Install signal handlers.
Definition ngcdttMain.cpp:282
int CamOpen()
Open camera.
Definition ngcdttDisp.cpp:25
ngcdttPUBLISH * publisher
Publisher object.
Definition ngcdtt.hpp:234
int SelectFrame(const char *name)
Select frame type by name and return 1, if setup has changed.
Definition ngcdttDisp.cpp:120
int nyMax
Maximum y-dimension.
Definition ngcdtt.hpp:136
void Datastream(const char *value)
Set datastream name.
Definition ngcdttMain.cpp:491
void PrintUsage(const char *argv0)
Print usage.
Definition ngcdttMain.cpp:293
void ExecReply(int stat, const char *msg)
Send execution reply message and status (1 = success, 0 = failure)
Definition ngcdttMain.cpp:763
void Status(int flag)
Set transfer status (enable=1, disable=0)
Definition ngcdttDisp.cpp:82
void void Log(const char *msg)
Log message.
Definition ngcdttMain.cpp:984
virtual void Logger(const char *msg)
Application specific logger.
Definition ngcdttMain.cpp:1032
int Store()
Store bias frame.
Definition ngcdttDisp.cpp:215
void DCS(const char *value)
Assign DCS instance.
Definition ngcdttMain.cpp:496
void Shutdown()
Request shutdown.
Definition ngcdttMain.cpp:1020
virtual int DbGetCfg(const char *p, ngcdcs_rtdacq_t *acq)
Get acquisition process configuration from DCS database.
Definition ngcdttAcq.cpp:28
virtual void DbAttrConnected(int value)
Write connected flag to database.
Definition ngcdttMain.cpp:1753
int autoEnable
Auto enable.
Definition ngcdtt.hpp:130
int acqPort
Acquisition process port.
Definition ngcdtt.hpp:240
void Retransmit()
Request frame retransmission.
Definition ngcdttDisp.cpp:213
virtual void Alarm(const char *msg)
Issue alarm.
Definition ngcdttDisp.cpp:60
virtual void DbAttrWin(int sx, int sy, int nx, int ny)
Write window parameters to database.
Definition ngcdttMain.cpp:1761
void DataClose()
Close data connection.
Definition ngcdttAcq.cpp:226
int Window(int sx, int sy, int nx, int ny)
Set new window and return 1, if setup has changed.
Definition ngcdttDisp.cpp:181
ngcdtt_dsup_t defaultSetup
DTT default setup.
Definition ngcdtt.hpp:252
virtual void DbAttrEnabled(int value)
Write enabled flag to database.
Definition ngcdttMain.cpp:1755
void LogLevel(int level)
Set logging level.
Definition ngcdttMain.cpp:280
int SY()
Return lower left y-coordinate of requested window.
Definition ngcdttDisp.cpp:207
void DataService(const char *host, int port)
Assign data service (host and port)
Definition ngcdttAcq.cpp:53
void Abort()
Abort.
Definition ngcdttMain.cpp:916
char * ErrMsg()
Return actual error message.
Definition ngcdttMain.cpp:769
virtual int MsgHandler(int fd)
Message handler.
Definition ngcdttMain.cpp:1030
int DataOpen()
Open data connection.
Definition ngcdttAcq.cpp:58
int Configure(const char *arg, const char *value=NULL)
Set configuration parameter.
Definition ngcdttMain.cpp:349
void URI(const char *value)
Set broker URI.
Definition ngcdttMain.cpp:482
virtual ~ngcdtt()
Destructor.
Definition ngcdttMain.cpp:213
void DefaultFrame(const char *value)
Assign default display frame type.
Definition ngcdttMain.cpp:501
void Start()
Start (enable transfer)
Definition ngcdttDisp.cpp:91
int InvertStatus()
Return image inversion flag.
Definition ngcdttDisp.cpp:118
void StopMainLoop()
Stop the gateway main-loop (asynchronous call)
Definition ngcdttMain.cpp:1039
char acqHost[64]
Acquisition process host.
Definition ngcdtt.hpp:237
virtual void DbAttrSelFrame(const char *name)
Write selected frame to database.
Definition ngcdttMain.cpp:1759
#define str2str(s1, s2, n)
Definition ngcb.h:74
#define ngcdttMAX_CON
Definition ngcdtt.hpp:62
void ngcdttKillHandler(int sig)
Definition ngcdttMain.cpp:60
void ngcdttBreakHandler(int sig)
Definition ngcdttMain.cpp:65
void ngcdttExitHandler(int sig)
Definition ngcdttMain.cpp:32
Definition ngcdcsRTD.hpp:26
int numBuf
Number of display buffers.
Definition ngcdtt.hpp:84
int nxMax
Maximum x-dimension.
Definition ngcdtt.hpp:78
char acqHost[64]
Acquisition process host.
Definition ngcdtt.hpp:69
ngcdtt_dsup_t()
Constructor.
Definition ngcdtt.hpp:93
int win[4]
Requested window.
Definition ngcdtt.hpp:90
char camera[128]
Camera name.
Definition ngcdtt.hpp:75
double freq
Maximum display frequency (Hz)
Definition ngcdtt.hpp:87
int nyMax
Maximum y-dimension.
Definition ngcdtt.hpp:81
int acqPort
Acquisition process port.
Definition ngcdtt.hpp:72
Definition ngcppInt.h:554
Definition ngcppInt.h:518
Definition ngcppInt.h:489