[!AUTOSPACING!]
[!CODE!]
/**
*   @file           Pwm_Cfg.h
*   @version        1.0.0
*
*   @brief          AUTOSAR Pwm - PWM configuration file.
*   @details        Pre-compile parameters and extern configuration.
*
*   @addtogroup     PWM_MODULE
*   @{
*/
/*==================================================================================================
*   Project              : AUTOSAR 4.3 MCAL
*   Platform             : PA
*   Peripheral           : eMios
*   Dependencies         : none
*
*   AUTOSAR Version      : 4.3.1
*   AUTOSAR Revision     : ASR_REL_4_3_REV_0001
*   AUTOSAR Conf.Variant :
*   SW Version           : 1.0.0
*   Build Version        : MPC5777C_MCAL_1_0_0_RTM_ASR_REL_4_3_REV_0001_20190315
*
*   (c) Copyright 2006-2016 Freescale Semiconductor, Inc. 
*       Copyright 2017-2019 NXP
*   All Rights Reserved.
==================================================================================================*/
/*==================================================================================================
==================================================================================================*/
[!NOCODE!]

    /* Variable storing number of eMios Modules available on the current platform */
    [!VAR "numeMiosModules" = "ecu:get('Pwm.Num_eMios_Hw_Modules')"!]
    [!VAR "numeMiosChannelsPerModule" = "ecu:get('Pwm.Num_eMios_Hw_Channels')"!]
    [!VAR "numeMiosChannels" = "($numeMiosModules * $numeMiosChannelsPerModule)"!]

    /* Variable storing number of typical channels in related modules */
    [!VAR "NumPwmChannelsUsingeMios" = "0"!]

    [!SELECT "PwmChannelConfigSet"!]
        [!LOOP "PwmChannel/*"!]
            [!VAR "NumPwmChannelsUsingeMios" = "$NumPwmChannelsUsingeMios + 1"!]
        [!ENDLOOP!]
    [!ENDSELECT!]

[!ENDNOCODE!]

#ifndef PWM_CFG_H
#define PWM_CFG_H

#ifdef __cplusplus
extern "C" {
#endif



/*==================================================================================================
*                                         INCLUDE FILES
* 1) system and project includes
* 2) needed interfaces from external units
* 3) internal and external interfaces from this unit
==================================================================================================*/
[!NOCODE!]

    [!INCLUDE "Pwm_VersionCheck_Inc.m"!]

[!ENDNOCODE!]

#include "Pwm_EnvCfg.h"
#include "Pwm_Types.h"



/*==================================================================================================
*                               SOURCE FILE VERSION INFORMATION
==================================================================================================*/

/**
* @{
* @file           Pwm_Cfg.h
*/
#define PWM_CFG_VENDOR_ID                         43
#define PWM_CFG_AR_RELEASE_MAJOR_VERSION          4
#define PWM_CFG_AR_RELEASE_MINOR_VERSION          3
#define PWM_CFG_AR_RELEASE_REVISION_VERSION       1
#define PWM_CFG_SW_MAJOR_VERSION                  1
#define PWM_CFG_SW_MINOR_VERSION                  0
#define PWM_CFG_SW_PATCH_VERSION                  0
/**@}*/



/*==================================================================================================
*                                      FILE VERSION CHECKS
==================================================================================================*/

#if (PWM_CFG_VENDOR_ID != PWM_CFG_ENV_VENDOR_ID)
    #error "Vendor IDs of Pwm_Cfg.h and Pwm_CfgEnv.h are different."
#endif

/* Check if current file and Pwm_CfgEnv header file are of the same AUTOSAR version */
#if (( PWM_CFG_AR_RELEASE_MAJOR_VERSION != PWM_CFG_ENV_AR_RELEASE_MAJOR_VERSION) || \
     ( PWM_CFG_AR_RELEASE_MINOR_VERSION != PWM_CFG_ENV_AR_RELEASE_MINOR_VERSION) || \
     ( PWM_CFG_AR_RELEASE_REVISION_VERSION !=  PWM_CFG_ENV_AR_RELEASE_REVISION_VERSION))
     #error "AUTOSAR version numbers of Pwm_Cfg.h and Pwm_CfgEnv.h are different."
#endif

/* Check if current file and Pwm_CfgEnv header file are of the same software version */
#if ((PWM_CFG_SW_MAJOR_VERSION != PWM_CFG_ENV_SW_MAJOR_VERSION) || \
     (PWM_CFG_SW_MINOR_VERSION != PWM_CFG_ENV_SW_MINOR_VERSION) || \
     (PWM_CFG_SW_PATCH_VERSION != PWM_CFG_ENV_SW_PATCH_VERSION))
     #error "Software version numbers of Pwm_Cfg.h and Pwm_CfgEnv.h are different."
