FACT++  1.0
StateMachineRateControl Class Reference
+ Inheritance diagram for StateMachineRateControl:
+ Collaboration diagram for StateMachineRateControl:

Classes

struct  config
 

Public Member Functions

 StateMachineRateControl (ostream &out=cout)
 
bool GetConfig (Configuration &conf, const string &name, const string &sub, uint16_t &rc)
 
int EvalOptions (Configuration &conf)
 
- Public Member Functions inherited from StateMachineDim
 StateMachineDim (std::ostream &out=std::cout, const std::string &name="DEFAULT")
 
int Write (const Time &time, const std::string &txt, int qos=kMessage)
 Redirect our own logging to fLog. More...
 
bool AddStateName (const int state, const std::string &name, const std::string &doc="")
 
bool MessageQueueEmpty () const
 
- Public Member Functions inherited from DimCommandHandler
DimCommandgetCommand ()
 
virtual ~DimCommandHandler ()
 
- Public Member Functions inherited from DimInfoHandler
DimInfogetInfo ()
 
virtual ~DimInfoHandler ()
 
- Public Member Functions inherited from DimErrorRedirecter
 DimErrorRedirecter (MessageImp &imp)
 
 ~DimErrorRedirecter ()
 
- Public Member Functions inherited from DimErrorHandler
virtual ~DimErrorHandler ()
 
- Public Member Functions inherited from DimExitHandler
virtual ~DimExitHandler ()
 
- Public Member Functions inherited from StateMachineImp
 StateMachineImp (std::ostream &out=std::cout, const std::string &name="")
 
 ~StateMachineImp ()
 delete all object stored in fListOfEvent and in fEventQueue More...
 
std::function< int(const EventImp &)> Wrap (const std::function< int(const EventImp &)> &func)
 
const std::string & GetName () const
 
EventImpSubscribe (const std::string &name)
 
void Unsubscribe (EventImp *evt)
 
int GetCurrentState () const
 return the current state of the machine More...
 
void SetReady ()
 
void SetNotReady ()
 
virtual int Run (bool dummy)
 Start the mainloop. More...
 
int Run ()
 
virtual void Stop (int code=0)
 Request to stop the mainloop. More...
 
bool IsRunning () const
 Used to check if the main loop is already running or still running. More...
 
void EnableBuffer (bool b=true)
 Used to enable or disable buffering of events outside of the main loop. More...
 
bool PostEvent (std::ostream &lout, const std::string &str)
 Post an event to the event queue. More...
 
bool PostEvent (const std::string &evt)
 
bool PostEvent (const EventImp &evt)
 
bool PostEvent (const EventImp &evt, const char *ptr, size_t siz)
 
bool HasEvent (const EventImp *cmd)
 
EventImpFindEvent (const std::string &evt)
 
bool IsQueueEmpty () const
 
const std::vector< std::string > GetEventNames ()
 
void PrintListOfEvents (std::ostream &out, const std::string &evt="")
 
void PrintListOfEvents (const std::string &str="")
 
void PrintListOfAllowedEvents (std::ostream &out)
 
void PrintListOfAllowedEvents ()
 
void PrintListOfStates (std::ostream &out) const
 
void PrintListOfStates () const
 Print a list of all states with descriptions. More...
 
int GetStateIndex (const std::string &name) const
 
bool HasState (int index) const
 
const std::string GetStateName (int state) const
 
const std::string GetStateName () const
 
const std::string GetStateDesc (int state) const
 
const std::string GetStateDesc () const
 
const std::string GetStateDescription (int state) const
 
const std::string GetStateDescription () const
 
- Public Member Functions inherited from MainImp
virtual ~MainImp ()
 
- Public Member Functions inherited from MessageImp
 MessageImp (std::ostream &out=std::cout)
 
virtual ~MessageImp ()
 
virtual void IndicateStateChange (const Time &, const std::string &)
 
void StateChanged (const Time &time, const std::string &server, const std::string &msg, int state)
 
int Update (const std::string &txt, int severity=kMessage)
 
int Update (const char *txt, int severity=kMessage)
 
int Update (const std::ostringstream &str, int severity=kMessage)
 
int Debug (const std::string &str)
 
int Message (const std::string &str)
 
int Info (const std::string &str)
 
int Warn (const std::string &str)
 
int Error (const std::string &str)
 
int Alarm (const std::string &str)
 
int Fatal (const std::string &str)
 
int Comment (const std::string &str)
 
int Debug (const char *txt)
 
int Message (const char *txt)
 
int Info (const char *txt)
 
int Warn (const char *txt)
 
int Error (const char *txt)
 
int Alarm (const char *txt)
 
