Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
XFlowControllerDriver Class Referenceabstract

Base class for mass flow monitors/controllers. More...

#include <flowcontroller.h>

Inheritance diagram for XFlowControllerDriver:
Inheritance graph
[legend]

Classes

struct  Payload
 

Public Member Functions

 XFlowControllerDriver (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
virtual ~XFlowControllerDriver ()
 usually nothing to do
 
virtual void showForms ()
 Shows all forms belonging to driver.
 
const shared_ptr< XScalarEntry > & flow () const
 driver specific part below
 
const shared_ptr< XDoubleNode > & target () const
 [Given Unit]
 
const shared_ptr< XDoubleNode > & valve () const
 [V]
 
const shared_ptr< XDoubleNode > & rampTime () const
 [ms]
 
const shared_ptr
< XTouchableNode > & 
openValve () const
 
const shared_ptr
< XTouchableNode > & 
closeValve () const
 
const shared_ptr< XBoolNode > & warning () const
 
const shared_ptr< XBoolNode > & alarm () const
 
const shared_ptr< XBoolNode > & control () const
 
- Public Member Functions inherited from XPrimaryDriverWithThread
 XPrimaryDriverWithThread (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
virtual void stop ()
 
- Public Member Functions inherited from XPrimaryDriver
 XPrimaryDriver (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
- Public Member Functions inherited from XDriver
 XDriver (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
- Public Member Functions inherited from XNode
 XNode (const char *name, bool runtime=false)
 
template<class T >
shared_ptr< T > create (const char *name)
 
template<class T , typename... Args>
shared_ptr< T > create (const char *name, bool runtime, Args &&...args)
 
template<class T >
shared_ptr< T > create (Transaction &tr, const char *name)
 
template<class T , typename... Args>
shared_ptr< T > create (Transaction &tr, const char *name, bool runtime, Args &&...args)
 
XString getName () const
 
virtual XString getLabel () const
 
XString getTypename () const
 
shared_ptr< XNodegetChild (const XString &var) const
 
shared_ptr< XNodegetParent () const
 
void setUIEnabled (bool v)
 Enables/disables controls over scripting/GUI.
 
void disable ()
 Disables all scripting/GUI operations on this node hereafter.
 
- Public Member Functions inherited from Transactional::Node< XNode >
bool insert (Transaction< XNode > &tr, const shared_ptr< XNode > &var, bool online_after_insertion=false)
 
void insert (const shared_ptr< XNode > &var)
 
bool release (Transaction< XNode > &tr, const shared_ptr< XNode > &var)
 
void release (const shared_ptr< XNode > &var)
 
void releaseAll ()
 
bool swap (Transaction< XNode > &tr, const shared_ptr< XNode > &x, const shared_ptr< XNode > &y)
 
void swap (const shared_ptr< XNode > &x, const shared_ptr< XNode > &y)
 
XNodeupperNode (Snapshot< XNode > &shot)
 Finds the parent node in shot.
 
Snapshot< XNodeiterate_commit (Closure)
 
Snapshot< XNodeiterate_commit_if (Closure)
 
void iterate_commit_while (Closure)
 
void print_ () const
 
 Node (const Node &)=delete
 
Nodeoperator= (const Node &)=delete
 

Protected Member Functions

virtual void analyzeRaw (RawDataReader &reader, Transaction &tr) throw (XRecordError&)
 
virtual void visualize (const Snapshot &shot)
 
virtual bool isController ()=0
 
virtual bool isUnitInSLM ()=0
 distinguishes monitors and controllers.
 
virtual double getFullScale ()=0
 false for SCCM.
 
virtual void getStatus (double &flow_in_slm, double &valve_v, bool &alarm, bool &warning)=0
 
virtual void setValveState (bool open)=0
 
virtual void changeControl (bool ctrl)=0
 
virtual void changeSetPoint (double target)=0
 
virtual void setRampTime (double time)=0
 
- Protected Member Functions inherited from XPrimaryDriverWithThread
virtual void start ()
 
virtual void closeInterface ()=0
 This function should not cause an exception.
 
- Protected Member Functions inherited from XPrimaryDriver
void finishWritingRaw (const shared_ptr< const RawData > &rawdata, const XTime &time_awared, const XTime &time_recorded)
 
- Protected Member Functions inherited from XDriver
void record (Transaction &tr, const XTime &time_awared, const XTime &time_recorded)
 

Private Member Functions

void onTargetChanged (const Snapshot &shot, XValueNodeBase *)
 
void onRampTimeChanged (const Snapshot &shot, XValueNodeBase *)
 
void onControlChanged (const Snapshot &shot, XValueNodeBase *)
 
void onOpenValveTouched (const Snapshot &shot, XTouchableNode *)
 
void onCloseValveTouched (const Snapshot &shot, XTouchableNode *)
 
void * execute (const atomic< bool > &)
 

Private Attributes

const shared_ptr< XScalarEntrym_flow
 
const shared_ptr< XDoubleNodem_target
 
const shared_ptr< XDoubleNodem_valve
 
const shared_ptr< XDoubleNodem_rampTime
 
const shared_ptr< XTouchableNodem_openValve
 
const shared_ptr< XTouchableNodem_closeValve
 
const shared_ptr< XBoolNodem_warning
 
const shared_ptr< XBoolNodem_alarm
 
const shared_ptr< XBoolNodem_control
 
shared_ptr< XListenerm_lsnTarget
 
shared_ptr< XListenerm_lsnOpenValve
 
shared_ptr< XListenerm_lsnCloseValve
 
shared_ptr< XListenerm_lsnControl
 
shared_ptr< XListenerm_lsnRampTime
 
xqcon_ptr m_conFlow
 
xqcon_ptr m_conAlarm
 
xqcon_ptr m_conWarning
 
xqcon_ptr m_conTarget
 
xqcon_ptr m_conRampTime
 
xqcon_ptr m_conValve
 
xqcon_ptr m_conControl
 
xqcon_ptr m_conOpenValve
 
xqcon_ptr m_conCloseValve
 
const qshared_ptr
< FrmFlowController
m_form
 

Additional Inherited Members

- Public Types inherited from Transactional::Node< XNode >
using NodeNotFoundError = std::domain_error
 
using NodeList = fast_vector< shared_ptr< XNode >, 2 >
 
using iterator = typename NodeList::iterator
 
using const_iterator = typename NodeList::const_iterator
 
- Static Public Member Functions inherited from XNode
template<class T__ >
static shared_ptr< T__ > createOrphan (const char *name)
 
template<class T__ , typename... Args_>
static shared_ptr< T__ > createOrphan (const char *name, bool runtime, Args_ &&...args)
 

Detailed Description

Base class for mass flow monitors/controllers.

Definition at line 26 of file flowcontroller.h.

Member Function Documentation

void XFlowControllerDriver::analyzeRaw ( RawDataReader reader,
Transaction tr 
) throw (XRecordError&)
protectedvirtual

This function will be called when raw data are written. Implement this function to convert the raw data to the record (Payload).

See Also
analyze()

Implements XPrimaryDriver.

Definition at line 73 of file flowcontroller.cpp.

const shared_ptr<XScalarEntry>& XFlowControllerDriver::flow ( ) const
inline

driver specific part below

[Given Unit]

Definition at line 45 of file flowcontroller.h.

void XFlowControllerDriver::showForms ( )
virtual

Shows all forms belonging to driver.

impliment form->show() here

Implements XPrimaryDriver.

Definition at line 66 of file flowcontroller.cpp.

void XFlowControllerDriver::visualize ( const Snapshot shot)
protectedvirtual

This function is called after committing XPrimaryDriver::analyzeRaw() or XSecondaryDriver::analyze(). This might be called even if the record is invalid (time() == false).

Implements XDriver.

Definition at line 85 of file flowcontroller.cpp.


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

Generated for KAME4 by  doxygen 1.8.3