#endif

#if (PWM_CFG_VENDOR_ID != PWM_TYPES_VENDOR_ID)
    #error "Vendor IDs of Pwm_Cfg.h and Pwm_Types.h are different."
#endif

/* Check if current file and Pwm_Types header file are of the same AUTOSAR version */
#if (( PWM_CFG_AR_RELEASE_MAJOR_VERSION != PWM_TYPES_AR_RELEASE_MAJOR_VERSION) || \
     ( PWM_CFG_AR_RELEASE_MINOR_VERSION != PWM_TYPES_AR_RELEASE_MINOR_VERSION) || \
     ( PWM_CFG_AR_RELEASE_REVISION_VERSION !=  PWM_TYPES_AR_RELEASE_REVISION_VERSION))
     #error "AUTOSAR version numbers of Pwm_Cfg.h and Pwm_Types.h are different."
#endif

/* Check if current file and Pwm_Types header file are of the same software version */
#if ((PWM_CFG_SW_MAJOR_VERSION != PWM_TYPES_SW_MAJOR_VERSION) || \
     (PWM_CFG_SW_MINOR_VERSION != PWM_TYPES_SW_MINOR_VERSION) || \
     (PWM_CFG_SW_PATCH_VERSION != PWM_TYPES_SW_PATCH_VERSION))
     #error "Software version numbers of Pwm_Cfg.h and Pwm_Types.h are different."
#endif



/*==================================================================================================
*                                       DEFINES AND MACROS
==================================================================================================*/

/**
*  @brief      Pre-compile configuration constants
*
*/
#define PWM_PRECOMPILE_SUPPORT                  ([!IF "(IMPLEMENTATION_CONFIG_VARIANT = 'VariantPreCompile') and (variant:size() <= 1)"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])





/**
* @brief        Switch to indicate that Pwm_DeInit API is supported
*
*/
#define PWM_DE_INIT_API                         ([!IF "PwmConfigurationOfOptApiServices/PwmDeInitApi"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that Pwm_GetOutputState API is supported
*
*/
#define PWM_GET_OUTPUT_STATE_API                ([!IF "PwmConfigurationOfOptApiServices/PwmGetOutputState"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that Pwm_SetDutyCycle API is supported
*
*/
#define PWM_SET_DUTY_CYCLE_API                  ([!IF "PwmConfigurationOfOptApiServices/PwmSetDutyCycle"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that Pwm_SetOutputToIdle API is supported
*
*/
#define PWM_SET_OUTPUT_TO_IDLE_API              ([!IF "PwmConfigurationOfOptApiServices/PwmSetOutputToIdle"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that Pwm_SetPeriodAndDuty API is supported
*
*/
#define PWM_SET_PERIOD_AND_DUTY_API             ([!IF "PwmConfigurationOfOptApiServices/PwmSetPeriodAndDuty"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that Pwm_SetClockMode API is supported
*
*/
#define PWM_VERSION_INFO_API                    ([!IF "PwmConfigurationOfOptApiServices/PwmVersionInfoApi"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that Pwm_GetChannelState API is supported
*
*/
#define PWM_GET_CHANNEL_STATE_API               ([!IF "PwmConfigurationOfOptApiServices/PwmGetChannelStateApi"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that PwmSetDutyCycle_NoUpdate API is supported
*
*/
#define PWM_SET_DUTY_CYCLE_NO_UPDATE_API        ([!IF "(PwmConfigurationOfOptApiServices/PwmSetDutyCycle_NoUpdate = 'true') and (PwmGeneral/PwmMultiChannelSync = 'true')"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that PwmSetPeriodAndDuty_NoUpdate API is supported
*
*/
#define PWM_SET_PERIOD_AND_DUTY_NO_UPDATE_API   ([!IF "(PwmConfigurationOfOptApiServices/PwmSetPeriodAndDuty_NoUpdate = 'true') and (PwmGeneral/PwmMultiChannelSync = 'true' )"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to enable Pwm_SetPhaseShift API
*
*/
#define PWM_SET_PHASE_SHIFT_API                 ([!IF "PwmConfigurationOfOptApiServices/PwmSetPhaseShift"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to enable Pwm_SetPhaseShift_NoUpdate API
*
*/
#define PWM_SET_PHASE_SHIFT_NO_UPDATE_API       ([!IF "(PwmConfigurationOfOptApiServices/PwmSetPhaseShift_NoUpdate = 'true') and (PwmGeneral/PwmMultiChannelSync = 'true' )"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that Pwm_ForceOutputToZero API is supported
*               In current implementation, this option is not supported
*/
#define PWM_FORCE_OUTPUT_TO_ZERO_API            (STD_OFF)





