Infineon MOTIX™ MCU TLE988x/9x Device Family SDK
cantrx.h
Go to the documentation of this file.
1 /*
2  ***********************************************************************************************************************
3  *
4  * Copyright (c) Infineon Technologies AG
5  * All rights reserved.
6  *
7  * The applicable license agreement can be found at this pack's installation directory in the file
8  * license/IFX_SW_Licence_MOTIX_LITIX.txt
9  *
10  **********************************************************************************************************************/
22 /*******************************************************************************
23 ** Author(s) Identity **
24 ********************************************************************************
25 ** Initials Name **
26 ** ---------------------------------------------------------------------------**
27 ** DM Daniel Mysliwitz **
28 ** BG Blandine Guillot **
29 ** JO Julia Ott **
30 *******************************************************************************/
31 
32 /*******************************************************************************
33 ** Revision Control History **
34 ********************************************************************************
35 ** V0.1.0: 2019-10-28, DM: Initial version **
36 ** V0.2.0: 2020-04-28, BG: Updated revision history format **
37 ** V0.3.0: 2020-11-27, BG: EP-627: Added functions for CANTRX **
38 ** V0.3.1: 2020-12-18, BG: EP-652: Corrected name of error code variable **
39 ** V0.3.2: 2021-02-02, BG: EP-654: Separated CAN and CANTRX **
40 ** Renamed file **
41 ** V0.3.3: 2021-04-06, BG: EP-760: Replaced if instructions to check if the **
42 ** module is enabled with preprocessor directives to**
43 ** avoid compiler warnings **
44 ** V0.3.4: 2021-11-12, JO: EP-937: Updated copyright and branding **
45 ** V0.3.5: 2024-11-05, JO: EP-1494: Updated license **
46 *******************************************************************************/
47 
48 #ifndef _CANTRX_H
49 #define _CANTRX_H
50 
51 /*******************************************************************************
52 ** Includes **
53 *******************************************************************************/
54 
55 #include "types.h"
56 #include "tle989x.h"
57 #include "cantrx_defines.h"
58 
59 /*******************************************************************************
60 ** Global Constant Declarations **
61 *******************************************************************************/
62 
63 /*******************************************************************************
64 ** Global Type Declarations **
65 *******************************************************************************/
66 
67 /*******************************************************************************
68 ** Global Macro Declarations **
69 *******************************************************************************/
70 
71 /*******************************************************************************
72 ** Global Function Declarations **
73 *******************************************************************************/
74 
75 sint8 CANTRX_init(void);
99 
100 /*******************************************************************************
101 ** Deprecated Function Declarations **
102 *******************************************************************************/
103 
107 void CANTRX_setCANTRXIntNodePtr(void) __attribute__((deprecated("Do not change this at runtime, use the ConfigWizard to configure this feature!")));
108 
109 /*******************************************************************************
110 ** Global Inline Function Definitions **
111 *******************************************************************************/
112 
116 {
117  CANTRX->IRQEN.bit.BUS_TO_IEN = 1u;
118 }
119 
123 {
124  CANTRX->IRQEN.bit.BUS_TO_IEN = 0u;
125 }
126 
132 {
133  return CANTRX->IRQS.bit.BUS_TO_IS;
134 }
135 
141 {
142  return CANTRX->IRQS.bit.BUS_TO_STS;
143 }
144 
148 {
149  CANTRX->IRQCLR.bit.BUS_TO_ISC = 1u;
150 }
151 
155 {
156  CANTRX->IRQCLR.bit.BUS_TO_SC = 1u;
157 }
158 
162 {
163  CANTRX->IRQEN.bit.TXD_TO_IEN = 1u;
164 }
165 
169 {
170  CANTRX->IRQEN.bit.TXD_TO_IEN = 0u;
171 }
172 
178 {
179  return CANTRX->IRQS.bit.TXD_TO_IS;
180 }
181 
187 {
188  return CANTRX->IRQS.bit.TXD_TO_STS;
189 }
190 
194 {
195  CANTRX->IRQCLR.bit.TXD_TO_ISC = 1u;
196 }
197 
201 {
202  CANTRX->IRQCLR.bit.TXD_TO_SC = 1u;
203 }
204 
208 {
209  CANTRX->IRQEN.bit.OT_IEN = 1u;
210 }
211 
215 {
216  CANTRX->IRQEN.bit.OT_IEN = 0u;
217 }
218 
224 {
225  return CANTRX->IRQS.bit.OT_IS;
226 }
227 
233 {
234  return CANTRX->IRQS.bit.OT_STS;
235 }
236 
240 {
241  CANTRX->IRQCLR.bit.OT_ISC = 1u;
242 }
243 
247 {
248  CANTRX->IRQCLR.bit.OT_SC = 1u;
249 }
250 
254 {
255  CANTRX->IRQEN.bit.BUS_ACT_IEN = 1u;
256 }
257 
261 {
262  CANTRX->IRQEN.bit.BUS_ACT_IEN = 0u;
263 }
264 
270 {
271  return CANTRX->IRQS.bit.BUS_ACT_IS;
272 }
273 
279 {
280  return CANTRX->IRQS.bit.UV_STS;
281 }
282 
286 {
287  CANTRX->IRQCLR.bit.BUS_ACT_ISC = 1u;
288 }
289 
290 #endif /* _CAN_H */
INLINE void CANTRX_clrBusDominantTimeoutSts(void)
Clear Bus Dominant Timeout Status.
Definition: cantrx.h:154
INLINE void CANTRX_disTXDDominantTimeoutInt(void)
Disable TXD Dominant Timeout Interrupt.
Definition: cantrx.h:168
INLINE void CANTRX_disBusDominantTimeoutInt(void)
Disable Bus Dominant Timeout Interrupt.
Definition: cantrx.h:122
INLINE uint8 CANTRX_getBusDominantTimeoutIntSts(void)
Get Bus Dominant Timeout Interrupt Status.
Definition: cantrx.h:131
INLINE uint8 CANTRX_getTXDDominantTimeoutSts(void)
Get TXD Dominant Timeout Status.
Definition: cantrx.h:186
INLINE void CANTRX_enBusDominantTimeoutInt(void)
Enable Bus Dominant Timeout Interrupt.
Definition: cantrx.h:115
INLINE uint8 CANTRX_getCANOvertempIntSts(void)
Get CAN Overtemperature Interrupt Status.
Definition: cantrx.h:223
INLINE void CANTRX_clrTXDDominantTimeoutSts(void)
Clear TXD Dominant Timeout Status.
Definition: cantrx.h:200
INLINE void CANTRX_enTXDDominantTimeoutInt(void)
Enable TXD Dominant Timeout Interrupt.
Definition: cantrx.h:161
sint8 CANTRX_init(void)
Initialize all CW registers of the cantrx module.
Definition: cantrx.c:42
INLINE void CANTRX_clrBusDominantTimeoutIntSts(void)
Clear Bus Dominant Timeout Interrupt Status.
Definition: cantrx.h:147
INLINE void CANTRX_disCANOvertempInt(void)
Disable CAN Overtemperature Interrupt.
Definition: cantrx.h:214
INLINE uint8 CANTRX_getTXDDominantTimeoutIntSts(void)
Get TXD Dominant Timeout Interrupt Status.
Definition: cantrx.h:177
INLINE uint8 CANTRX_getBusDominantTimeoutSts(void)
Get Bus Dominant Timeout Status.
Definition: cantrx.h:140
INLINE uint8 CANTRX_getActBusWhenCANSleepIntSts(void)
Get Bus Active During CAN Sleep Interrupt Status.
Definition: cantrx.h:269
INLINE void CANTRX_clrCANOvertempIntSts(void)
Clear CAN Overtemperature Interrupt Status.
Definition: cantrx.h:239
INLINE void CANTRX_enCANOvertempInt(void)
Enable CAN Overtemperature Interrupt.
Definition: cantrx.h:207
INLINE void CANTRX_enActBusWhenCANSleepInt(void)
Enable Bus Active During CAN Sleep Interrupt.
Definition: cantrx.h:253
INLINE void CANTRX_clrTXDDominantTimeoutIntSts(void)
Clear TXD Dominant Timeout Interrupt Status.
Definition: cantrx.h:193
void CANTRX_setCANTRXIntNodePtr(void) __attribute__((deprecated("Do not change this at runtime
Set CANTRX Interrupt Node Pointer.
INLINE uint8 CANTRX_getCANSupplyUndervoltageSts(void)
Get CAN Supply Undervoltage Status.
Definition: cantrx.h:278
INLINE void CANTRX_disActBusWhenCANSleepInt(void)
Disable Bus Active During CAN Sleep Interrupt.
Definition: cantrx.h:260
INLINE void CANTRX_clrActBusWhenCANSleepIntSts(void)
Clear Bus Active During CAN Sleep Interrupt Status.
Definition: cantrx.h:285
INLINE uint8 CANTRX_getCANOvertempSts(void)
Get CAN Overtemperature Status.
Definition: cantrx.h:232
INLINE void CANTRX_clrCANOvertempSts(void)
Clear CAN Overtemperature Status.
Definition: cantrx.h:246
#define CANTRX
Definition: tle989x.h:24065
__attribute__((noreturn))
Definition: startup_tle989x.c:193
General type declarations.
#define INLINE
Definition: types.h:151
uint8_t uint8
8 bit unsigned value
Definition: types.h:204
int8_t sint8
8 bit signed value
Definition: types.h:209