ConOpSys V2970  P004.07
ANVILEX control operating system
DIO_STM32F429.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file DIO_STM32F429.h
3 //! @brief STM32F429 digital I/O class header file.
4 //! @copyright ANVILEX LLC
5 //! @attention No special attention requered.
6 //! $HeadURL: https://192.168.3.4:8443/svn/P004_07/ConOpSys/Hardware/P016_05_PUC2/DIO_STM32F429.h $
7 //! $Revision: 2203 $
8 //! $Date: 2020-11-21 14:58:09 +0500 (Sa, 21 Nov 2020) $
9 //! $Author: minch $
10 //
11 // Copyright(C) 2015-2021 ANVILEX LLC
12 //
13 // Redistribution and use in source and binary forms, with or without
14 // modification, are permitted provided that the following conditions are met:
15 //
16 // 1. Redistributions of source code must retain the above copyright notice,
17 // this list of conditions and the following disclaimer.
18 //
19 // 2. Redistributions in binary form must reproduce the above copyright notice,
20 // this list of conditions and the following disclaimer in the documentation
21 // and/or other materials provided with the distribution.
22 //
23 // 3. Neither the name of ANVILEX nor the names of its contributors may be
24 // used to endorse or promote products derived from this software without
25 // specific prior written permission.
26 //
27 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
31 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37 // POSSIBILITY OF SUCH DAMAGE.
38 //
39 //------------------------------------------------------------------------------
40 
41 #pragma once
42 
43 //------------------------------------------------------------------------------
44 // Include project files
45 //------------------------------------------------------------------------------
46 
47 //------------------------------------------------------------------------------
48 // Class declarations
49 //------------------------------------------------------------------------------
50 
51 //! @brief On chip digital I/O class
53 {
54 
55  //----------------------------------------------------------------------------
56  // Public defines, methods and variables
57  //----------------------------------------------------------------------------
58 
59  public:
60 
61  //--------------------------------------------------------------------------
62  // Public methods
63  //--------------------------------------------------------------------------
64 
65  //!-------------------------------------------------------------------------
66  //! @brief Class constructor method
67  //! @note None
68  //! \par Override
69  //! Not allowed
70  //! @attention Don't call this method directly.
71  //--------------------------------------------------------------------------
72 
74 
75  //!-------------------------------------------------------------------------
76  //! @brief Class destructor method
77  //! @note None
78  //! \par Override
79  //! Not allowed
80  //! @attention Don't call this method directly.
81  //--------------------------------------------------------------------------
82 
83  virtual ~TDIO_STM32F429();
84 
85  //!-------------------------------------------------------------------------
86  //! @brief PIO initialisation method
87  //! @note None
88  //! @return None
89  //! \par Override
90  //! Not allowed
91  //! @attention None
92  //--------------------------------------------------------------------------
93 
94  virtual VOID PIO_Init() = 0;
95 
96  //!-------------------------------------------------------------------------
97  //! @brief PIO reinitialisation as GPIO method
98  //! @note None
99  //! @return None
100  //! \par Override
101  //! Not allowed
102  //! @attention None
103  //--------------------------------------------------------------------------
104 
105  virtual VOID PIO_Done() = 0;
106 
107  //!-------------------------------------------------------------------------
108  //! @brief Get digital input status method
109  //! @note None
110  //! @param [in] u8_Index - Digital input index
111  //! @param [out] *bool_Status - Digital input status
112  //! @return BOOL - Execution status
113  //! @retval false - Digital input not found
114  //! @retval true - Success
115  //! \par Override
116  //! Not allowed
117  //! @attention None
118  //--------------------------------------------------------------------------
119 
120  virtual BOOL Get_Input( U8 u8_Index, BOOL *bool_Status );
121 
122  //!-------------------------------------------------------------------------
123  //! @brief Set digital output method
124  //! @note None
125  //! @param [in] u8_Index - Digital output index
126  //! @param [in] bool_Status - Digital output status to set
127  //! @return BOOL - Execution status
128  //! @retval false - Digital output not found
129  //! @retval true - Success
130  //! \par Override
131  //! Not allowed
132  //! @attention None
133  //--------------------------------------------------------------------------
134 
135  virtual BOOL Set_Output( U8 u8_Index, BOOL bool_Status );
136 
137  //----------------------------------------------------------------------------
138  // Protected defines, methods and variables
139  //----------------------------------------------------------------------------
140 
141  protected:
142 
143  //----------------------------------------------------------------------------
144  // Private defines, methods and variables
145  //----------------------------------------------------------------------------
146 
147  private:
148 
149 };
150 
151 //------------------------------------------------------------------------------
152 // End of file
153 //------------------------------------------------------------------------------
int BOOL
Boolean datatype definition.
Definition: Defines.h:124
unsigned char U8
Binary 8-Bit unsigned integer datatype defenition.
Definition: Defines.h:183
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
On chip digital I/O class.
Definition: DIO_STM32F429.h:53
virtual BOOL Set_Output(U8 u8_Index, BOOL bool_Status)
Set digital output method.
Definition: DIO_STM32F429.cpp:97
virtual VOID PIO_Init()=0
PIO initialisation method.
TDIO_STM32F429()
Class constructor method.
Definition: DIO_STM32F429.cpp:69
virtual VOID PIO_Done()=0
PIO reinitialisation as GPIO method.
virtual ~TDIO_STM32F429()
Class destructor method.
Definition: DIO_STM32F429.cpp:77
virtual BOOL Get_Input(U8 u8_Index, BOOL *bool_Status)
Get digital input status method.
Definition: DIO_STM32F429.cpp:85