/**
* @brief        Switch to enable the development error detection.
*
*/
#define PWM_DEV_ERROR_DETECT                    ([!IF "PwmGeneral/PwmDevErrorDetect"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to enable the update of the duty cycle parameter at the end of the current period.
*
*/
#define PWM_DUTYCYCLE_UPDATED_ENDPERIOD         ([!IF "PwmGeneral/PwmDutycycleUpdatedEndperiod"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to enable the update of the period parameter at the end of the current period
*
*/
#define PWM_DUTY_PERIOD_UPDATED_ENDPERIOD       ([!IF "PwmGeneral/PwmPeriodUpdatedEndperiod"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that the notifications are supported
*
*/
#define PWM_NOTIFICATION_SUPPORTED              ([!IF "PwmGeneral/PwmNotificationSupported"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Support for User mode.
*               If this parameter has been configured to 'TRUE' the PWM driver code can be executed from both supervisor and user mode.
*/
#define PWM_ENABLE_USER_MODE_SUPPORT            ([!IF "PwmGeneral/PwmEnableUserModeSupport"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that Pwm_SyncUpdate API is supported
*
*/
#define PWM_SYNC_UPDATE_API                     ([!IF "PwmGeneral/PwmMultiChannelSync"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that the duty cycle synchronization are supported
*
*/
#define PWM_UPDATE_DUTY_SYNCHRONOUS             ([!IF "PwmGeneral/PwmMultiChannelSync"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

#ifndef MCAL_ENABLE_USER_MODE_SUPPORT
    #ifdef PWM_ENABLE_USER_MODE_SUPPORT
        #if (STD_ON == PWM_ENABLE_USER_MODE_SUPPORT)
            #error MCAL_ENABLE_USER_MODE_SUPPORT is not enabled. For running PWM in user mode the MCAL_ENABLE_USER_MODE_SUPPORT needs to be defined
        #endif
    #endif
#endif

/**
* @brief        Switch to indicate that Pwm_SetCounterBus API is supported
*
*/
#define PWM_SET_COUNTER_BUS_API                 ([!IF "PwmConfigurationOfOptApiServices/PwmSetCounterBusApi"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that Pwm_SetChannelOutput API is supported
*
*/
#define PWM_SET_CHANNEL_OUTPUT_API              ([!IF "PwmConfigurationOfOptApiServices/PwmSetChannelOutputApi"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to enable the dual clock functionality (Pwm_SetClockMode API)
*
*/
#define PWM_SET_CLOCK_MODE_API                  ([!IF "PwmGeneral/PwmEnableDualClockMode"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that timer precision is 16-bit or 24-bit
*
*/
#define PWM_EMIOS_16_BITS_VARIANT               ([!IF "(PwmGeneral/PwmTimerPrecision = 'PWM_16BIT')"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to indicate that the Reload notifications are supported
*               In current implementation, this option is not supported
*/
#define PWM_RELOAD_NOTIF_SUPPORTED              (STD_OFF)

/**
* @brief        Switch to enable the fault functionality
*               In current implementation, this option is not supported
*/
#define PWM_FAULT_SUPPORTED                     (STD_OFF)

/**
* @brief        Switch to enable Pwm_EnableTrigger API
*               In current implementation, this option is not supported
*/
#define PWM_ENABLE_TRIGGER_API                  (STD_OFF)

/**
* @brief        Switch to enable Pwm_DisableTrigger API
*               In current implementation, this option is not supported
*/
#define PWM_DISABLE_TRIGGER_API                 (STD_OFF)

/**
* @brief        Switch to enable Pwm_SwResetCounter API
*               In current implementation, this option is not supported
*/
#define PWM_RESET_COUNTER_API                   (STD_OFF)

/**
* @brief        Switch to enable Pwm_MaskOutput API
*               In current implementation, this option is not supported
*/
#define PWM_ENABLE_MASKING_OPERATIONS           (STD_OFF)

/**
* @brief        Switch to indicate that Pwm_SelectCommonTimebase API is supported
*               In current implementation, this option is not supported
*/
#define PWM_SELECT_COMMON_TIMEBASE_API          (STD_OFF)

/**
* @brief        Switch to indicate that register A is updated at duty cycle change for OPWMT mode
*               In current implementation, this option is not supported
*/
#define PWM_CHANGE_REGISTER_A_SWITCH            (STD_OFF)

