7 * \copyright Copyright (c) 2013 Infineon Technologies AG. All rights reserved.
8 *
9 *
10 * IMPORTANT NOTICE
11 *
12 *
13 * Infineon Technologies AG (Infineon) is supplying this file for use
14 * exclusively with Infineon's microcontroller products. This file can be freely
15 * distributed within development tools that are supporting such microcontroller
16 * products.
17 *
18 * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
19 * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
20 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
21 * INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL,
22 * OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
23 *
24 *
25 * \defgroup IfxLld_Iom_Iom_Usage How to use the IOM Iom Interface driver?
26 * \ingroup IfxLld_Iom
27 *
28 * IOM Module takes the monitor and reference signals from applicable system peripherals(GTM,CCU6,QSPI,PSI5,ASCLIN) and also from external hardware(Sensors) and compare them with respect to one another and generate the alarm events which are routed to SMU.
29 *
30 * In the following sections it will be described, how to integrate the driver into the application framework.
90 * //Initialize the Logic Analyser Module with supplied configuration
91 * IfxIom_Iom_initAnalyser(&iom, &lamConfig);
92 *
93 * //Initialize the default Event Combiner Module configuration buffer
94 * IfxIom_Iom_initCombinerConfig(&ecmConfig);
95 * //Initialize the Logic Analyser Module with supplied configuration
96 * IfxIom_Iom_initCombiner(&iom, &ecmConfig);
97 * \endcode
98 *
99 * The IOM is ready for use now!
100 *
101 * Once the Iom driver is initialized, GTM or CCU6 or QSPI or PSI5 or ASCLIN should be configured to get the two signals with some delay by which event occur.
102 *
103 * The tested two signals are at below pins.
104 *
105 * To generate GTM signals see \ref IfxLld_Gtm_Tom_PwmHl_Usage
106 *
107 * Two GTM signals at below PWM out pins are used as monitor or reference to IOM
108 *
109 * Ifx_P* testPort0 = &MODULE_P33;
110 * uint8 testPin0 = 2;
111 * Ifx_P* testPort1 = &MODULE_P02;
112 * uint8 testPin1 = 2;
113 *
114 * First pin is for Monitor and second pin is for reference. The above initialized IOM generates the event to SMU if pulse or duty cycle too short.
115 *
116 * \defgroup IfxLld_Iom_Iom Iom
117 * \ingroup IfxLld_Iom
118 * \defgroup IfxLld_Iom_Iom_Structures Data Structures
145uint32 eventCombinerSelection0 : 1; /**< \brief Determines the inclusion of the channel0 event in the generation of the global event */
146uint32 eventCombinerSelection1 : 1; /**< \brief Determines the inclusion of the channel1 event in the generation of the global event */
147uint32 eventCombinerSelection2 : 1; /**< \brief Determines the inclusion of the channel2 event in the generation of the global event */
148uint32 eventCombinerSelection3 : 1; /**< \brief Determines the inclusion of the channel3 event in the generation of the global event */
149uint32 eventCombinerSelection4 : 1; /**< \brief Determines the inclusion of the channel4 event in the generation of the global event */
150uint32 eventCombinerSelection5 : 1; /**< \brief Determines the inclusion of the channel5 event in the generation of the global event */
151uint32 eventCombinerSelection6 : 1; /**< \brief Determines the inclusion of the channel6 event in the generation of the global event */
152uint32 eventCombinerSelection7 : 1; /**< \brief Determines the inclusion of the channel7 event in the generation of the global event */
153uint32 eventCombinerSelection8 : 1; /**< \brief Determines the inclusion of the channel8 event in the generation of the global event */
154uint32 eventCombinerSelection9 : 1; /**< \brief Determines the inclusion of the channel9 event in the generation of the global event */
155uint32 eventCombinerSelection10 : 1; /**< \brief Determines the inclusion of the channel10 event in the generation of the global event */
156uint32 eventCombinerSelection11 : 1; /**< \brief Determines the inclusion of the channel11 event in the generation of the global event */
157uint32 eventCombinerSelection12 : 1; /**< \brief Determines the inclusion of the channel12 event in the generation of the global event */
158uint32 eventCombinerSelection13 : 1; /**< \brief Determines the inclusion of the channel13 event in the generation of the global event */
159uint32 eventCombinerSelection14 : 1; /**< \brief Determines the inclusion of the channel14 event in the generation of the global event */
160uint32 eventCombinerSelection15 : 1; /**< \brief Determines the inclusion of the channel15 event in the generation of the global event */
161uint32 countedEventCombinerSelection0 : 1; /**< \brief Determines the inclusion of the respective channel event counter output (1 of 4) in the generation of the global event (AND function). */
162uint32 countedEventCombinerSelection1 : 1; /**< \brief Determines the inclusion of the respective channel event counter output (1 of 4) in the generation of the global event (AND function). */
163uint32 countedEventCombinerSelection2 : 1; /**< \brief Determines the inclusion of the respective channel event counter output (1 of 4) in the generation of the global event (AND function). */
164uint32 countedEventCombinerSelection3 : 1; /**< \brief Determines the inclusion of the respective channel event counter output (1 of 4) in the generation of the global event (AND function). */
202IfxIom_Iom_EcmGlobalEventSelectionglobalEventSelection; /**< \brief Specifies which channel event & which counted event to be included in global event generation. bit [15:0] specifies the channel event selection and bit [19:16] specifies accumulated event */
231IfxIom_LamMonitorSourcelamMonitorSource; /**< \brief Specifies whether the monitor signal from the FPC monitor channel is sourced directly or compared with the reference signal from the FPC reference channel for the event compare. */
232IfxIom_LamRunModelamMode; /**< \brief Specifies whether the event window generation is free-running or gated with the monitor or reference. */
233booleaneventWindowInverted; /**< \brief Specifies whether the event window polarity is inverted or not. */