ConOpSys V2970  P004.07
ANVILEX control operating system
Sensor_Link_Channel.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file Sensor_Link_Channel.h
3 //! @author ANVILEX GmbH
4 //! @version V1.0
5 //! @date 25.05.2015
6 //! @brief Sensor link channel object header file.
7 //! @attention
8 //!
9 //! COPYRIGHT(C) 2015 ANVILEX GmbH
10 //!
11 //! Redistribution and use in source and binary forms, with or without
12 //! modification, are permitted provided that the following conditions are met:
13 //!
14 //! 1. Redistributions of source code must retain the above copyright notice,
15 //! this list of conditions and the following disclaimer.
16 //!
17 //! 2. Redistributions in binary form must reproduce the above copyright notice,
18 //! this list of conditions and the following disclaimer in the documentation
19 //! and/or other materials provided with the distribution.
20 //!
21 //! 3. Neither the name of ANVILEX nor the names of its contributors may be
22 //! used to endorse or promote products derived from this software without
23 //! specific prior written permission.
24 //!
25 //! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26 //! AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
29 //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 //! POSSIBILITY OF SUCH DAMAGE.
36 //------------------------------------------------------------------------------
37 
38 //------------------------------------------------------------------------------
39 // Protecting header files from mutual, recursive inclusion.
40 //------------------------------------------------------------------------------
41 
42 #pragma once
43 
44 //------------------------------------------------------------------------------
45 // Include standard libraries header files
46 //------------------------------------------------------------------------------
47 
48 //------------------------------------------------------------------------------
49 // Include thrid party header files
50 //------------------------------------------------------------------------------
51 
52 //------------------------------------------------------------------------------
53 // Include ConOpSys header files
54 //------------------------------------------------------------------------------
55 
56 #include "Function_Block_Base.h"
57 
58 //------------------------------------------------------------------------------
59 // Include ConOpSys application header files
60 //------------------------------------------------------------------------------
61 
62 //------------------------------------------------------------------------------
63 // Macros
64 //------------------------------------------------------------------------------
65 
66 //! @brief Sensor link channel object class
68 {
69 
70  //----------------------------------------------------------------------------
71  // Private defines, methods and variables
72  //----------------------------------------------------------------------------
73 
74  public:
75 
76  // Register structure for generic access
77  typedef struct
78  {
79 
80  union
81  {
82  U16 u16_Control; //!< Sensor link module control register
83  U16 u16_Status; //!< Sensor link module status register
84  };
85 
87 
88  I16 i16_Raw_Data_1; //!< RAW data 1 register
89  I16 i16_Raw_Data_2; //!< RAW data 2 register
90 
92 
93  //--------------------------------------------------------------------------
94  // Public methods
95  //--------------------------------------------------------------------------
96 
97  // Constructor and destructor
98  TSensor_Link_Channel(); //!< Constructor
99 
100  //!-------------------------------------------------------------------------
101  //! @brief Class destructor method.
102  //! @note None
103  //! \par Override
104  //! Not allowed
105  //! @attention Don't call this method directly.
106  //--------------------------------------------------------------------------
107 
108  virtual ~TSensor_Link_Channel();
109 
110  VOID Map( TSensor_Link_Channel_Registers *struct_Registers_Base_Address );
111 
112  //!-------------------------------------------------------------------------
113  //! @brief Function block initialisation method.
114  //! @note None
115  //! \par Override
116  //! Not allowed
117  //! @attention Don't call this method directly.
118  //--------------------------------------------------------------------------
119 
120  virtual VOID Init();
121 
122  //!-------------------------------------------------------------------------
123  //! @brief Function block execution method.
124  //! @note None
125  //! \par Override
126  //! Not allowed
127  //! @attention None
128  //--------------------------------------------------------------------------
129 
130  virtual VOID Execute();
131 
132  //--------------------------------------------------------------------------
133  // Public variables
134  //--------------------------------------------------------------------------
135 
136  // Inputs
137 
138  // Outputs
141 
142  //----------------------------------------------------------------------------
143  // Protected defines, methods and variables
144  //----------------------------------------------------------------------------
145 
146  protected:
147 
148  //----------------------------------------------------------------------------
149  // Private defines, methods and variables
150  //----------------------------------------------------------------------------
151 
152  private:
153 
155 
156 };
157 
158 //------------------------------------------------------------------------------
159 // Export references to the objects
160 //------------------------------------------------------------------------------
161 
162 //------------------------------------------------------------------------------
163 // Export references to the functions
164 //------------------------------------------------------------------------------
165 
166 //------------------------------------------------------------------------------
167 // End Of File
168 //------------------------------------------------------------------------------
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
short I16
2s Compliment 16-Bit signed integer datatype defenition
Definition: Defines.h:196
unsigned short U16
Binary 16-Bit unsigned integer datatype defenition.
Definition: Defines.h:193
Function block base class header file.
Function block base class for device.
Definition: Function_Block_Base.h:96