/**
* @brief        Switch to indicate that Pwm_SetTriggerDelay API is supported
*
*/
#define PWM_SET_TRIGGER_DELAY_API               (STD_OFF)

/**
* @brief        Specifies the InstanceId of this module instance.
*               If only one instance is present it shall have the Id 0.
*               Not used in the current implementation
*/
#define PWM_INDEX                               ([!"PwmGeneral/PwmIndex "!]U)

/**
* @brief        Switch to enable that power state mode is supported
*
*/
#define PWM_POWER_STATE_SUPPORTED               ([!IF "node:exists(PwmGeneral/PwmLowPowerStatesSupport)"!][!IF "PwmGeneral/PwmLowPowerStatesSupport"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!][!ELSE!]STD_OFF[!ENDIF!])

#define PWM_POWER_STATE_ASYNCH_MODE_SUPPORTED   ([!IF "node:exists(PwmGeneral/PwmPowerStateAsynchTransitionMode)"!][!IF "PwmGeneral/PwmPowerStateAsynchTransitionMode"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!][!ELSE!]STD_OFF[!ENDIF!])





/**
* @brief        Switch to enable usage of OPWMT mode
*               In current implementation, this option is not supported
*/
#define PWM_FEATURE_OPWMT                       (STD_OFF)

/**
* @brief        Switch to enable usage of OPWMCB mode
*
*/
#define PWM_FEATURE_OPWMCB                      ([!IF "PwmGeneral/EmiosOperationModes/PwmOPWMCBfeature"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to enable usage of DAOC mode
*
*/
#define PWM_FEATURE_DAOC                        ([!IF "PwmGeneral/EmiosOperationModes/PwmDAOCfeature"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to enable usage of OPWFMB mode
*
*/
#define PWM_FEATURE_OPWFMB                      ([!IF "PwmGeneral/EmiosOperationModes/PwmOPWFMBfeature"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to enable usage of OPWFM mode
*
*/
#define PWM_FEATURE_OPWFM                       ([!IF "PwmGeneral/EmiosOperationModes/PwmOPWFMfeature"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to enable usage of OPWMB mode
*
*/
#define PWM_FEATURE_OPWMB                       ([!IF "PwmGeneral/EmiosOperationModes/PwmOPWMBfeature"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])

/**
* @brief        Switch to enable usage of OPWM mode
*
*/
#define PWM_FEATURE_OPWM                        ([!IF "PwmGeneral/EmiosOperationModes/PwmOPWMfeature"!]STD_ON[!ELSE!]STD_OFF[!ENDIF!])





/**
* @brief        Switch to indicate that platform-specific validations of the notification function are supported
*
*/
#define PWM_NOTIFICATON_PLAUSABILITY            (STD_ON)

/**
* @brief        Switch to indicate that platform-specific validation of the offset (phase shift) of duty-cycle is supported
*
*/
#define PWM_OFFSET_PLAUSABILITY                 (STD_ON)

/**
* @brief        Switch to indicate that platform-specific validation of the output state parameter is supported
*
*/
#define PWM_OUTPUT_STATE_PLAUSABILITY           (STD_OFF)

/**
* @brief        Switch to indicate that platform-specific validation of the period is supported
*
*/
#define PWM_MAX_PERIOD_PLAUSABILITY             (STD_ON)





/**
* @brief        Symbolic name for configured channels - legacy
*
*/
    [!LOOP "PwmChannelConfigSet/PwmChannel/*"!]
#define [!"node:name(.)"!]                      ((Pwm_ChannelType) [!"PwmChannelId"!]U)
    [!ENDLOOP!]





/**
* @brief        Define to indicate eMIOS is used
*
*/
#define PWM_EMIOS_USED                          (STD_ON)





/**
* @brief        Maximum number of eMIOS channels configured
*
*/
#define PWM_EMIOS_CHANNELS_MAX_U8               ([!"num:i($NumPwmChannelsUsingeMios)"!]U)





[!NOCODE!]
    [!VAR "eMiosInterruptUsed" = "0"!]

    [!IF "PwmGeneral/PwmNotificationSupported = 'true'"!]
        [!LOOP "PwmGeneral/PwmHwConfiguration/*"!]
            [!IF "(contains(PwmInterruptHwId,'EMIOS')) and (PwmInterruptEnable = 'true')"!]
                [!VAR "eMiosInterruptUsed" = "1"!]
            [!ENDIF!]
        [!ENDLOOP!]
    [!ENDIF!]

    [!IF "$eMiosInterruptUsed != 0"!]
        [!CODE!]