int Fatal (const char *txt)
 
int Comment (const char *txt)
 
int Debug (const std::ostringstream &str)
 
int Message (const std::ostringstream &str)
 
int Info (const std::ostringstream &str)
 
int Warn (const std::ostringstream &str)
 
int Alarm (const std::ostringstream &str)
 
int Error (const std::ostringstream &str)
 
int Fatal (const std::ostringstream &str)
 
int Comment (const std::ostringstream &str)
 
std::ostream & operator() () const
 
std::ostream & Out () const
 

Private Member Functions

bool CheckEventSize (const EventImp &evt, size_t size)
 
void PrintThresholds (const FTM::DimStaticData &sdata)
 
bool Step (int idx, float step)
 
void ProcessPatches (const FTM::DimTriggerRates &sdata)
 
int ProcessCamera (const FTM::DimTriggerRates &sdata)
 
int HandleStaticData (const EventImp &evt)
 
int HandleTriggerRates (const EventImp &evt)
 
int HandleCalibratedCurrents (const EventImp &evt)
 
int Calibrate ()
 
int CalibrateByCurrent ()
 
int CalibrateRun (const EventImp &evt)
 
int StopRC ()
 
int SetMinThreshold (const EventImp &evt)
 
int SetTargetRate (const EventImp &evt)
 
int Print () const
 
int SetVerbosity (const EventImp &evt)
 
int Execute ()
 Is called continously to execute actions in the current state. More...
 

Private Attributes

map< string, configfRunTypes
 
PixelMap fMap
 
bool fPhysTriggerEnabled
 
bool fTriggerOn
 
vector< bool > fBlock
 
DimVersion fDim
 
DimDescribedState fDimFTM
 
DimDescribedState fDimRS
 
DimDescribedState fDimLid
 
DimDescribedState fDimDrive
 
DimDescribedService fDimThreshold
 
float fTargetRate
 
float fTriggerRate
 
uint16_t fThresholdMin
 
uint16_t fThresholdReference
 
uint16_t fAverageTime
 
uint16_t fRequiredEvents
 
list< pair< Time, float > > fCurrentsMed
 
list< pair< Time, float > > fCurrentsDev
 
list< pair< Time, vector< float > > > fCurrentsVec
 
bool fVerbose
 
bool fCalibrateByCurrent
 
uint64_t fCounter
 
Time fCalibrationTimeStart
 
vector< uint32_t > fThresholds
 

Additional Inherited Members

- Public Types inherited from StateMachineImp
enum  DefaultStates_t {
  kSM_KeepState = -42, kSM_NotAvailable = -2, kSM_NotReady = -1, kSM_Ready = 0,
  kSM_UserMode = 1, kSM_Error = 0x100, kSM_FatalError = 0xffff
}
 
- Public Types inherited from MessageImp
enum  Severity {
  kMessage = 10, kInfo = 20, kWarn = 30, kError = 40,
  kAlarm = 45, kFatal = 50, kComment = 90, kDebug = 99
}
 Severity of a message. More...
 
- Public Attributes inherited from DimCommandHandler
DimCommanditsCommand
 
- Public Attributes inherited from DimInfoHandler
DimInfoitsService
 
- Protected Member Functions inherited from StateMachineDim
std::string SetCurrentState (int state, const char *txt="", const std::string &cmd="")
 
void Lock ()
 
void UnLock ()
 
- Protected Member Functions inherited from DimStart
 DimStart (const std::string &name, MessageImp &imp)
 
 ~DimStart ()
 
- Protected Member Functions inherited from StateMachineImp
virtual void PushEvent (Event *cmd)
 This is a flag which is set true if the main loop should stop. More...
 
std::shared_ptr< EventPopEvent ()
 Pop a command from the fifo. More...
 
bool HandleNewState (int newstate, const EventImp *evt, const char *txt)
 
bool HandleEvent (const EventImp &evt)
 
EventImpAddEvent (const std::string &name, const std::string &states, const std::string &fmt)
 
EventImpAddEvent (const std::string &name, int s1=-1, int s2=-1, int s3=-1, int s4=-1, int s5=-1)
 
EventImpAddEvent (const std::string &name, const std::string &fmt, int s1=-1, int s2=-1, int s3=-1, int s4=-1, int s5=-1)
 
void SetDefaultStateNames ()
 
- Protected Attributes inherited from StateMachineImp
StateNames fStateNames
 Human readable names associated with the states. More...
 
bool fRunning
 Flag if events should be buffered outside the event loop. More...
 
int fExitRequested
 Machine is in main-loop. More...
 

Detailed Description

Definition at line 35 of file ratecontrol.cc.


The documentation for this class was generated from the following file: