ConOpSys V2970  P004.07
ANVILEX control operating system
Execution_Profile.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file Execution_Profile.h
3 //! @brief Execution profile class 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/Targets/STM32F429/FMC_STM32F429.h $
7 //! $Revision: 2081 $
8 //! $Date: 2020-09-13 15:34:05 +0500 (Вс, 13 сен 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 "Defines.h"
55 
56 //------------------------------------------------------------------------------
57 // Class definitions
58 //------------------------------------------------------------------------------
59 
60 //! @brief Execution profile class
62 {
63 
64  //----------------------------------------------------------------------------
65  // Public defines, methods and variables
66  //----------------------------------------------------------------------------
67 
68  public:
69 
70  //!-------------------------------------------------------------------------
71  //! @brief Class constructor method.
72  //! @note None
73  //! \par Override
74  //! Not allowed
75  //! @attention Don't call this method directly.
76  //--------------------------------------------------------------------------
77 
79 
80  //!-------------------------------------------------------------------------
81  //! @brief Class destructor method.
82  //! @note None
83  //! \par Override
84  //! Not allowed
85  //! @attention Don't call this method directly.
86  //--------------------------------------------------------------------------
87 
89 
90  //!-------------------------------------------------------------------------
91  //! @brief Initialization method.
92  //! @note None
93  //! @return None
94  //! \par Override
95  //! Not allowed
96  //! @attention Don't call this method directly.
97  //--------------------------------------------------------------------------
98 
99  VOID Init();
100 
101  //!-------------------------------------------------------------------------
102  //! @brief Execution method.
103  //! @note None
104  //! @return None
105  //! \par Override
106  //! Not allowed
107  //! @attention Don't call this method directly.
108  //--------------------------------------------------------------------------
109 
110  VOID Execute();
111 
112  //!-------------------------------------------------------------------------
113  //! @brief Start recording method.
114  //! @note None
115  //! @return None
116  //! \par Override
117  //! Not allowed
118  //! @attention Don't call this method directly.
119  //--------------------------------------------------------------------------
120 
122 
123  //!-------------------------------------------------------------------------
124  //! @brief Stop recording method.
125  //! @note None
126  //! @return None
127  //! \par Override
128  //! Not allowed
129  //! @attention Don't call this method directly.
130  //--------------------------------------------------------------------------
131 
133 
134  //!-------------------------------------------------------------------------
135  //! @brief Get maximum execution time method.
136  //! @note None
137  //! @return U32 - Maximum execution time
138  //! \par Override
139  //! Not allowed
140  //! @attention Don't call this method directly.
141  //--------------------------------------------------------------------------
142 
144 
145  //----------------------------------------------------------------------------
146  // Protected defines, methods and variables
147  //----------------------------------------------------------------------------
148 
149  protected:
150 
151  //----------------------------------------------------------------------------
152  // Private defines, methods and variables
153  //----------------------------------------------------------------------------
154 
155  private:
156 
157  //! @bref Maximim execution time value
159 
160  //! @bref Start recording time value
162 
163  //! @bref Ending recording time value
165 
166 };
167 
168 //------------------------------------------------------------------------------
169 // End of file
170 //------------------------------------------------------------------------------
171 
ConOpSys data type definitions header file.
unsigned long long U64
Binary 64-Bit unsigned integer datatype defenition.
Definition: Defines.h:213
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
unsigned long U32
Binary 32-Bit unsigned integer datatype defenition.
Definition: Defines.h:203
Execution profile class.
Definition: Execution_Profile.h:62
VOID Stop_Recording()
Stop recording method.
Definition: Execution_Profile.cpp:99
U64 u64_Stop_Recording_Time
@bref Ending recording time value
Definition: Execution_Profile.h:164
U32 Get_Maximum_Execution_Time()
Get maximum execution time method.
Definition: Execution_Profile.cpp:132
~TExecution_Profile()
Class destructor method.
Definition: Execution_Profile.cpp:71
TExecution_Profile()
Class constructor method.
Definition: Execution_Profile.cpp:63
VOID Start_Recording()
Start recording method.
Definition: Execution_Profile.cpp:87
VOID Init()
Initialization method.
Definition: Execution_Profile.cpp:79
U64 u64_Maximuam_Execution_Time
@bref Maximim execution time value
Definition: Execution_Profile.h:158
U64 u64_Start_Recording_Time
@bref Start recording time value
Definition: Execution_Profile.h:161
VOID Execute()
Execution method.
Definition: Execution_Profile.cpp:111