82 for (
int j=0;
j<size;
j++)
321 printf(
"FeBulk::Thread: thread started\n");
335 printf(
"FeBulk::Thread: thread finished\n");
382 fMfe->
Msg(
MINFO,
"HandleInit", std::string(
"Init") +
" Ok!");
429 printf(
"fail_begin_of_run: returning error status %d\n",
fail);
438 int ms =
int(s*1000.0);
439 printf(
"sleep_begin_of_run: calling ss_sleep(%d)\n",
ms);
457 printf(
"fail_end_of_run: returning error status %d\n",
fail);
466 int ms =
int(s*1000.0);
467 printf(
"sleep_end_of_run: calling ss_sleep(%d)\n",
ms);
485 printf(
"fail_pause_run: returning error status %d\n",
fail);
503 printf(
"fail_resume_run: returning error status %d\n",
fail);
521 printf(
"fail_start_abort: returning error status %d\n",
fail);
EqBulk(const char *eqname, const char *eqfilename)
std::vector< char > fEventBuffer
std::atomic_bool fThreadRunning
TMFeResult HandleInit(const std::vector< std::string > &args)
EqRandom(const char *eqname, const char *eqfilename)
TMFeResult HandleInit(const std::vector< std::string > &args)
void SendData(double dvalue)
EqRare(const char *eqname, const char *eqfilename)
TMFeResult HandleInit(const std::vector< std::string > &args)
TMFeResult HandleInit(const std::vector< std::string > &args)
TMFeResult HandleResumeRun(int run_number)
TMFeResult HandleEndRun(int run_number)
TMFeResult HandleBinaryRpc(const char *cmd, const char *args, std::vector< char > &response)
TMFeResult HandleBeginRun(int run_number)
EqRpc(const char *eqname, const char *eqfilename)
TMFeResult HandlePauseRun(int run_number)
TMFeResult HandleRpc(const char *cmd, const char *args, std::string &response)
TMFeResult HandleStartAbortRun(int run_number)
EqSlow(const char *eqname, const char *eqfilename)
TMFeResult HandleInit(const std::vector< std::string > &args)
void SendData(double dvalue)
TMFeResult HandleFrontendReady(const std::vector< std::string > &args)
TMFeResult HandleFrontendInit(const std::vector< std::string > &args)
void HandleFrontendExit()
TMFeResult HandleArguments(const std::vector< std::string > &args)
bool fStateRunning
run state is running or paused
static double GetTime()
return current time in seconds, with micro-second precision
void Msg(int message_type, const char *filename, int line, const char *routine, const char *format,...) MATTRPRINTF(6
static void Sleep(double sleep_time_sec)
sleep, with micro-second precision
std::atomic_bool fShutdownRequested
shutdown was requested by Ctrl-C or by RPC command
TMFeResult SetWatchdogSec(int sec)
void * BkOpen(char *pevent, const char *bank_name, int bank_type) const
TMFeResult BkInit(char *pevent, size_t size) const
MVOdb * fOdbEqSettings
ODB Equipment/EQNAME/Settings.
TMFeResult EqSetStatus(const char *status, const char *color)
bool fEqConfWriteEventsToOdb
int fEqConfPeriodMilliSec
TMFeResult BkClose(char *pevent, void *ptr) const
TMFeResult ComposeEvent(char *pevent, size_t size) const
TMFeResult EqSendEvent(const char *pevent, bool write_to_odb=true)
std::string fEqConfBuffer
size_t fEqConfMaxEventSize
bool fEqConfReadOnlyWhenRunning
void FeSetName(const char *program_name)
TMFeResult FeAddEquipment(TMFeEquipment *eq)
int FeMain(int argc, char *argv[])
void bk_init32a(void *event)
INT bk_close(void *event, void *pdata)
void bk_init(void *event)
void bk_init32(void *event)
void bk_create(void *event, const char *name, WORD type, void **pdata)
INT ss_sleep(INT millisec)
int read_slow_event(char *pevent, int off)
#define equipment(name, id, type, source, readon, period, readout, cd, driver)
TH1X EXPRT * h1_book(const char *name, const char *title, int bins, double min, double max)
TMFeResult TMFeErrorMessage(const std::string &message)