ConOpSys V2970  P004.07
ANVILEX control operating system
P012_33_V1_0_IGBT_IO.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file P012_33_V1_0_IGBT_IO.h
3 //! @brief IGBT interface I/O board P012.33 V1.0 hardware driver header file.
4 //! @attention No special attention requered.
5 //! @copyright (C) 2015-2020 ANVILEX LLC
6 //! $HeadURL: https://192.168.3.4:8443/svn/P004_07/ConOpSys/Hardware/P012_33_V1_0_IGBT_IO/P012_33_V1_0_IGBT_IO.h $
7 //! $Revision: 2262 $
8 //! $Date: 2020-12-05 07:20:48 +0500 (Sa, 05 Dez 2020) $
9 //! $Author: minch $
10 //------------------------------------------------------------------------------
11 //
12 // Redistribution and use in source and binary forms, with or without
13 // modification, are permitted provided that the following conditions are met:
14 //
15 // 1. Redistributions of source code must retain the above copyright notice,
16 // this list of conditions and the following disclaimer.
17 //
18 // 2. Redistributions in binary form must reproduce the above copyright notice,
19 // this list of conditions and the following disclaimer in the documentation
20 // and/or other materials provided with the distribution.
21 //
22 // 3. Neither the name of ANVILEX nor the names of its contributors may be
23 // used to endorse or promote products derived from this software without
24 // specific prior written permission.
25 //
26 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
30 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 // POSSIBILITY OF SUCH DAMAGE.
37 //
38 //------------------------------------------------------------------------------
39 
40 #pragma once
41 
42 //------------------------------------------------------------------------------
43 // Include standard libraries header files
44 //------------------------------------------------------------------------------
45 
46 //------------------------------------------------------------------------------
47 // Include thrid party header files
48 //------------------------------------------------------------------------------
49 
50 //------------------------------------------------------------------------------
51 // Include ConOpSys header files
52 //------------------------------------------------------------------------------
53 
54 #include "Functional_Block_Base.h"
55 
56 //------------------------------------------------------------------------------
57 // Include ConOpSys application header files
58 //------------------------------------------------------------------------------
59 
60 //------------------------------------------------------------------------------
61 // Macros
62 //------------------------------------------------------------------------------
63 
64 //! @brief IGBT interface I/O P012.33 V1.0 board TP012_33_V1_0_IGBT_IO class
65 class TP012_33_V1_0_IGBT_IO : public TFunctional_Block_Base
66 {
67 
68  //----------------------------------------------------------------------------
69  // Public defines, methods and variables
70  //----------------------------------------------------------------------------
71 
72  public:
73 
74  //--------------------------------------------------------------------------
75  // Public type definitions
76  //--------------------------------------------------------------------------
77 
78  // Register structure for generic access
79  typedef struct
80  {
81 
82  U16 u16_IO_Status; //!< I/O status read register
86  U16 u16_IO_Status_Latch; //!< I/O status latch read register
90 
92 
93  //--------------------------------------------------------------------------
94  // Public methods
95  //--------------------------------------------------------------------------
96 
97  // Constructor and destructor
100 
101  VOID Map( TP012_33_V1_0_IGBT_IO_Registers *struct_Registers_Base_Address );
102  virtual VOID Init();
103  virtual VOID Execute();
104  virtual VOID Send_Information( TProtocol_Base *object_Protocol );
105 
106  //--------------------------------------------------------------------------
107  // Public variables
108  //--------------------------------------------------------------------------
109 
110  // Block inputs
111 
112  // Block outputs
123 
124  //----------------------------------------------------------------------------
125  // Protected defines, methods and variables
126  //----------------------------------------------------------------------------
127 
128  protected:
129 
130  //----------------------------------------------------------------------------
131  // private defines, methods and variables
132  //----------------------------------------------------------------------------
133 
134  private:
135 
136  typedef union
137  {
139  struct
140  {
146  U16 :1;
147  U16 :1;
148  U16 :1;
151  U16 :1;
152  U16 :1;
153  U16 :1;
154  U16 :1;
155  U16 :1;
156  U16 :1;
157  };
158  } TStatus;
159 
161 
162 };
163 
164 //------------------------------------------------------------------------------
165 // End Of File
166 //------------------------------------------------------------------------------
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
unsigned short U16
Binary 16-Bit unsigned integer datatype defenition.
Definition: Defines.h:193
Function block output connector class.
Definition: Block_Output_Connector.h:59
IGBT interface I/O P012.33 V1.0 board TP012_33_V1_0_IGBT_IO class.
Definition: P012_33_V1_0_IGBT_IO.h:66
TBlock_Output_Connector object_bool_IGBT_Error_1
Definition: P012_33_V1_0_IGBT_IO.h:119
TP012_33_V1_0_IGBT_IO()
IGBT interface I/O board P012.33 V1.0 object conctructor.
Definition: P012_33_V1_0_IGBT_IO.cpp:68
TBlock_Output_Connector object_u16_IO_Status_Latch
Definition: P012_33_V1_0_IGBT_IO.h:114
TBlock_Output_Connector object_bool_Global_Error
Definition: P012_33_V1_0_IGBT_IO.h:115
~TP012_33_V1_0_IGBT_IO()
Plastic fiber optic RX board P014.48 V1.0 object destructor.
Definition: P012_33_V1_0_IGBT_IO.cpp:119
virtual VOID Execute()
IGBT interface I/O board P012.33 V1.0 execute method.
Definition: P012_33_V1_0_IGBT_IO.cpp:155
volatile TP012_33_V1_0_IGBT_IO_Registers * struct_Registers
Definition: P012_33_V1_0_IGBT_IO.h:160
TBlock_Output_Connector object_bool_Supply_Error
Definition: P012_33_V1_0_IGBT_IO.h:116
TBlock_Output_Connector object_bool_Cable_Error_2
Definition: P012_33_V1_0_IGBT_IO.h:118
TBlock_Output_Connector object_u16_IO_Status
Definition: P012_33_V1_0_IGBT_IO.h:113
TBlock_Output_Connector object_bool_Cable_Error_1
Definition: P012_33_V1_0_IGBT_IO.h:117
TBlock_Output_Connector object_bool_IGBT_Control_2
Definition: P012_33_V1_0_IGBT_IO.h:122
virtual VOID Send_Information(TProtocol_Base *object_Protocol)
Send detailed information about functional block.
Definition: P012_33_V1_0_IGBT_IO.cpp:185
TBlock_Output_Connector object_bool_IGBT_Control_1
Definition: P012_33_V1_0_IGBT_IO.h:121
TBlock_Output_Connector object_bool_IGBT_Error_2
Definition: P012_33_V1_0_IGBT_IO.h:120
virtual VOID Init()
IGBT interface I/O board P012.33 V1.0 object initialization.
Definition: P012_33_V1_0_IGBT_IO.cpp:145
VOID Map(TP012_33_V1_0_IGBT_IO_Registers *struct_Registers_Base_Address)
IGBT interface I/O board P012.33 V1.0 memory mapping.
Definition: P012_33_V1_0_IGBT_IO.cpp:130
Definition: Protocol_Base.h:57
Definition: P012_33_V1_0_IGBT_IO.h:80
U16 u16_Reserved_5
Definition: P012_33_V1_0_IGBT_IO.h:87
U16 u16_IO_Status
I/O status read register.
Definition: P012_33_V1_0_IGBT_IO.h:82
U16 u16_Reserved_7
Definition: P012_33_V1_0_IGBT_IO.h:89
U16 u16_Reserved_3
Definition: P012_33_V1_0_IGBT_IO.h:85
U16 u16_Reserved_6
Definition: P012_33_V1_0_IGBT_IO.h:88
U16 u16_Reserved_1
Definition: P012_33_V1_0_IGBT_IO.h:83
U16 u16_Reserved_2
Definition: P012_33_V1_0_IGBT_IO.h:84
U16 u16_IO_Status_Latch
I/O status latch read register.
Definition: P012_33_V1_0_IGBT_IO.h:86
U16 u16_Cable_Status_2
Definition: P012_33_V1_0_IGBT_IO.h:143
U16 u16_IGBT_Control_1
Definition: P012_33_V1_0_IGBT_IO.h:149
U16 u16_IGBT_Status_2
Definition: P012_33_V1_0_IGBT_IO.h:145
U16 u16_Supply_Status
Definition: P012_33_V1_0_IGBT_IO.h:141
U16 u16_IGBT_Status_1
Definition: P012_33_V1_0_IGBT_IO.h:144
U16 u16_IO_Status
Definition: P012_33_V1_0_IGBT_IO.h:138
U16 u16_Cable_Status_1
Definition: P012_33_V1_0_IGBT_IO.h:142
U16 u16_IGBT_Control_2
Definition: P012_33_V1_0_IGBT_IO.h:150