iLLD_TC29x  1.0
IfxSent.h File Reference

SENT basic functionality. More...

#include "_Impl/IfxSent_cfg.h"
#include "Src/Std/IfxSrc.h"
#include "Scu/Std/IfxScuCcu.h"
#include "_PinMap/IfxSent_PinMap.h"
#include "Cpu/Std/IfxCpu_Intrinsics.h"
#include "IfxSent_bf.h"
#include "IfxSent_reg.h"

Go to the source code of this file.

Macros

#define IFXSENT_INTERRUPT_STATUS_ERROR_FLAGS   (0x000037f4)
 

Enumerations

enum  IfxSent_AlternateInput {
  IfxSent_AlternateInput_0 = 0,
  IfxSent_AlternateInput_1,
  IfxSent_AlternateInput_2,
  IfxSent_AlternateInput_3
}
 SENT.CH[channelId].IOCR.ALTI , Specifies alternate input for channel. More...
 
enum  IfxSent_ChannelStatus {
  IfxSent_ChannelStatus_stop = 0,
  IfxSent_ChannelStatus_initialize = 1,
  IfxSent_ChannelStatus_running = 2,
  IfxSent_ChannelStatus_synchronize = 3
}
 SENT.CH[channelId].RSR.CST, Specifies the current channel status. More...
 
enum  IfxSent_ClockDividerMode {
  IfxSent_ClockDividerMode_off = 0,
  IfxSent_ClockDividerMode_normal = 1,
  IfxSent_ClockDividerMode_fractional = 2
}
 SENT.FDR.DM , Specifies clock divider mode. More...
 
enum  IfxSent_ConfigBit {
  IfxSent_ConfigBit_0 = 0,
  IfxSent_ConfigBit_1
}
 SENT.CH[channelId].SDS.CON , Specifies received configuration bit value. More...
 
enum  IfxSent_DigitalGlitchesLength {
  IfxSent_DigitalGlitchesLength_off = 0,
  IfxSent_DigitalGlitchesLength_1 = 1,
  IfxSent_DigitalGlitchesLength_2,
  IfxSent_DigitalGlitchesLength_3,
  IfxSent_DigitalGlitchesLength_4,
  IfxSent_DigitalGlitchesLength_5,
  IfxSent_DigitalGlitchesLength_6,
  IfxSent_DigitalGlitchesLength_7,
  IfxSent_DigitalGlitchesLength_8,
  IfxSent_DigitalGlitchesLength_9,
  IfxSent_DigitalGlitchesLength_10,
  IfxSent_DigitalGlitchesLength_11,
  IfxSent_DigitalGlitchesLength_12,
  IfxSent_DigitalGlitchesLength_13,
  IfxSent_DigitalGlitchesLength_14,
  IfxSent_DigitalGlitchesLength_15
}
 SENT.CH[channelId].IOCR.DEPTH , Specifies number of port input samples. More...
 
enum  IfxSent_ExtendedSerialFrameMode {
  IfxSent_ExtendedSerialFrameMode_standard = 0,
  IfxSent_ExtendedSerialFrameMode_extended = 1
}
 SENT.CH[channelId].RCR.ESF , Specifies the serial frame structure. More...
 
enum  IfxSent_ExternalTrigger {
  IfxSent_ExternalTrigger_0 = 0,
  IfxSent_ExternalTrigger_1,
  IfxSent_ExternalTrigger_2,
  IfxSent_ExternalTrigger_3,
  IfxSent_ExternalTrigger_4,
  IfxSent_ExternalTrigger_5,
  IfxSent_ExternalTrigger_6,
  IfxSent_ExternalTrigger_7,
  IfxSent_ExternalTrigger_8,
  IfxSent_ExternalTrigger_9
}
 SENT.CH[channelId].IOCR.ETS , Specifies the external trigger line. More...
 
enum  IfxSent_FrameCheckMode {
  IfxSent_FrameCheckMode_pastSyncPulse = 0,
  IfxSent_FrameCheckMode_futureSuncPulse = 1
}
 SENT.CH[channelId].RCR.CFC, Specifies received frame check mode. More...
 
enum  IfxSent_InterruptNodePointer {
  IfxSent_InterruptNodePointer_0 = 0,
  IfxSent_InterruptNodePointer_1,
  IfxSent_InterruptNodePointer_2,
  IfxSent_InterruptNodePointer_3,
  IfxSent_InterruptNodePointer_trigo0 = 4,
  IfxSent_InterruptNodePointer_trigo1,
  IfxSent_InterruptNodePointer_trigo2,
  IfxSent_InterruptNodePointer_trigo3,
  IfxSent_InterruptNodePointer_trigo4,
  IfxSent_InterruptNodePointer_trigo5
}
 SENT.CH[channelId].INP.X(X= RSI,RDI,RBI,TDI,TBI,ERRI,SDI,WDI),Specifies interrupt requested node for respective interrupt. More...
 
enum  IfxSent_Nibble {
  IfxSent_Nibble_0 = 0,
  IfxSent_Nibble_1,
  IfxSent_Nibble_2,
  IfxSent_Nibble_3,
  IfxSent_Nibble_4,
  IfxSent_Nibble_5,
  IfxSent_Nibble_6,
  IfxSent_Nibble_7
}
 SENT.CH[channelId].VIEW.RDNPy( y=0,1,..7 ).Specifies receive data target nibble pointer. More...
 
enum  IfxSent_SleepMode {
  IfxSent_SleepMode_enable = 0,
  IfxSent_SleepMode_disable = 1
}
 Enable/disable the sensitivity of the module to sleep signal
