24 printf(
"EqEverything::ctor!\n");
39 printf(
"EqEverything::dtor!\n");
44 printf(
"EqEverything::HandleUsage!\n");
49 printf(
"EqEverything::HandleInit!\n");
60 fMfe->
Msg(
MINFO,
"HandleRpc",
"RPC cmd [%s], args [%s]", cmd, args);
65 time_t now = time(NULL);
66 snprintf(tmp,
sizeof(tmp),
"{ \"current_time\" : [ %d, \"%s\"] }", (
int)now,
ctime(&now));
75 fMfe->
Msg(
MINFO,
"HandleBinaryRpc",
"Binary RPC cmd [%s], args [%s]", cmd, args);
81 uint64_t* p64 = (uint64_t*)
response.data();
84 for (
size_t i=0;
i<
response.size()/
sizeof(p64[0]);
i++) {
142 printf(
"EqEverything::HandlePeriodic!\n");
144 double data = 100.0*sin(0*M_PI/2.0+M_PI*t/40);
146 char status_buf[256];
147 snprintf(status_buf,
sizeof(status_buf),
"value %.1f",
data);
158 double r = drand48();
161 printf(
"EqEverything::HandlePoll!\n");
170 printf(
"EqEverything::HandlePollRead!\n");
178 for (
int i=0;
i<16;
i++) {
194 printf(
"FeEverything::ctor!\n");
201 printf(
"FeEverything::HandleUsage!\n");
206 printf(
"FeEverything::HandleArguments!\n");
212 printf(
"FeEverything::HandleFrontendInit!\n");
218 printf(
"FeEverything::HandleFrontendReady!\n");
226 printf(
"FeEverything::HandleFrontendExit!\n");
232int main(
int argc,
char* argv[])
235 return fe_everything.
FeMain(argc, argv);
TMFeResult HandleInit(const std::vector< std::string > &args)
EqEverything(const char *eqname, const char *eqfilename)
TMFeResult HandleRpc(const char *cmd, const char *args, std::string &response)
TMFeResult HandleBeginRun(int run_number)
TMFeResult HandleResumeRun(int run_number)
void SendData(double dvalue)
TMFeResult HandlePauseRun(int run_number)
TMFeResult HandleEndRun(int run_number)
TMFeResult HandleStartAbortRun(int run_number)
TMFeResult HandleBinaryRpc(const char *cmd, const char *args, std::vector< char > &response)
void HandleFrontendExit()
TMFeResult HandleArguments(const std::vector< std::string > &args)
TMFeResult HandleFrontendInit(const std::vector< std::string > &args)
TMFeResult HandleFrontendReady(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
void RegisterTransitionStartAbort()
void * BkOpen(char *pevent, const char *bank_name, int bank_type) const
TMFeResult BkInit(char *pevent, size_t size) const
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)
bool fEqConfReadOnlyWhenRunning
void FeSetName(const char *program_name)
TMFeResult FeAddEquipment(TMFeEquipment *eq)
int FeMain(int argc, char *argv[])