ConOpSys V2970  P004.07
ANVILEX control operating system
SYSTICK_STM32F429.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file SYSTICK_STM32F429.h
3 //! @brief STM32F429 on-chip SYSTICK timer module 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/SYSTICK_STM32F429.h $
7 //! $Revision: 2781 $
8 //! $Date: 2021-07-07 13:45:04 +0500 (Mi, 07 Jul 2021) $
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 project files
44 //------------------------------------------------------------------------------
45 
46 #include "System_Timer_Base.h"
47 
48 //------------------------------------------------------------------------------
49 // Class definitions
50 //------------------------------------------------------------------------------
51 
52 //! @brief STM32F429 interval timer class
53 //! @details This interval timer is used internally for triggering of the system task.
55 {
56 
57  //----------------------------------------------------------------------------
58  // Public defines, methods and variables
59  //----------------------------------------------------------------------------
60 
61  public:
62 
63  //!-------------------------------------------------------------------------
64  //! @brief Set system timer interrupt frequency method.
65  //! @note None
66  //! @param [in] f32_Frequency - Timer inperrupt frequency in herz
67  //! @return BOOL - Execution status
68  //! @retval false - Execution without errors
69  //! @retval true - Execution without any errors
70  //! \par Override
71  //! Optional
72  //! @attention None
73  //--------------------------------------------------------------------------
74 
75  VOID Set_Interrupt_Frequency( F32 f32_Frequency );
76 
77  //!-------------------------------------------------------------------------
78  //! @brief Enable interrupt method.
79  //! @note None
80  //! @param [in] u32_Interrupt_Priority - Timer inperrupt priority
81  //! @return None
82  //! \par Override
83  //! Not allowed
84  //! @attention None
85  //--------------------------------------------------------------------------
86 
87  virtual VOID Interrupt_Enable( U32 u32_Interrupt_Priority );
88 
89  //!-------------------------------------------------------------------------
90  //! @brief Disable interrupt method.
91  //! @note None
92  //! @return None
93  //! \par Override
94  //! Not allowed
95  //! @attention None
96  //--------------------------------------------------------------------------
97 
98  virtual VOID Interrupt_Disable();
99 
100  //!-------------------------------------------------------------------------
101  //! @brief Start timer operation method.
102  //! @note None
103  //! @return None
104  //! \par Override
105  //! Not allowed
106  //! @attention None
107  //--------------------------------------------------------------------------
108 
109  virtual VOID Start();
110 
111  //!-------------------------------------------------------------------------
112  //! @brief Stop timer operation method.
113  //! @note None
114  //! @return None
115  //! \par Override
116  //! Not allowed
117  //! @attention None
118  //--------------------------------------------------------------------------
119 
120  virtual VOID Stop();
121 
122  //----------------------------------------------------------------------------
123  // Protected defines, methods and variables
124  //----------------------------------------------------------------------------
125 
126  protected:
127 
128  //----------------------------------------------------------------------------
129  // Private defines, methods and variables
130  //----------------------------------------------------------------------------
131 
132  private:
133 
134 };
135 
136 //------------------------------------------------------------------------------
137 // End of file
138 //------------------------------------------------------------------------------
139 
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
unsigned long U32
Binary 32-Bit unsigned integer datatype defenition.
Definition: Defines.h:203
float F32
IEEE-754 32-Bit single presession floating point numbers datatype defenition.
Definition: Defines.h:324
System timer base class header file.
STM32F429 interval timer class.
Definition: SYSTICK_STM32F429.h:55
virtual VOID Start()
Start timer operation method.
Definition: SYSTICK_STM32F429.cpp:142
virtual VOID Interrupt_Disable()
Disable interrupt method.
Definition: SYSTICK_STM32F429.cpp:187
virtual VOID Stop()
Stop timer operation method.
Definition: SYSTICK_STM32F429.cpp:154
virtual VOID Interrupt_Enable(U32 u32_Interrupt_Priority)
Enable interrupt method.
Definition: SYSTICK_STM32F429.cpp:166
VOID Set_Interrupt_Frequency(F32 f32_Frequency)
Set system timer interrupt frequency method.
Definition: SYSTICK_STM32F429.cpp:66
System timer base class.
Definition: System_Timer_Base.h:66