Definition in Ifx_SENT.CLC.B.EDIS. More...
 
enum  IfxSent_SpcMode {
  IfxSent_SpcMode_sync = 0,
  IfxSent_SpcMode_range = 1,
  IfxSent_SpcMode_bidirectional = 2
}
 Specifies the SENT SPC operational mode. More...
 
enum  IfxSent_TimeBase {
  IfxSent_TimeBase_measuredFrequency = 0,
  IfxSent_TimeBase_nominalFrequency = 1
}
 SENT.CH[channelId].SCR.BASE, Specifies selection of pulse based on time. More...
 
enum  IfxSent_TriggerSource {
  IfxSent_TriggerSource_off = 0,
  IfxSent_TriggerSource_immediate = 1,
  IfxSent_TriggerSource_fallingEdge = 2,
  IfxSent_TriggerSource_externalTrigger = 3
}
 SENT.CH[channelId].SCR.TRIG, Specifies trigger source for pulse generation. More...
 

Functions

IFX_INLINE void IfxSent_setAltiInput (Ifx_SENT *sent, IfxSent_ChannelId channelId, IfxSent_AlternateInput alternateInput)
 Sets the operation mode of SENT kernel. More...
 
IFX_INLINE void IfxSent_setTimeStampPredivider (Ifx_SENT *sent, uint32 timeStampPreDivider)
 Set the module time stamp pre-divider. More...
 
IFX_INLINE Ifx_SENT_CH_INTSTAT IfxSent_getAndClearInterruptStatus (Ifx_SENT *sent, IfxSent_ChannelId channelId)
 Copies the current interrupt flags into the Ifx_SENT_CH_INTSTAT structure, and clears the flags in hardware. More...
 
IFX_INLINE Ifx_SENT_CH_INTSTAT IfxSent_getChannelInterruptStatus (Ifx_SENT *sent, IfxSent_ChannelId channelId)
 Gets the current channel status. More...
 
IFX_INLINE volatile Ifx_SRC_SRCR * IfxSent_getChannelSrc (IfxSent_ChannelId channelId)
 gets the source for channel interrupt handler More...
 
IFX_INLINE void IfxSent_disableChannel (Ifx_SENT *sent, IfxSent_ChannelId channelId)
 Disable the channel with the channel number. More...
 
IFX_INLINE void IfxSent_enableChannel (Ifx_SENT *sent, IfxSent_ChannelId channelId)
 Enable the channel with the channel number. More...
 
IFX_INLINE void IfxSent_enableModule (Ifx_SENT *sent)
 Enable the SENT module. More...
 
IFX_INLINE void IfxSent_setSleepMode (Ifx_SENT *sent, IfxSent_SleepMode mode)
 Sets the sensitivity of the module to sleep signal. More...
 
IFX_EXTERN void IfxSent_resetModule (Ifx_SENT *sent)
 Resets the SENT module. More...
 
IFX_INLINE void IfxSent_setChannelFractionalDivider (Ifx_SENT *sent, IfxSent_ChannelId channelId, uint16 divider)
 Sets the channel fractional baudrate divider. More...
 
IFX_INLINE void IfxSent_setChannelPreDivider (Ifx_SENT *sent, IfxSent_ChannelId channelId, uint16 preDivider)
 Sets the channel baudrate pre-divider. More...
 
IFX_EXTERN float32 IfxSent_getModuleClock (Ifx_SENT *sent)
 Returns the current module frequency in Hertz. More...
 
IFX_EXTERN void IfxSent_initializeChannelUnitTime (Ifx_SENT *sent, IfxSent_ChannelId channelId, float32 tUnit)
 Initializes the desired unit time (f_tick) for the external SENT device connected to the given channel. More...
 
IFX_EXTERN void IfxSent_initializeModuleClock (Ifx_SENT *sent, IfxSent_ClockDividerMode dividerMode, uint16 stepValue)
 Initialize and get the clock for SENT kernel. More...
 
IFX_INLINE void IfxSent_initSentPin (const IfxSent_Sent_In *sentIn, IfxPort_InputMode inputMode)
 Initializes a SENT input. More...
 
IFX_INLINE void IfxSent_initSpcPin (const IfxSent_Spc_Out *spcOut, IfxPort_OutputMode spcOutMode, IfxPort_PadDriver padDriver)
 Initializes a SPC output. More...
 
IFX_EXTERN float32 IfxSent_getChannelUnitTime (Ifx_SENT *sent, IfxSent_ChannelId channelId)
 Returns the current unit time (f_tick) of the given channel. More...
 

Detailed Description

SENT basic functionality.

Version
iLLD_1_0_0_11_0
                            IMPORTANT NOTICE

Infineon Technologies AG (Infineon) is supplying this file for use exclusively with Infineon's microcontroller products. This file can be freely distributed within development tools that are supporting such microcontroller products.

THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.

Definition in file IfxSent.h.

Macro Definition Documentation

#define IFXSENT_INTERRUPT_STATUS_ERROR_FLAGS   (0x000037f4)

Definition at line 58 of file IfxSent.h.

Function Documentation

IFX_EXTERN float32 IfxSent_getChannelUnitTime ( Ifx_SENT *  sent,
IfxSent_ChannelId  channelId 
)

Returns the current unit time (f_tick) of the given channel.

Parameters
sentbase address of the SENT register space
channelIdSENT channel number
Returns
The current unit time in seconds

Definition at line 36 of file IfxSent.c.