My Project
|
#include <PagerMonitor.h>
Classes | |
struct | RegSpec |
Public Member Functions | |
PagerMonitor () | |
PagerMonitor (ArrayDataFrameManager *source) | |
virtual | ~PagerMonitor () |
void | setHandler (MONITOR_CONDITION_HANDLER(*handler), void *arg=0) |
std::vector < PagerMonitor::RegSpec > | addOutOfRangeMonitorPoint (std::string regSpec, double min, double max, bool delta=false, unsigned nFrame=defaultNframe_, std::string script="") |
std::vector < PagerMonitor::RegSpec > | addInRangeMonitorPoint (std::string regSpec, double min, double max, bool delta=false, unsigned nFrame=defaultNframe_, std::string script="") |
std::vector < PagerMonitor::RegSpec > | addMonitorPoint (std::string regSpec, DataTypeTruthFn fn, DataType &min, DataType &max, bool delta, unsigned nFrame, bool outOfRange, std::string script="") |
void | remMonitorPoint (std::string regSpec) |
void | checkRegisters () |
void | reset () |
void | clear () |
void | list () |
std::vector < PagerMonitor::RegSpec > | getRegs () |
std::vector< std::string > | getList (bool sort=false) |
std::vector< std::string > | format (std::string regSpec) |
void | lock () |
void | unlock () |
Static Public Attributes | |
static unsigned | defaultNframe_ = 1 |
Friends | |
std::ostream & | operator<< (std::ostream &os, PagerMonitor &pm) |
std::ostream & | operator<< (std::ostream &os, PagerMonitor::RegSpec &rs) |
A class for monitoring registers to activate the pager.
The idea is to re-use the MonitorPointManager infrastructure that already exists for Can packet monitoring. This allows the user to register conditions to be checked when a register is written to, and to register handlers to be called when those conditions are met. Because these conditions are checked when registers are written, this is implemented here by copying the corresponding registers from the latest data frame into a dummy frame.
PagerMonitor::PagerMonitor | ( | ) |
Constructor.
....................................................................... Constructor.
PagerMonitor::PagerMonitor | ( | ArrayDataFrameManager * | source | ) |
....................................................................... Constructor.
|
virtual |
Destructor.
....................................................................... Destructor.
std::vector< PagerMonitor::RegSpec > PagerMonitor::addInRangeMonitorPoint | ( | std::string | regSpec, |
double | min, | ||
double | max, | ||
bool | delta = false , |
||
unsigned | nFrame = defaultNframe_ , |
||
std::string | script = "" |
||
) |
....................................................................... Add a monitor point to activate the pager when a register goes into the specified range
std::vector< PagerMonitor::RegSpec > PagerMonitor::addMonitorPoint | ( | std::string | regSpec, |
DataTypeTruthFn | fn, | ||
DataType & | min, | ||
DataType & | max, | ||
bool | delta, | ||
unsigned | nFrame, | ||
bool | outOfRange, | ||
std::string | script = "" |
||
) |
....................................................................... And add monitor points associated with a register specification
std::vector< PagerMonitor::RegSpec > PagerMonitor::addOutOfRangeMonitorPoint | ( | std::string | regSpec, |
double | min, | ||
double | max, | ||
bool | delta = false , |
||
unsigned | nFrame = defaultNframe_ , |
||
std::string | script = "" |
||
) |
Methods to add a register to be monitored
....................................................................... Add a monitor point to activate the pager when a register goes out of the specified range
void PagerMonitor::checkRegisters | ( | ) |
....................................................................... A method to call to check registers
void PagerMonitor::clear | ( | ) |
....................................................................... Clear this manager of all monitor points
std::vector< std::string > PagerMonitor::format | ( | std::string | regSpec | ) |
....................................................................... List all monitor points
std::vector< std::string > PagerMonitor::getList | ( | bool | sort = false | ) |
....................................................................... List all monitor points
std::vector< PagerMonitor::RegSpec > PagerMonitor::getRegs | ( | ) |
....................................................................... Return a list of all monitor points
void PagerMonitor::list | ( | ) |
....................................................................... List all monitor points
void PagerMonitor::remMonitorPoint | ( | std::string | regSpec | ) |
....................................................................... And remove monitor points associated with a register specification
void PagerMonitor::reset | ( | ) |
....................................................................... Reset all monitor points