Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cController.h
Go to the documentation of this file.
1 //
4 //
5 
6 #ifndef _INC_cController_H
7 #define _INC_cController_H
8 #ifndef NO_PRAGMA_ONCE
9 #pragma once
10 #endif
11 
12 #include "../GrayLibBase.h"
16 
17 namespace GrayLib
18 {
19  UNITTEST2_PREDEF(cController);
20  typedef float CONTROLVAL_t;
21 
23  {
28  public:
29  float m_fValOut;
31  // Output range scaling ?
32  public:
33  virtual HRESULT put_ValOutput(float fVal) = 0;
34  };
35 
37  {
42 
43  public:
44  cControllerOutput* m_pOutput; // we are trying to control this to match setpoint.
45 
46  private:
47  CONTROLVAL_t m_fValSensorLast;
48  CONTROLVAL_t m_fValSetpoint;
49  CONTROLVAL_t m_fDeadBandMin;
50  TIMESYSD_t m_nShortCycleTime;
51 
52  public:
54  virtual ~cControllerBase();
55 
56  HRESULT put_ValSetpoint(CONTROLVAL_t fValSetpoint);
57 
58  virtual HRESULT OnTick(CONTROLVAL_t fValSensor);
59 
60  UNITTEST_FRIEND(cController);
61  };
62 
64  {
67  public:
69  virtual HRESULT OnTick(CONTROLVAL_t fValSensor);
70  };
72  {
75  public:
77  virtual HRESULT OnTick(CONTROLVAL_t fValSensor);
78  };
79 
81  {
85  public:
87  virtual HRESULT OnTick(CONTROLVAL_t fValSensor);
88  };
89 };
90 #endif
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: cController.h:37
UNITTEST_FRIEND(cController)
cControllerOutput * m_pOutput
Definition: cController.h:44
Definition: cController.h:72
cControllerCool(cControllerOutput *pOutput)
Definition: cController.h:81
cControllerHeatCool(cControllerOutput *pOutput)
Definition: cController.h:64
cControllerHeat(cControllerOutput *pOutput)
Definition: cController.h:23
virtual HRESULT put_ValOutput(float fVal)=0
bool m_bBinaryOutput
No variable control. CONTROLVAL_t is really just binary output.
Definition: cController.h:30
float m_fValOut
Last output set.
Definition: cController.h:29
Definition: cRefPtr.h:22
Definition: cMesh.h:22
float CONTROLVAL_t
cController type.
Definition: cController.h:20
UNITTEST2_PREDEF(cQuadtree)
INT32 TIMESYSD_t
Time delta. signed milli-Seconds Span. cTimeSys::k_DMAX, cTimeSys::k_INF = MAILSLOT_WAIT_FOREVER.
Definition: cTimeSys.h:28