Classes | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
XTempControl Class Referenceabstract
Inheritance diagram for XTempControl:
Inheritance graph
[legend]

Classes

class  Loop
 LOOPs. More...
 
class  XChannel
 

Public Types

typedef XAliasListNode< XChannelXChannelList
 

Public Member Functions

 XTempControl (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
virtual ~XTempControl ()
 usually nothing to do
 
virtual void showForms ()
 show all forms belonging to driver
 
const shared_ptr< XChannelList > & channels () const
 
unsigned int numOfLoops () const
 LOOPs.
 
const shared_ptr< XItemNode
< XChannelList, XChannel > > & 
currentChannel (unsigned int lp) const
 
const shared_ptr< XDoubleNode > & targetTemp (unsigned int lp) const
 
const shared_ptr< XDoubleNode > & manualPower (unsigned int lp) const
 
const shared_ptr< XDoubleNode > & prop (unsigned int lp) const
 
const shared_ptr< XDoubleNode > & interval (unsigned int lp) const
 
const shared_ptr< XDoubleNode > & deriv (unsigned int lp) const
 
const shared_ptr< XComboNode > & heaterMode (unsigned int lp) const
 
const shared_ptr< XComboNode > & powerRange (unsigned int lp) const
 
const shared_ptr< XDoubleNode > & heaterPower (unsigned int lp) const
 
const shared_ptr< XDoubleNode > & sourceTemp (unsigned int lp) const
 
const shared_ptr< XDoubleNode > & powerMax (unsigned int lp) const
 
const shared_ptr< XDoubleNode > & powerMin (unsigned int lp) const
 
const shared_ptr< XDoubleNode > & stabilized (unsigned int lp) const
 holds an averaged error between target temp and actual one
 
const shared_ptr< XItemNode
< XDriverList, XDCSource,
XFlowControllerDriver > > & 
extDevice (unsigned int lp) const
 PID control of an external device.
 
const shared_ptr< XComboNode > & extDCSourceChannel (unsigned int lp) const
 
const shared_ptr< XBoolNode > & extIsPositive (unsigned int lp) 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)
 
void createChannels (Transaction &tr, const shared_ptr< XMeasure > &meas, bool multiread, std::initializer_list< XString > channel_names, std::initializer_list< XString > excitations, std::initializer_list< XString > loop_names)
 
virtual double getRaw (shared_ptr< XChannel > &channel)=0
 reads sensor value from the instrument
 
virtual double getTemp (shared_ptr< XChannel > &channel)=0
 reads a value in Kelvin from the instrument
 
virtual double getHeater (unsigned int loop)=0
 
virtual const char * m_heaterPowerUnit (unsigned int loop)=0
 ex. "W", "dB", or so
 
bool hasExtDevice (const Snapshot &shot, unsigned int lp) const
 
virtual void onPChanged (unsigned int loop, double p)=0
 
virtual void onIChanged (unsigned int loop, double i)=0
 
virtual void onDChanged (unsigned int loop, double d)=0
 
virtual void onTargetTempChanged (unsigned int loop, double temp)=0
 
virtual void onManualPowerChanged (unsigned int loop, double pow)=0
 
virtual void onHeaterModeChanged (unsigned int loop, int mode)=0
 
virtual void onPowerRangeChanged (unsigned int loop, int range)=0
 
virtual void onPowerMaxChanged (unsigned int loop, double v)=0
 
virtual void onPowerMinChanged (unsigned int loop, double v)=0
 
virtual void onCurrentChannelChanged (unsigned int loop, const shared_ptr< XChannel > &ch)=0
 
virtual void onExcitationChanged (const shared_ptr< XChannel > &ch, int exc)=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

shared_ptr< Looploop (unsigned int lp)
 
const shared_ptr< Looploop (unsigned int lp) const
 
void onSetupChannelChanged (const Snapshot &shot, XValueNodeBase *)
 
void onExcitationChangedInternal (const Snapshot &shot, XValueNodeBase *)
 
void * execute (const atomic< bool > &)
 

Private Attributes

shared_ptr< XChannelListm_channels
 
std::deque< shared_ptr< Loop > > m_loops
 
shared_ptr< XItemNode
< XChannelList, XChannel > > 
m_setupChannel
 
shared_ptr< XListenerm_lsnOnSetupChannelChanged
 
shared_ptr< XListenerm_lsnOnExcitationChanged
 
std::deque< shared_ptr
< XScalarEntry > > 
m_entry_temps
 
std::deque< shared_ptr
< XScalarEntry > > 
m_entry_raws
 
const qshared_ptr< FrmTempControlm_form
 
bool m_multiread
 
xqcon_ptr m_conSetupChannel
 
xqcon_ptr m_conExcitation
 
xqcon_ptr m_conThermometer
 

Additional Inherited Members

- 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

Definition at line 27 of file tempcontrol.h.

Member Function Documentation

void XTempControl::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()

Since raw buffer is Fast-in Fast-out, use the same sequence of push()es for pop()s

Implements XPrimaryDriver.

Definition at line 393 of file tempcontrol.cpp.

void XTempControl::createChannels ( Transaction tr,
const shared_ptr< XMeasure > &  meas,
bool  multiread,
std::initializer_list< XString channel_names,
std::initializer_list< XString excitations,
std::initializer_list< XString loop_names 
)
protected

Prepares channel names in your constructor.

Parameters
multireadif true, simultaneous reading of multi channels.
channel_namesarray of pointers to channel name. ends with null pointer.

Definition at line 434 of file tempcontrol.cpp.

References Transactional::Node< XNode >::iterate_commit().

virtual double XTempControl::getHeater ( unsigned int  loop)
protectedpure virtual
void XTempControl::showForms ( )
virtual

show all forms belonging to driver

impliment form->show() here

Implements XPrimaryDriver.

Definition at line 387 of file tempcontrol.cpp.

void XTempControl::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 412 of file tempcontrol.cpp.


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

Generated for KAME4 by  doxygen 1.8.3