iLLD_TC29x  1.0
Icu.h
Go to the documentation of this file.
1 /**
2  * \file Icu.h
3  * \brief ICU interface
4  *
5  * \version iLLD_1_0_0_11_0
6  * \copyright Copyright (c) 2013 Infineon Technologies AG. All rights reserved.
7  *
8  *
9  * IMPORTANT NOTICE
10  *
11  *
12  * Infineon Technologies AG (Infineon) is supplying this file for use
13  * exclusively with Infineon's microcontroller products. This file can be freely
14  * distributed within development tools that are supporting such microcontroller
15  * products.
16  *
17  * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
18  * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
19  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
20  * INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL,
21  * OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
22  *
23  * \defgroup library_srvsw_if_icu ICU interface
24  * \ingroup library_srvsw_if
25  *
26  */
27 
28 #ifndef ICU_H_
29 #define ICU_H_ 1
30 
31 #include "Cpu/Std/Ifx_Types.h"
32 
33 typedef struct Icu_s Icu;
34 typedef void (*Icu_StartCapture)(Icu *handle);
35 typedef void (*Icu_StopCapture)(Icu *handle);
36 typedef void (*Icu_GetTimeStamp)(Icu *handle);
37 
38 typedef struct
39 {
44 
45 /** \brief Structure of the Icu interface */
46 struct Icu_s
47 {
48  float32 frequency; /**< \brief dummy member to avoid error */
49 #if IFX_CFG_USE_STANDARD_INTERFACE
50  Icu_Functions functions; /**< \brief Actual timer period */
51 #endif
52 };
53 
54 /** \brief Configuration structure of the Icu interface */
55 typedef struct
56 {
57  float32 frequency; /**< \brief dummy member to avoid error */
58 // IfxCcu6_Timer *timer;
59 } Icu_Config;
60 
61 #if IFX_CFG_USE_STANDARD_INTERFACE
62 IFX_INLINE void Icu_startCapture(Icu *handle) {handle->functions.startCapture(handle); }
63 IFX_INLINE void Icu_stopCapture(Icu *handle) {handle->functions.stopCapture(handle); }
64 IFX_INLINE void Icu_getTimeStamp(Icu *handle) {handle->functions.getTimeStamp(handle); }
65 #endif
66 
67 #endif /* ICU_H_ */