![]() |
MCUSW
|
This files defines ICU MCAL configuration structures
Data Structures | |
| struct | Icu_DutyCycleType |
| This type defines Duty Cycle struct. More... | |
| struct | Icu_ChannelConfigType_PC |
| ICU Channel Config Structure of Pre-Compile only. More... | |
| struct | Icu_ConfigType_PC |
| ICU Config Structure of Pre-Compile only. More... | |
| struct | Icu_ChannelConfigType |
| ICU Channel Config Structure. More... | |
| struct | Icu_ConfigType |
| ICU Config Structure. More... | |
| struct | Icu_RegisterReadbackType |
| Icu register readback structure. More... | |
Macros | |
| #define | ICU_PRE_COMPILE_VARIANT (STD_ON ) |
| ICU Build Variant. Build variants.(i.e Pre-compile,Post-build or Link time) More... | |
| #define | ICU_VARIANT_POST_BUILD (STD_OFF) |
Macros to define Rising and Falling edge config for capture registers | |
| enum | Icu_ModeType { ICU_MODE_NORMAL, ICU_MODE_SLEEP } |
| This type defines a range of mode type. More... | |
| enum | Icu_InputStateType { ICU_ACTIVE, ICU_IDLE } |
| This type defines a input state of ICU driver. More... | |
| enum | Icu_ActivationType { ICU_RISING_EDGE, ICU_FALLING_EDGE, ICU_BOTH_EDGES } |
| This type defines Activation range. More... | |
| enum | Icu_MeasurementModeType { ICU_MODE_SIGNAL_EDGE_DETECT, ICU_MODE_SIGNAL_MEASUREMENT, ICU_MODE_TIMESTAMP, ICU_MODE_EDGE_COUNTER } |
| This type defines available measurement modes. More... | |
| enum | Icu_SignalMeasurementPropertyType { ICU_LOW_TIME, ICU_HIGH_TIME, ICU_PERIOD_TIME, ICU_DUTY_CYCLE } |
| This type defines Signal Measurement Property range. More... | |
| enum | Icu_TimestampBufferType { ICU_LINEAR_BUFFER, ICU_CIRCULAR_BUFFER } |
| This type defines TimeStamp Property range. More... | |
| typedef uint32 | Icu_ValueType |
| This type defines Value type. More... | |
| typedef uint32 | Icu_IndexType |
| This type defines return value Icu_GetTimeStampIndex. More... | |
| typedef uint32 | Icu_EdgeNumberType |
| This type defines return value of Icu-Icu_GetEdgeNumbers. More... | |
| typedef void(* | Icu_NotifyFuncType) (void) |
| Notification callback function pointer More... | |
| typedef uint8 | Icu_ChannelType |
| This type defines Channel type. More... | |
| typedef uint32 | Icu_ChannelPrescalerType |
| This type defines Prescaler type. More... | |
| AUTOMATIC | |
| ICU_PBCFG | ConfigPtr |
| Icu_ActivationType | Activation |
| Icu_ValueType * | BufferPtr |
| Icu_ValueType uint16 | BufferSize |
| Icu_ValueType uint16 uint16 | NotifyInterval |
| Icu_DutyCycleType * | DutyCycleValues |
| FUNC (void, ICU_CODE) Icu_Init(P2CONST(Icu_ConfigType | |
| Service for ICU initialization. More... | |
| FUNC (Icu_InputStateType, ICU_CODE) Icu_GetInputState(Icu_ChannelType Channel) | |
| Service for getting the ICU input status. More... | |
| FUNC (Icu_IndexType, ICU_CODE) Icu_GetTimestampIndex(Icu_ChannelType Channel) | |
| Service for reading the timestamp index of a givem channel. More... | |
| FUNC (Std_ReturnType, ICU_CODE) Icu_RegisterReadback(Icu_ChannelType IcuChannel | |
| P2VAR (Icu_RegisterReadbackType, AUTOMATIC, ICU_APPL_DATA) RegRbPtr) | |
ICU Driver ISR category level | |
| const struct Icu_ConfigType_PC_s | IcuConfigSet_PC |
| ICU Configuration structure declaration. More... | |
| const struct Icu_ConfigType_s | IcuConfigSet |
| CONST (uint32, ICU_CONST) Icu_HwUnitBaseAddr[ICU_MAX_NUM_CHANNELS] | |
| FUNC (void, ICU_CODE_FAST) Icu_ch1Notify(void) | |
| ICU ISR. More... | |
| #define | ICU_ISR_VOID (0x00U) |
| void ISR type More... | |
| #define | ICU_ISR_CAT1 (0x01U) |
| Category 1 ISR type. More... | |
| #define | ICU_ISR_CAT2 (0x02U) |
| Category 2 ISR type. More... | |
| #define | ICU_SAFETY_DIAGNOSTIC_API (STD_ON) |
| Enable/Disable Icu Safety Diagnostic. More... | |
| #define | ICU_DE_INIT_API (STD_ON) |
| Enable/Disable Icu DeInit API. More... | |
| #define | ICU_EDGE_COUNT_API (STD_ON) |
| Enable/Disable Edge Count API. More... | |
| #define | ICU_EDGE_DETECT_API (STD_ON) |
| Enable/Disable Edge Detect API. More... | |
| #define | ICU_GET_DUTY_CYCLE_VALUES_API (STD_ON) |
| Enable/Disable Get Duty Cycle Values API. More... | |
| #define | ICU_GET_INPUT_STATE_API (STD_ON) |
| Enable/Disable Get Input State API. More... | |
| #define | ICU_GET_TIME_ELAPSED_API (STD_ON) |
| Enable/Disable Get Time Elapsed API. More... | |
| #define | ICU_GET_VERSION_INFO_API (STD_ON) |
| Enable/Disable Get Version Info API. More... | |
| #define | ICU_SIGNAL_MEASUREMENT_API (STD_ON) |
| Enable/Disable Signal Measurement API. More... | |
| #define | ICU_TIMESTAMP_API (STD_ON) |
| Enable/Disable Timestamp API. More... | |
| #define | ICU_DEV_ERROR_DETECT (STD_ON) |
| Enable/Disable Development error detet. More... | |
| #define | ICU_WAKEUP_FUNCTIONALITY_API (STD_OFF) |
| Enable/disable ICU wakeup functionality API. More... | |
| #define | ICU_ENABLEWAKEUP_API (STD_OFF) |
| Enable/disable ICU wakeup functionality API. More... | |
| #define | ICU_DISABLEWAKEUP_API (STD_OFF) |
| Enable/disable ICU wakeup functionality API. More... | |
| #define | ICU_SETMODE_API (STD_OFF) |
| Enable/Disable Icu set mode API. More... | |
| #define | IcuConf_IcuChannel_IcuChannel_0 (1U) |
| Channel ID Symbolic Names Configured channel ID(s) More... | |
| #define | ICU_INIT_CONFIG_PC IcuConfigSet |
| Pre Compile config macro name. More... | |
| #define | ICU_ISR_TYPE (ICU_ISR_CAT1) |
| ISR type. More... | |
| #define | ICU_MAX_NUM_CHANNELS (3U) |
| #define | ICU_CHANNEL1 (1U) |
| ECAP Channel 1, in MAIN DOMAIN. More... | |
| #define ICU_PRE_COMPILE_VARIANT (STD_ON ) |
ICU Build Variant. Build variants.(i.e Pre-compile,Post-build or Link time)
| #define ICU_VARIANT_POST_BUILD (STD_OFF) |
| #define ICU_ISR_VOID (0x00U) |
void ISR type
| #define ICU_ISR_CAT1 (0x01U) |
Category 1 ISR type.
| #define ICU_ISR_CAT2 (0x02U) |
Category 2 ISR type.
| #define ICU_SAFETY_DIAGNOSTIC_API (STD_ON) |
Enable/Disable Icu Safety Diagnostic.
| #define ICU_DE_INIT_API (STD_ON) |
Enable/Disable Icu DeInit API.
| #define ICU_EDGE_COUNT_API (STD_ON) |
Enable/Disable Edge Count API.
| #define ICU_EDGE_DETECT_API (STD_ON) |
Enable/Disable Edge Detect API.
| #define ICU_GET_DUTY_CYCLE_VALUES_API (STD_ON) |
Enable/Disable Get Duty Cycle Values API.
| #define ICU_GET_INPUT_STATE_API (STD_ON) |
Enable/Disable Get Input State API.
| #define ICU_GET_TIME_ELAPSED_API (STD_ON) |
Enable/Disable Get Time Elapsed API.
| #define ICU_GET_VERSION_INFO_API (STD_ON) |
Enable/Disable Get Version Info API.
| #define ICU_SIGNAL_MEASUREMENT_API (STD_ON) |
Enable/Disable Signal Measurement API.
| #define ICU_TIMESTAMP_API (STD_ON) |
Enable/Disable Timestamp API.
| #define ICU_DEV_ERROR_DETECT (STD_ON) |
Enable/Disable Development error detet.
| #define ICU_WAKEUP_FUNCTIONALITY_API (STD_OFF) |
Enable/disable ICU wakeup functionality API.
| #define ICU_ENABLEWAKEUP_API (STD_OFF) |
Enable/disable ICU wakeup functionality API.
| #define ICU_DISABLEWAKEUP_API (STD_OFF) |
Enable/disable ICU wakeup functionality API.
| #define ICU_SETMODE_API (STD_OFF) |
Enable/Disable Icu set mode API.
| #define IcuConf_IcuChannel_IcuChannel_0 (1U) |
Channel ID Symbolic Names Configured channel ID(s)
Channel identifiers
| #define ICU_INIT_CONFIG_PC IcuConfigSet |
Pre Compile config macro name.
| #define ICU_ISR_TYPE (ICU_ISR_CAT1) |
ISR type.
| #define ICU_MAX_NUM_CHANNELS (3U) |
| #define ICU_CHANNEL1 (1U) |
ECAP Channel 1, in MAIN DOMAIN.
| typedef uint32 Icu_ValueType |
This type defines Value type.
| typedef uint32 Icu_IndexType |
This type defines return value Icu_GetTimeStampIndex.
| typedef uint32 Icu_EdgeNumberType |
This type defines return value of Icu-Icu_GetEdgeNumbers.
| typedef void(* Icu_NotifyFuncType) (void) |
Notification callback function pointer
| typedef uint8 Icu_ChannelType |
This type defines Channel type.
| typedef uint32 Icu_ChannelPrescalerType |
This type defines Prescaler type.
| enum Icu_ModeType |
| enum Icu_InputStateType |
| enum Icu_ActivationType |
| FUNC | ( | void | , |
| ICU_CODE | |||
| ) |
Service for ICU initialization.
This function sets the ICU mode.
This function (re-)enables the wakeup capability of the given ICU channel.
This function disables the wakeup capability of a single ICU channel.
This function checks if a wakeup capable ICU channel is the source for a wakeup event and calls the ECU state manager service EcuM_SetWakeupEvent in case of a valid ICU channel wakeup event.
Service for reading the coherent active time and period time of given channel.
Service for stopping the measurement of signals.
Service for starting the measurement of signals.
Service for disabling the detection of edges of the given channel.
Service for enabling/re-enabling the detection of edges of the given channel.
Service for disabling the couting of edges of the given channel.
Service enabling the counting of edges of a given channel.
Service for resets the value of the counted edges to zero.
Service for stopping the timestamp measurement.
Service for starts the captuing of timer values on the edges.
Service for enabling notification.
Service for disabling notification.
Service for setting Activation Condition.
Service for ICU de-initialization.
* Service name : Icu_Init * Syntax : Icu_Init(const Icu_ConfigType* ConfigPtr) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x00 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : Pointer to the configuration * Parameters (out) : None * Return value : void * Description : Initializes internal variables * and the ECAP unit of the micro controller. * The function can be called on task level. *
* Service name : Icu_DeInit * Syntax : Icu_DeInit(void) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x01 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : None * Parameters (out) : None * Return value : void * Description : DeInit ECAP module *
* Service name : Icu_SetActivationCondition * Syntax : Icu_SetActivationCondition(Icu_ChannelType Channel, * Icu_ActivationType Activation) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x05 * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (in) : Icu_ActivationType Activation * Parameters (out) : None * Return value : void * Description : This service sets the Activation edge for channel * Type of activation (if supported by hardware) * ICU_RISING_EDGE, ICU_FALLING_EDGE, ICU_BOTH_EDGES *
* Service name : Icu_DisableNotification * Syntax : Icu_DisableNotification(Icu_ChannelType Channel) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x06 * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service disables the notificaiton of a channel *
* Service name : Icu_EnableNotification * Syntax : Icu_EnableNotification(Icu_ChannelType Channel) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x07 * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service enables the notificaiton of a channel *
* Service name : Icu_StartTimestamp * Syntax : Icu_StartTimestamp(Icu_ChannelType Channel, * Icu_ValueType* BufferPtr, * uint16 BufferSize, * uint16 NotifyInterval) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x09 * Sync/Async : Asynchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (in) : uint16 BufferSize * Parameters (in) : uint16 NotifyInterval * Parameters (out) : Icu_ValueType* BufferPtr * Return value : void * Description : This service starts the capturing of timer values on the edges *
* Service name : Icu_StopTimestamp * Syntax : Icu_StopTimestamp(Icu_ChannelType Channel) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x0A * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service stops timestamp measurement of the given channel. *
* Service name : Icu_ResetEdgeCount * Syntax : Icu_ResetEdgeCount(Icu_ChannelType Channel) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x0C * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service resets the value of the counted edges to zero. *
* Service name : Icu_EnableEdgeCount * Syntax : Icu_EnableEdgeCount(Icu_ChannelType Channel) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x0D * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service enables the couting of edges of the given channel. *
* Service name : Icu_DisableEdgeCount * Syntax : Icu_DisableEdgeCount(Icu_ChannelType Channel) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x0E * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service disables the couting of edges of a given channel. *
* Service name : Icu_EnableEdgeDetection * Syntax : Icu_EnableEdgeDetection(Icu_ChannelType Channel) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x16 * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service enables/re-enables the detection of edges of a channel. *
* Service name : Icu_EnableEdgeDetection * Syntax : Icu_EnableEdgeDetection(Icu_ChannelType Channel) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x17 * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service disables the detection of edges of a channel. *
* Service name : Icu_StartSignalMeasurement * Syntax : Icu_StartSignalMeasurement(Icu_ChannelType Channel) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x13 * Sync/Async : Asynchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service starts the measurement of signals of a given channel. *
* Service name : Icu_StopSignalMeasurement * Syntax : Icu_StopSignalMeasurement(Icu_ChannelType Channel) * Mode : Supervisor Mode (Privileged Mode) * Service ID[hex] : 0x14 * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service stops the measurement of signals of a given channel. *
* Service name : Icu_GetTimeElapsed * Syntax : Icu_GetTimeElapsed(Icu_ChannelType Channel, * Icu_DutyCycleType* DutyCycleValues) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x11 * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : Icu_DutyCycleType* DutyCycleValues * Return value : void * Description : This service reads active time and period of given channel. *
* Service name : Icu_CheckWakeup
* Syntax : void Icu_CheckWakeup(EcuM_WakeupSourceType WakeupSource)
* Service ID[hex] : 0x19
* Sync/Async : Synchronous
* Reentrancy : Reentrant(limited according to ICU050)
* Parameters (in) : WakeupSource
* Informatin on wakeup source to be checked.
The associated ICU channel can be determined from configuration data
* Parameters (inout) : None
* Parameters (out) : None
* Return value : None
* Description : Checks if a wakeup capable ICU channel is the source for a wakeup event and
* calls the ECU state manager service EcuM_SetWakeupEvent in case of a valid ICU
* channel wakeup event.
* * Service name : Icu_DisableWakeup * Syntax : void Icu_DisableWakeup(Icu_ChannelType Channel) * Service ID[hex] : 0x20 * Sync/Async : Synchronous * Reentrancy : Reentrant(limited according to ICU050) * Parameters (in) : Channel * Numeric identifier of the ICU channel * Parameters (inout) : None * Parameters (out) : None * Return value : None * Description : This function disables the wakeup capability of a single ICU channel. *
* Service name : Icu_EnableWakeup * Syntax : void Icu_EnableWakeup(Icu_ChannelType Channel) * Service ID[hex] : 0x21 * Sync/Async : Synchronous * Reentrancy : Reentrant(limited according to ICU050) * Parameters (in) : Channel * Numeric identifier of the ICU channel * Parameters (inout) : None * Parameters (out) : None * Return value : None * Description : This function (re-)enables the wakeup capability of the given ICU channel. *
* Service name : Icu_SetMode * Syntax : void Icu_SetMode(Icu_ModeType Mode) * Service ID[hex] : 0x22 * Sync/Async : Synchronous * Reentrancy : Non Reentrant * Parameters (in) : Mode * ICU_MODE_NORMAL: Normal operation, all used interrupts are enabled * according to the notification requests. * ICU_MODE_SLEEP: Reduced power mode. In sleep mode only those * notifications are available which are configured as wakeup capable. * Parameters (inout) : None * Parameters (out) : None * Return value : None * Description : This function sets the ICU mode. *
| FUNC | ( | Icu_InputStateType | , |
| ICU_CODE | |||
| ) |
Service for getting the ICU input status.
* Service name : Icu_GetInputState * Syntax : Icu_GetInputState(Icu_ChannelType Channel) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x08 * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service returns the status of the ICU input *
| FUNC | ( | Icu_IndexType | , |
| ICU_CODE | |||
| ) |
Service for reading the timestamp index of a givem channel.
Service for reading the elasped time for the given channel.
Service for reading the number of counted edges.
* Service name : Icu_GetTimestampIndex * Syntax : Icu_GetTimestampIndex(Icu_ChannelType Channel) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x0B * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service reads the timestamp index of a given channel. *
* Service name : Icu_GetEdgeNumbers * Syntax : Icu_GetEdgeNumbers(Icu_ChannelType Channel) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x0F * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service reads the number of counted edges. *
* Service name : Icu_GetTimeElapsed * Syntax : Icu_GetTimeElapsed(Icu_ChannelType Channel) * Mode : User Mode (Non-Privileged Mode) * Service ID[hex] : 0x10 * Sync/Async : Synchronous * Reentrancy : Reentrant * Parameters (in) : Icu_ChannelType Channel * Parameters (out) : None * Return value : void * Description : This service reads elasped time for a given channel. *
| FUNC | ( | Std_ReturnType | , |
| ICU_CODE | |||
| ) |
| P2VAR | ( | Icu_RegisterReadbackType | , |
| AUTOMATIC | , | ||
| ICU_APPL_DATA | |||
| ) |
| CONST | ( | uint32 | , |
| ICU_CONST | |||
| ) |
| FUNC | ( | void | , |
| ICU_CODE_FAST | |||
| ) |
ICU ISR.
ICU Channel 1 ISR
| Icu_ValueType Icu_DutyCycleType::ActiveTime |
Active time of Signal
| Icu_ValueType Icu_DutyCycleType::PeriodTime |
Period time of Signal
| Icu_ChannelType Icu_ChannelConfigType_PC::channelId |
Channel ID of ICU Channel in use
| Icu_ChannelConfigType_PC Icu_ConfigType_PC::chCfg[ICU_MAX_NUM_CHANNELS] |
Channel configurations
| Icu_ActivationType Icu_ChannelConfigType::defaultStartEdge |
Default activation edge to be used by ICU module
| Icu_MeasurementModeType Icu_ChannelConfigType::measurementMode |
Measurement Mode to be used
| Icu_SignalMeasurementPropertyType Icu_ChannelConfigType::signalMeasurementProperty |
Signal Measurmenet property to be used if mode choosen
| Icu_NotifyFuncType Icu_ChannelConfigType::notificationHandler |
Notification handler for notifications
| Icu_TimestampBufferType Icu_ChannelConfigType::bufferType |
Buffer Type for Timestamp API mode
| uint32 Icu_ChannelConfigType::instanceClkMHz |
Clk src for ICU module in MHz
| uint32 Icu_ChannelConfigType::prescaler |
Prescaler value to be used for ICU module
| Icu_ChannelType Icu_ConfigType::icuMaxChannel |
Number of ICU Channel being configured
| Icu_ChannelConfigType Icu_ConfigType::chCfg[ICU_MAX_NUM_CHANNELS] |
Channel configurations
| uint32 Icu_RegisterReadbackType::ECAP_CNTPHS |
| uint32 Icu_RegisterReadbackType::ECAP_ECCTL |
| uint32 Icu_RegisterReadbackType::ECAP_ECINT_EN_FLG |
| AUTOMATIC |
| ICU_PBCFG ConfigPtr |
| Icu_ActivationType Activation |
| Icu_ValueType* BufferPtr |
| Icu_ValueType uint16 BufferSize |
| Icu_ValueType uint16 uint16 NotifyInterval |
| Icu_DutyCycleType* DutyCycleValues |
|
extern |
ICU Configuration structure declaration.
|
extern |