/**
* @brief        Macros used to enable ISR for eMIOS channel
*
*/
        [!ENDCODE!]

        [!LOOP "PwmGeneral/PwmHwConfiguration/*"!]
            [!IF "(contains(PwmInterruptHwId,'EMIOS')) and (PwmInterruptEnable = 'true')"!]
                [!CODE!]
#define PWM_[!"PwmInterruptHwId"!]_ISR_USED
                [!ENDCODE!]
            [!ENDIF!]
        [!ENDLOOP!]
    [!ENDIF!]
[!ENDNOCODE!]





[!NOCODE!]
    [!CODE!]
/**
* @brief        Macros to indicate eMIOS channel number is used
*
*/
    [!ENDCODE!]

    [!LOOP "PwmGeneral/PwmHwConfiguration/*"!]
        [!IF "(contains(PwmInterruptHwId,'EMIOS')) and (PwmIsUsed = 'true')"!]
            [!CODE!]
#define PWM_[!"PwmInterruptHwId"!]_USED
            [!ENDCODE!]
        [!ENDIF!]
    [!ENDLOOP!]
[!ENDNOCODE!]





/**
* @brief        This define specifies the number of eMIOS modules available on the current platform
*
*/
#define PWM_EMIOS_MODULE_NO                     ([!"num:i($numeMiosModules)"!]U)

/**
* @brief        This define specifies the number of eMIOS channels available on the current platform
*
*/
#define PWM_EMIOS_CHANNEL_NO                    ([!"num:i($numeMiosChannels)"!]U)





/**
* @brief        Maximum number of all hardware modules available on this platform
*
*/
#define PWM_HW_MODULE_NO                        ((uint8)PWM_EMIOS_MODULE_NO)

/**
* @brief        Maximum number of all hardware channels available on this platform
*
*/
#define PWM_HW_CHANNEL_NO                       ((uint8)PWM_EMIOS_CHANNEL_NO)





/**
* @brief        Defines the maximum value of the period - this value is hardware/platform dependent
*
*/
#define PWM_MAX_PERIOD                          ([!IF "(PwmGeneral/PwmTimerPrecision = 'PWM_16BIT')"!]0xFFFFU[!ELSE!]0xFFFFFFU[!ENDIF!])

#if ((PWM_SET_PERIOD_AND_DUTY_API == STD_ON) || (PWM_SET_PERIOD_AND_DUTY_NO_UPDATE_API == STD_ON))
/**
* @brief        Symbolic name for period DET error
*
*/
#define PWM_E_PERIODVALUE                       (0x1AU)
#endif



/*==================================================================================================
*                                  STRUCTURES AND OTHER TYPEDEFS
==================================================================================================*/

/**
* @brief        PWM Period type (the value of the period is platform dependent and thus configurable)
* @implements   Pwm_PeriodType_typedef
*/
typedef [!WS!][!IF "(PwmGeneral/PwmTimerPrecision = 'PWM_16BIT')"!]uint16[!ELSE!]uint32[!ENDIF!][!WS!] Pwm_PeriodType;



/*==================================================================================================
*                                  GLOBAL VARIABLE DECLARATIONS
==================================================================================================*/

[!IF "((IMPLEMENTATION_CONFIG_VARIANT != 'VariantPostBuild') and (variant:size()>1)) or (IMPLEMENTATION_CONFIG_VARIANT = 'VariantPostBuild')"!]
[!NOCODE!][!//
[!VAR "configName" = "as:name(PwmChannelConfigSet)"!][!//
[!CODE!][!//
#define PWM_CONF_PB \
[!ENDCODE!][!//
[!IF "var:defined('postBuildVariant')"!][!//
    [!VAR "variantIndex"="0"!][!//
    [!VAR "variantNumber"="variant:size()"!][!//
    [!LOOP "variant:all()"!][!VAR "variantIndex"="$variantIndex + 1"!][!//
    [!//
        [!CODE!][!WS4!]extern CONST(Pwm_ConfigType, PWM_CONST) [!"$configName"!]_[!"."!];[!IF "$variantIndex < $variantNumber"!]\[!ENDIF!][!CR!][!ENDCODE!]
    [!ENDLOOP!][!//
[!ELSE!][!//
    [!CODE!][!WS4!]extern CONST(Pwm_ConfigType, PWM_CONST) [!"$configName"!];[!CR!][!ENDCODE!]
[!ENDIF!][!//
[!ENDNOCODE!][!//
[!ENDIF!]



#ifdef __cplusplus
}
#endif

#endif /* PWM_CFG_H */

/** @} */

[!ENDCODE!]
