[!CODE!][!//
/**
* @file    Port_PBcfg.c
* @implements Port_PBcfg.c_Artifact
*
* @version 1.0.0
* @brief   AUTOSAR Port - PORT driver configuration.
* @details This file contains the PORT driver postbuild configuration.
*
* @addtogroup  Port
* @{
*/
/*=================================================================================================
*   Project              : AUTOSAR 4.3 MCAL
*   Platform             : PA
*   Peripheral           : SIU,IGF
*   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.
=================================================================================================*/
/*=================================================================================================
==================================================================================================*/

#ifdef __cplusplus
extern "C" {
#endif

/**
* @page misra_violations MISRA-C:2012 violations
*
* @section Port_PBcfg_c_REF_1
*          Violates MISRA 2012 Required Directive 4.10, Precautions shall be taken in order to prevent the contents
*          of a header file being included more than once. This violation is not fixed since the inclusion of 
*          Port_MemMap.h is as per AUTOSAR requirement [SWS_MemMap_00003].
*
* @section Port_PBcfg_c_REF_2
*          Violates MISRA 2012 Advisory Rule 20.1, #include directives should only be preceded by preprocessor
*          directives or comments. Port_MemMap.h is included after each section define in order to set the current 
*          memory section as defined by AUTOSAR
*
* @section [global]
*          Violates MISRA 2012 Required Rule 5.1, External identifiers shall be distinct.
*          The used compilers use more than 31 chars for identifiers.
*
* @section [global]
*          Violates MISRA 2012 Required Rule 5.2, Identifiers declared in the same scope and name space shall be distinct.
*          The used compilers use more than 31 chars for identifiers.
*
* @section [global]
*          Violates MISRA 2012 Required Rule 5.4, Macro identifiers shall be distinct.
*          The used compilers use more than 31 chars for identifiers.
*
* @section [global]
*          Violates MISRA 2012 Required Rule 5.5, Identifiers shall be distinct from macro names.
*          The used compilers use more than 31 chars for identifiers.
*/

/*=================================================================================================
*                                        INCLUDE FILES
* 1) system and project includes
* 2) needed interfaces from external units
* 3) internal and external interfaces from this unit
=================================================================================================*/
#include "Port.h"

[!INCLUDE "Port_VersionCheck_Src_PB.m"!][!//

[!NOCODE!][!//
[!/******************************************************************************/!][!//
[!/* Variable used to store Mode selected option                                */!][!//
[!/******************************************************************************/!][!//
[!/* Include package file in order to get valid Pins */!][!//
[!INCLUDE "Cobra55_Resource.m"!][!//
[!ENDNOCODE!][!//
/*=================================================================================================
*                              SOURCE FILE VERSION INFORMATION
=================================================================================================*/
/**
* @brief Parameters that shall be published within the Port driver header file and also in the
*        module's description file
* @details The integration of incompatible files shall be avoided.
*
*/
#define PORT_VENDOR_ID_PBCFG_C                       43
#define PORT_AR_RELEASE_MAJOR_VERSION_PBCFG_C        4
#define PORT_AR_RELEASE_MINOR_VERSION_PBCFG_C        3
#define PORT_AR_RELEASE_REVISION_VERSION_PBCFG_C     1
#define PORT_SW_MAJOR_VERSION_PBCFG_C                1
#define PORT_SW_MINOR_VERSION_PBCFG_C                0
#define PORT_SW_PATCH_VERSION_PBCFG_C                0

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

/* Check if Port_PBcfg.c and Port.h are of the same vendor */
#if (PORT_VENDOR_ID_PBCFG_C != PORT_VENDOR_ID)
    #error "Port_PBcfg.c and Port.h have different vendor ids"
#endif
/* Check if Port_PBcfg.c and Port.h are of the same Autosar version */
#if ((PORT_AR_RELEASE_MAJOR_VERSION_PBCFG_C    != PORT_AR_RELEASE_MAJOR_VERSION) || \
     (PORT_AR_RELEASE_MINOR_VERSION_PBCFG_C    != PORT_AR_RELEASE_MINOR_VERSION) || \
     (PORT_AR_RELEASE_REVISION_VERSION_PBCFG_C != PORT_AR_RELEASE_REVISION_VERSION) \
    )
    #error "AutoSar Version Numbers of Port_PBcfg.c and Port.h are different"
#endif

/* Check if Port_PBcfg.c and Port.h are of the same software version */
#if ((PORT_SW_MAJOR_VERSION_PBCFG_C != PORT_SW_MAJOR_VERSION) || \
     (PORT_SW_MINOR_VERSION_PBCFG_C != PORT_SW_MINOR_VERSION) || \
     (PORT_SW_PATCH_VERSION_PBCFG_C != PORT_SW_PATCH_VERSION)    \
    )
    #error "Software Version Numbers of Port_PBcfg.c and Port.h are different"
#endif

/*=================================================================================================
*                          LOCAL TYPEDEFS (STRUCTURES, UNIONS, ENUMS)
=================================================================================================*/


/*=================================================================================================
*                                       LOCAL MACROS
=================================================================================================*/
[!NOCODE!][!//
[!/*****************************************************************************/!][!//
[!/*                          MACRO GetAltConf                                 */!][!//
[!/*****************************************************************************/!][!//
[!/* Get the Alternative Mode configuration for selected pin */!][!//
[!MACRO "GetAltConf"!][!//
[!NOCODE!][!//
[!/* Alternative Mode 0 is the GPIO */!][!//
[!IF "text:match(./PortPinMode,'GPIO')"!][!//
    [!VAR "OutPinAltConf"="0"!]
[!ELSE!][!//
    [!VAR "MacPinMode"="concat(./PortPinMode,'_PORT',number(./PortPinPcr))"!][!//
    [!VAR "OutPinAltConf"="number(substring-after(substring-before((substring-after($PinMap,$MacPinMode)),':'),';'))"!][!//
[!ENDIF!][!//
[!ENDNOCODE!][!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                          MACRO GetAltDirection                            */!][!//
[!/*****************************************************************************/!][!//
[!/* Get the Direction that must be set for the selected alternate pin.        */!][!//
[!MACRO "GetAltDirection"!][!//
[!NOCODE!][!//
[!/* Alternative Mode 0 is the GPIO */!][!//
[!IF "text:match(./PortPinMode,'GPIO')"!][!//
    [!VAR "MacPinMode"="string('GPIO')"!][!//
[!ELSE!][!//
    [!VAR "MacPinMode"="concat(./PortPinMode,'_PORT',number(./PortPinPcr))"!][!//
[!ENDIF!][!//
[!VAR "OutPinAltDir"="substring-after(substring-before((substring-after($PinMap,$MacPinMode)),'@'),':')"!][!//
[!ENDNOCODE!][!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                            MACRO GetPCR                                   */!][!//
[!/*****************************************************************************/!][!//
[!/* Fill the MSCR register for the selected pin */!][!//
[!MACRO "GetPCR"!][!//
[!NOCODE!][!//
[!VAR "MacPinMSCR"="num:i(0)"!][!//
[!/* Get the Alternative Mode configuration and fill the PCR */!][!//
[!CALL "GetAltConf"!][!//
[!CALL "GetAltDirection"!][!//
[!IF "($OutPinAltConf = 9)"!][!//
    [!/* The pin is an ADC pin */!][!//
    [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,10))"!][!//
[!ELSE!][!//
    [!IF "($OutPinAltConf > 0)"!][!//
        [!// Check if the mode is a INMUX one, case when PA should be decremented by 4
        [!IF "($OutPinAltConf > 4)"!][!//
            [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl($OutPinAltConf - 4,10))"!][!//
        [!ELSE!][!//
            [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl($OutPinAltConf,10))"!][!//
        [!ENDIF!][!//
        [!// Set the IBE and OBE bits according with the direction of the pad
        [!IF "text:contains($OutPinAltDir, 'INOUT')"!][!//
            [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,9))"!][!//
            [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,8))"!][!//
        [!ELSE!][!//
            [!IF "text:contains($OutPinAltDir, 'OUT')"!][!//
                [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,9))"!][!//
            [!ELSE!][!//
                [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,8))"!][!//
            [!ENDIF!][!//
        [!ENDIF!][!//
    [!ELSE!][!//
        [!// This is the case of a GPIO pin  
        [!/* Check if the pin is configured as input or output */!][!//
        [!IF "text:match(./PortPinDirection,'PORT_PIN_OUT')"!][!//
            [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,9))"!][!//
        [!ELSEIF "text:match(./PortPinDirection,'PORT_PIN_INOUT')"!][!//
            [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,9))"!][!//
            [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,8))"!][!//
        [!ELSEIF "text:match(./PortPinDirection,'PORT_PIN_IN')"!][!//
            [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,8))"!][!//
        [!ENDIF!][!//
    [!ENDIF!][!//

    [!/* Check if open drain output is enabled */!][!//
    [!IF "./PortPinOde"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,5))"!][!//
    [!ENDIF!][!//

    [!/* Check what type of output slew rate is set */!][!// 
    [!IF "text:match(./PortPinSRC,'MIN')"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(0,2))"!][!//
    [!ELSEIF "text:match(./PortPinSRC,'^MED$')"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,2))"!][!//
    [!ELSEIF "text:match(./PortPinSRC,'^MED_HIGH$')"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(2,2))"!][!//
    [!ELSEIF "text:match(./PortPinSRC,'MAX')"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(3,2))"!][!//
    [!ENDIF!][!//

    [!/* Check if Hysteresis is enabled */!][!//
    [!IF "./PortPinHysteresisControl"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,4))"!][!//
    [!ELSE!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(0,4))"!][!//
    [!ENDIF!][!//

    [!/* Check if weak pull up/down is enabled */!][!//
    [!IF "./PortPinWpe"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,1))"!][!//
    [!ENDIF!][!//

    [!/* Check whether weak pull-up or weak pull-down is selected */!][!//
    [!IF "./PortPinWps"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,0))"!][!//
    [!ENDIF!][!//

    [!/* Check if read status is enabled */!][!//
    [!IF "./PortPinWithReadBack"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,8))"!][!//
    [!ENDIF!][!//
  
    [!/* Check what type of drive strength control is set */!][!// 
    [!IF "text:match(./PortPinDSC,'pF_10')"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(0,6))"!][!//
    [!ELSEIF "text:match(./PortPinDSC,'pF_20')"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(1,6))"!][!//
    [!ELSEIF "text:match(./PortPinDSC,'pF_30')"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(2,6))"!][!//
    [!ELSEIF "text:match(./PortPinDSC,'pF_50')"!][!//
        [!VAR "MacPinMSCR"="bit:or($MacPinMSCR,bit:shl(3,6))"!][!//
    [!ENDIF!][!//
[!ENDIF!][!//

[!ENDNOCODE!][!//
[!"num:inttohex($MacPinMSCR,4)"!][!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                            MACRO GetUnusedPcr                             */!][!//
[!/*****************************************************************************/!][!//
[!/* Fill the MSCR register for the unused pins */!][!//
[!MACRO "GetUnusedPcr"!][!//
[!NOCODE!][!//
[!VAR "MacConfigREG"="num:i(0)"!][!//
[!/* Get the Alternative Mode configuration and fill the Config Register */!][!//
[!CALL "GetAltConf"!][!//
[!/* Check if the pin is configured as input or output */!][!//
[!IF "text:match(./PortPinDirection,'PORT_PIN_OUT')"!][!//
    [!VAR "MacConfigREG"="bit:or($MacConfigREG,bit:shl(1,9))"!][!//
[!ENDIF!][!//
[!IF "text:match(./PortPinDirection,'PORT_PIN_IN')"!][!//
    [!VAR "MacConfigREG"="bit:or($MacConfigREG,bit:shl(1,8))"!][!//
[!ENDIF!][!//

[!/* Check if open drain output is enabled */!][!//
[!IF "./PortPinOde"!][!//
    [!VAR "MacConfigREG"="bit:or($MacConfigREG,bit:shl(1,5))"!][!//
[!ENDIF!][!//

[!/* Check if weak pull up/down is enabled */!][!//
[!IF "./PortPinWpe"!][!//
    [!VAR "MacConfigREG"="bit:or($MacConfigREG,bit:shl(1,1))"!][!//
[!ENDIF!][!//

[!/* Check whether weak pull-up or weak pull-down is selected */!][!//
[!IF "./PortPinWps"!][!//
    [!VAR "MacConfigREG"="bit:or($MacConfigREG,bit:shl(1,0))"!][!//
[!ENDIF!][!//

[!ENDNOCODE!][!//
[!"num:inttohex($MacConfigREG,4)"!][!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                            MACRO GetPDO                                   */!][!//
[!/*****************************************************************************/!][!//
[!/* Get the output status for selected pin */!][!//
[!MACRO "GetPDO"!][!//
[!NOCODE!][!//
[!IF "not(contains(node:fallback(./PortPinMode,'ADC'),'ADC'))"!][!//
    [!IF "text:match(./PortPinLevelValue,'PORT_PIN_LEVEL_LOW')"!][!//
        [!VAR "MacPinPDO"="num:i(0)"!][!//
    [!ENDIF!][!//
    [!IF "text:match(./PortPinLevelValue,'PORT_PIN_LEVEL_HIGH')"!][!//
        [!VAR "MacPinPDO"="num:i(1)"!][!//
    [!ENDIF!][!//
    [!IF "text:match(./PortPinLevelValue,'PORT_PIN_LEVEL_NOTCHANGED')"!][!//
        [!VAR "MacPinPDO"="num:i(2)"!][!//
    [!ENDIF!][!//
[!ELSE!][!//
    [!VAR "MacPinPDO"="num:i(2)"!][!//
[!ENDIF!][!//
[!ENDNOCODE!][!//
[!"$MacPinPDO"!][!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                            MACRO GetPDDir                                   */!][!//
[!/*****************************************************************************/!][!//
[!/* Get the direction to be set for selected pin */!][!//
[!MACRO "GetPDDir"!][!//
[!NOCODE!][!//
[!IF "text:match(./PortPinMode,'ADC')"!][!//
    [!VAR "MacPinPDDir"="'PORT_PIN_IN'"!][!//
[!ELSE!][!//
    [!VAR "MacPinPDDir"="./PortPinDirection"!][!//
[!ENDIF!][!//
[!ENDNOCODE!][!//
[!"$MacPinPDDir"!][!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                          MACRO GetGPIO                                 */!][!//
[!/*****************************************************************************/!][!//
[!/* Set the initial GPIO Mode for selected pin */!][!//
[!MACRO "GetGPIO"!][!//
[!NOCODE!][!//
[!IF "text:match(./PortPinMode,'GPIO')"!][!//
    [!VAR "MacGPIOMode"= "string('(boolean)TRUE')"!][!//
[!ELSE!][!//
    [!VAR "MacGPIOMode"= "string('(boolean)FALSE')"!][!//
[!ENDIF!][!//
[!ENDNOCODE!][!//
[!"$MacGPIOMode"!][!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                          MACRO GetDirConf                                 */!][!//
[!/*****************************************************************************/!][!//
[!/* Get the Alternative Mode configuration for selected pin */!][!//
[!MACRO "GetDirConf"!][!//
[!NOCODE!][!//
[!IF "(./PortPinMode = 'GPIO')"!][!//
    [!IF "./PortPinDirectionChangeable"!][!//
        [!VAR "MacDirection"= "string('(boolean)TRUE')"!][!//
    [!ELSE!][!//
        [!VAR "MacDirection"= "string('(boolean)FALSE')"!][!//
    [!ENDIF!][!//
[!ELSE!][!//
    [!VAR "MacDirection"= "string('(boolean)FALSE')"!][!//
[!ENDIF!][!//
[!ENDNOCODE!][!//
[!"$MacDirection"!][!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                          MACRO GetModeChang                               */!][!//
[!/*****************************************************************************/!][!//
[!MACRO "GetModeChang"!][!//
[!NOCODE!][!//
[!IF "./PortPinModeChangeable"!][!//
    [!VAR "MacModeChang"= "string('(boolean)TRUE')"!][!//
[!ELSE!][!//
    [!VAR "MacModeChang"= "string('(boolean)FALSE')"!][!//
[!ENDIF!][!//
[!ENDNOCODE!][!//
[!"$MacModeChang"!][!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                          MACRO GetIgfInstanceAndChannel                   */!][!//
[!/*****************************************************************************/!][!//
[!/* Get the IGF Instance number and channel number                            */!][!//
[!MACRO "GetIgfInstanceAndChannel"!][!//
[!NOCODE!][!//
[!VAR "MacIgfInstance"="number(substring-after(substring-before(./IGFSettings/IGFChannel,'_'),'IGF'))"!][!//
[!VAR "MacIgfChannel"="number(substring-after(./IGFSettings/IGFChannel,'_'))"!][!//
[!ENDNOCODE!][!//
(uint8)[!"num:i($MacIgfInstance)"!], (uint8)[!"num:i($MacIgfChannel)"!][!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                          MACRO GetIgfMCR                                  */!][!//
[!/*****************************************************************************/!][!//
[!/* Get the IGF MCR register value                                            */!][!//
[!MACRO "GetIgfMCR"!][!//
[!NOCODE!][!//
[!VAR "MacIgfMCR"="num:i(0)"!][!//
[!/* Check if IMM (Immediate Edge Propagation) is set. If yes, MCR will contain only this bit, because the filtering is disabled */!][!//
[!IF "./IGFSettings/IGF_IMM"!][!//
    [!VAR "MacIgfMCR"="bit:or($MacIgfMCR,bit:shl(1,9))"!][!//
[!ELSE!]
    [!IF "text:match(./IGFSettings/IGF_PSSEL, 'External')"!][!//
        [!VAR "MacIgfMCR"="bit:or($MacIgfMCR,bit:shl(1,8))"!][!//
    [!ENDIF!][!//
    [!/* Check the falling edge filter selection */!][!//
    [!IF "text:match(./IGFSettings/IGF_FFM, 'Bypass')"!][!//
        [!VAR "MacIgfMCR"="bit:or($MacIgfMCR,bit:shl(0,3))"!][!//
    [!ELSEIF "text:match(./IGFSettings/IGF_FFM, 'Windowing')"!][!//
        [!VAR "MacIgfMCR"="bit:or($MacIgfMCR,bit:shl(1,3))"!][!//
    [!ELSEIF "text:match(./IGFSettings/IGF_FFM, '^Integrating$')"!][!//
        [!VAR "MacIgfMCR"="bit:or($MacIgfMCR,bit:shl(2,3))"!][!//
    [!ELSEIF "text:match(./IGFSettings/IGF_FFM, '^IntegratingHold$')"!][!//
        [!VAR "MacIgfMCR"="bit:or($MacIgfMCR,bit:shl(3,3))"!][!//
    [!ENDIF!][!//
    [!/* Check the rising edge filter selection */!][!//
    [!IF "text:match(./IGFSettings/IGF_RFM, 'Bypass')"!][!//
        [!VAR "MacIgfMCR"="bit:or($MacIgfMCR,bit:shl(0,0))"!][!//
    [!ELSEIF "text:match(./IGFSettings/IGF_RFM, 'Windowing')"!][!//
        [!VAR "MacIgfMCR"="bit:or($MacIgfMCR,bit:shl(1,0))"!][!//
    [!ELSEIF "text:match(./IGFSettings/IGF_RFM, '^Integrating$')"!][!//
        [!VAR "MacIgfMCR"="bit:or($MacIgfMCR,bit:shl(2,0))"!][!//
    [!ELSEIF "text:match(./IGFSettings/IGF_RFM, '^IntegratingHold$')"!][!//
        [!VAR "MacIgfMCR"="bit:or($MacIgfMCR,bit:shl(3,0))"!][!//
    [!ENDIF!][!//
[!ENDIF!][!//
[!ENDNOCODE!][!//
(uint32)[!"num:inttohex($MacIgfMCR,8)"!]U[!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                          MACRO GetIgfPRESR                                */!][!//
[!/*****************************************************************************/!][!//
[!/* Get the IGF channel prescaler value                                       */!][!//
[!MACRO "GetIgfPRESR"!][!//
[!VAR "MacIgfPRESR"="num:hextoint('0xFFFFFFFF')"!][!//
[!NOCODE!][!//
[!/* Check if the IGF Prescaler control is enabled.Check is a bit more complex for the epd tests to pass */!][!//
[!IF "node:exists(./IGFSettings/IGF_FGEN) and node:exists(./IGFSettings/IGF_IMM)"!][!//
    [!IF "./IGFSettings/IGF_FGEN = 'true' and ./IGFSettings/IGF_IMM = 'false' and ./IGFSettings/IGF_PSSEL = 'Internal'"!][!//
        [!VAR "MacIgfPRESR"="./IGFSettings/IGF_FPRE"!][!//
    [!ENDIF!][!//
[!ENDIF!][!//
[!ENDNOCODE!][!//
(uint32)[!"num:inttohex($MacIgfPRESR,8)"!]U[!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                          MACRO GetIgfRTH                                  */!][!//
[!/*****************************************************************************/!][!//
[!/* Get the IGF RTH value                                                     */!][!//
[!MACRO "GetIgfRTH"!][!//
[!VAR "MacIgfRTH"="num:hextoint('0xFFFFFFFF')"!][!//
[!NOCODE!][!//
[!/* Check if the IGF RTH is enabled. Check is a bit more complex for the epd tests to pass */!][!//
[!IF "node:exists(./IGFSettings/IGF_FGEN) and node:exists(./IGFSettings/IGF_IMM)"!][!//
    [!IF "./IGFSettings/IGF_FGEN = 'true' and ./IGFSettings/IGF_IMM = 'false'"!][!//
        [!VAR "MacIgfRTH"="./IGFSettings/IGF_RTH"!][!//
    [!ENDIF!][!//
[!ENDIF!][!//
[!ENDNOCODE!][!//
(uint32)[!"num:inttohex($MacIgfRTH,8)"!]U[!//
[!ENDMACRO!][!//
[!/*****************************************************************************/!][!//
[!//
[!//
[!/*****************************************************************************/!][!//
[!/*                          MACRO GetIgfFTH                                  */!][!//
[!/*****************************************************************************/!][!//
[!/* Get the IGF FTH value                                                     */!][!//
[!MACRO "GetIgfFTH"!][!//
[!VAR "MacIgfFTH"="num:hextoint('0xFFFFFFFF')"!][!//
[!NOCODE!][!//
[!/* Check if the IGF FTH is enabled. Check is a bit more complex for the epd tests to pass */!][!//
[!IF "node:exists(./IGFSettings/IGF_FGEN) and node:exists(./IGFSettings/IGF_IMM)"!][!//
    [!IF "./IGFSettings/IGF_FGEN = 'true' and ./IGFSettings/IGF_IMM = 'false'"!][!//
        [!VAR "MacIgfFTH"="./IGFSettings/IGF_FTH"!][!//
    [!ENDIF!][!//
[!ENDIF!][!//
[!ENDNOCODE!][!//
(uint32)[!"num:inttohex($MacIgfFTH,8)"!]U[!//
[!ENDMACRO!][!//
[!ENDNOCODE!][!//

/*=================================================================================================
*                                      LOCAL CONSTANTS
=================================================================================================*/


/*=================================================================================================
*                                      LOCAL VARIABLES
=================================================================================================*/


/*=================================================================================================
*                                      GLOBAL CONSTANTS
=================================================================================================*/
#define PORT_START_SEC_CONFIG_DATA_16
/** @violates @ref Port_PBcfg_c_REF_1 Precautions shall be taken in order to prevent the contents of a header file being included more than once. */
#include "Port_MemMap.h"

[!/*****************************************************************************/!][!//
[!/*                          MACRO Port_UnUsedPadsArrayDefault                */!][!//
[!/*****************************************************************************/!][!//
[!SELECT "PortConfigSet"!][!//
[!VAR "counter"="0"!][!//

#if (0UL != PORT_MAX_UNUSED_PADS_U16)
/**
* @brief NoDefaultPadsArray is an array containing Unimplemented pads and User pads
*/
static CONST(uint16, PORT_CONST) Port_au16NoUnUsedPadsArrayDefault[!IF "var:defined('postBuildVariant')"!]_[!"$postBuildVariant"!][!ENDIF!][PORT_MAX_UNUSED_PADS_U16]=
{
[!NOCODE!]
[!FOR "x" = "0" TO "ecu:get('PortMaxPinNumber')"!][!//
    [!VAR "PinUsed"="0"!][!//
    [!LOOP "PortContainer/*/PortPin/*"!][!//
        [!IF "$PinUsed=0"!][!//
            [!IF "num:i(./PortPinPcr)=$x"!][!//
                [!VAR "PinUsed"="$PinUsed + 1"!][!//
            [!ENDIF!][!//
        [!ENDIF!][!//
    [!ENDLOOP!][!//
    [!LOOP "UnTouchedPortPin/*"!][!//
        [!IF "$PinUsed=0"!][!//
            [!IF "num:i(./PortPinPcr)=$x"!][!//
                [!VAR "PinUsed"="$PinUsed + 1"!][!//
            [!ENDIF!][!//
        [!ENDIF!][!//
    [!ENDLOOP!][!//
    [!IF "$PinUsed=0"!][!//
        [!IF "contains(concat(',',string(ecu:get('PortUnimplementedPads')),','),concat(',',$x,','))"!][!//
            [!VAR "PinUsed"="$PinUsed + 1"!][!//
        [!ENDIF!][!//
    [!ENDIF!][!//
    [!IF "$PinUsed=0"!][!//
        [!IF "$counter=0"!][!//
[!CODE!][!//
(uint16)[!"$x"!][!//
[!ENDCODE!][!//
        [!ELSE!][!//
[!CODE!][!//
,
(uint16)[!"$x"!][!//
[!ENDCODE!][!//
        [!ENDIF!][!//
        [!VAR "counter"= "$counter+1"!][!//
    [!ENDIF!][!//
[!ENDFOR!][!//
[!ENDNOCODE!]
};
#endif
[!ENDSELECT!][!//

#define PORT_STOP_SEC_CONFIG_DATA_16
/** @violates @ref Port_PBcfg_c_REF_1 Precautions shall be taken in order to prevent the contents of a header file being included more than once. */
/** @violates @ref Port_PBcfg_c_REF_2 #include directives should only be preceded by preprocessor directives or comments. */
#include "Port_MemMap.h"

#define PORT_START_SEC_CONFIG_DATA_UNSPECIFIED
/** @violates @ref Port_PBcfg_c_REF_1 Precautions shall be taken in order to prevent the contents of a header file being included more than once. */
/** @violates @ref Port_PBcfg_c_REF_2 #include directives should only be preceded by preprocessor directives or comments. */
#include "Port_MemMap.h"
[!/*****************************************************************************/!][!//
[!/*                          MACRO Port_UnUsedPin                             */!][!//
[!/*****************************************************************************/!][!//
[!SELECT "PortConfigSet"!][!//
[!VAR "counter"="0"!][!//
/**
 * @brief Default Configuration for Pins not initialized
 */
static CONST(Port_Siu_UnUsedPinConfigType, PORT_CONST) Port_UnUsedPin[!IF "var:defined('postBuildVariant')"!]_[!"$postBuildVariant"!][!ENDIF!] =
{
    /*@note: Configuration of Default pin*/
    [!LOOP "NotUsedPortPin"!][!/*
        */!](uint16)[!CALL "GetUnusedPcr"!], (uint8)[!CALL "GetPDO"!][!/*
    */!][!ENDLOOP!]
};
[!ENDSELECT!][!//

[!/*****************************************************************************/!][!//
[!/*                          MACRO Port_aPinConfigDefault                     */!][!//
[!/*****************************************************************************/!][!//
[!SELECT "PortConfigSet"!][!//
[!VAR "count"= "1"!][!//
[!VAR "Maxcount"= "num:i(count(PortContainer/*/PortPin/*))-1"!][!//
[!VAR "LoopVar"="1"!][!//
[!VAR "counter"="0"!][!//
/**
* @brief Pin default configuration data for configPB
*/
static CONST(Port_Siu_PinConfigType, PORT_CONST) Port_aPinConfigDefault[!IF "var:defined('postBuildVariant')"!]_[!"$postBuildVariant"!][!ENDIF!][PORT_MAX_CONFIGURED_PADS_U16]=
{
[!NOCODE!]
[!FOR "x" = "0" TO "num:i(count(PortContainer/*/PortPin/*))"!][!//
    [!LOOP "PortContainer/*/PortPin/*"!][!//
        [!VAR "Loop"="num:i($LoopVar)"!][!//
        [!IF "PortPinId = $Loop"!][!//
            [!IF "$Maxcount>=$count"!][!//
[!CODE!][!//
    {(Port_InternalPinIdType)[!"./PortPinPcr"!], (uint16)[!CALL "GetPCR"!], (uint8)[!CALL "GetPDO"!], [!CALL "GetPDDir"!], [!CALL "GetGPIO"!], [!CALL "GetDirConf"!], [!CALL "GetModeChang"!]},
[!ENDCODE!][!//
            [!ELSE!][!//
[!CODE!][!//
    {(Port_InternalPinIdType)[!"./PortPinPcr"!], (uint16)[!CALL "GetPCR"!], (uint8)[!CALL "GetPDO"!], [!CALL "GetPDDir"!], [!CALL "GetGPIO"!], [!CALL "GetDirConf"!], [!CALL "GetModeChang"!]}
[!ENDCODE!][!//
            [!ENDIF!][!//
            [!VAR "count"= "$count+1"!][!//
        [!ENDIF!][!//
    [!ENDLOOP!][!//
    [!VAR "LoopVar"="$LoopVar + 1"!][!//
[!ENDFOR!][!//
[!ENDNOCODE!]
};
[!ENDSELECT!][!//

[!/*****************************************************************************/!][!//
[!/*                          MACRO Port_Igf_ChannelConfigType                 */!][!//
[!/*****************************************************************************/!][!//
[!SELECT "PortConfigSet"!][!//
[!VAR "count"= "1"!][!//
[!NOCODE!]
[!/* Count maximum number of configured IGF channels. */!][!//
[!VAR "MaxNoOfConfiguredIgfChannels" = "0"!][!//
[!LOOP "PortContainer/*/PortPin/*"!][!//
    [!/* Check if the IGF Settings container is enabled */!][!//
    [!IF "boolean(./IGFSettings)"!][!//
        [!/* Check if the FGEN bit is enabled. If not, it means that we will not touch the IGF channel settings */!][!//
        [!IF "./IGFSettings/IGF_FGEN"!][!//
            [!VAR "MaxNoOfConfiguredIgfChannels"= "$MaxNoOfConfiguredIgfChannels+1"!][!//
        [!ENDIF!][!//
    [!ENDIF!][!//
[!ENDLOOP!][!//
[!ENDNOCODE!][!//
[!IF "$MaxNoOfConfiguredIgfChannels>0"!][!//
/**
* @brief IGF Channels configuration data for configPB
*/
static CONST(Port_Igf_ChannelConfigType, PORT_CONST) Port_aIgfChannelConfig[!IF "var:defined('postBuildVariant')"!]_[!"$postBuildVariant"!][!ENDIF!][[!"num:i($MaxNoOfConfiguredIgfChannels)"!]]=
{
    /* Instance, channel, MCR Register,      Prescaler Register, RTH Register,       FTH Register */
[!NOCODE!]
[!LOOP "PortContainer/*/PortPin/*"!][!//
    [!/* Check if the IGF Settings container is enabled */!][!//
    [!IF "boolean(./IGFSettings)"!][!//
        [!/* Check if the FGEN bit is enabled. If not, it means that we will not touch the IGF channel settings */!][!//
        [!IF "./IGFSettings/IGF_FGEN"!][!//
            [!IF "$MaxNoOfConfiguredIgfChannels>$count"!][!//
[!CODE!][!//
    {[!CALL "GetIgfInstanceAndChannel"!], [!CALL "GetIgfMCR"!], [!CALL "GetIgfPRESR"!], [!CALL "GetIgfRTH"!], [!CALL "GetIgfFTH"!]},
[!ENDCODE!][!//
            [!ELSE!][!//
[!CODE!][!//
    {[!CALL "GetIgfInstanceAndChannel"!], [!CALL "GetIgfMCR"!], [!CALL "GetIgfPRESR"!], [!CALL "GetIgfRTH"!], [!CALL "GetIgfFTH"!]}
[!ENDCODE!][!//
            [!ENDIF!][!//
            [!VAR "count"= "$count+1"!][!//
        [!ENDIF!][!//
    [!ENDIF!][!//
[!ENDLOOP!][!//
[!ENDNOCODE!]
};
[!ENDIF!][!//
[!ENDSELECT!][!//

[!SELECT "PortConfigSet"!][!//
/**
* @brief Pad selection default configuration for configPB
*/
static CONST(Port_Siu_PadSelConfigType, PORT_CONST) Port_aPadSelConfigDefault[!IF "var:defined('postBuildVariant')"!]_[!"$postBuildVariant"!][!ENDIF!][PORT_NMBR_INMUX_REGS_U16]=
{
[!NOCODE!]
[!VAR "cINMUX0"="0"!][!//
[!VAR "cINMUX1"="0"!][!//
[!VAR "cINMUX2"="0"!][!//
[!VAR "cINMUX3"="0"!][!//
[!VAR "cINMUX4"="0"!][!//
[!VAR "cINMUX5"="0"!][!//
[!VAR "cINMUX6"="0"!][!//
[!VAR "cINMUX7"="0"!][!//
[!VAR "cINMUX8"="0"!][!//
[!VAR "cINMUX9"="0"!][!//
[!VAR "cINMUX10"="0"!][!//
[!VAR "cINMUX11"="0"!][!//
[!VAR "cINMUX12"="0"!][!//
[!VAR "cINMUX13"="0"!][!//
[!VAR "cINMUX14"="0"!][!//
[!VAR "cINMUX15"="0"!][!//
[!VAR "cINMUX16"="0"!][!//
[!VAR "cINMUX17"="0"!][!//
[!VAR "cINMUX18"="0"!][!//
[!VAR "cINMUX19"="0"!][!//
[!VAR "cINMUX20"="0"!][!//
[!VAR "cINMUX21"="0"!][!//
[!VAR "cINMUX22"="0"!][!//
[!VAR "cINMUX23"="0"!][!//
[!VAR "cINMUX24"="0"!][!//
[!VAR "cINMUX25"="0"!][!//
[!VAR "cINMUX26"="0"!][!//
[!VAR "cINMUX27"="0"!][!//
[!VAR "cINMUX28"="0"!][!//
[!VAR "cINMUX29"="0"!][!//
[!VAR "cINMUX30"="0"!][!//
[!VAR "cINMUX31"="0"!][!//
[!VAR "cINMUX32"="0"!][!//
[!VAR "cINMUX33"="0"!][!//
[!VAR "cINMUX34"="0"!][!//
[!VAR "cINMUX35"="0"!][!//
[!VAR "cINMUX36"="0"!][!//
[!VAR "cINMUX37"="0"!][!//
[!VAR "cINMUX38"="0"!][!//
[!VAR "cINMUX39"="0"!][!//
[!VAR "cINMUX40"="0"!][!//
[!VAR "cINMUX41"="0"!][!//
[!VAR "cINMUX42"="0"!][!//
[!VAR "cINMUX43"="0"!][!//
[!VAR "cINMUX44"="0"!][!//
[!VAR "cINMUX45"="0"!][!//
[!VAR "cINMUX46"="0"!][!//
[!VAR "cINMUX47"="0"!][!//
[!VAR "cINMUX48"="0"!][!//
[!VAR "cINMUX49"="0"!][!//
[!VAR "cINMUX50"="0"!][!//
[!VAR "cINMUX51"="0"!][!//
[!VAR "cINMUX52"="0"!][!//
[!VAR "cINMUX53"="0"!][!//
[!VAR "cINMUX54"="0"!][!//
[!VAR "cINMUX55"="0"!][!//
[!VAR "cINMUX56"="0"!][!//
[!VAR "cINMUX57"="0"!][!//
[!VAR "cINMUX58"="0"!][!//
[!VAR "cINMUX59"="0"!][!//
[!VAR "cINMUX60"="0"!][!//
[!VAR "cINMUX61"="0"!][!//
[!VAR "cINMUX62"="0"!][!//
[!VAR "cINMUX63"="0"!][!//
[!VAR "cINMUX64"="0"!][!//
[!VAR "cINMUX65"="0"!][!//
[!VAR "cINMUX66"="0"!][!//
[!VAR "cINMUX67"="0"!][!//
[!VAR "cINMUX68"="0"!][!//
[!VAR "cINMUX69"="0"!][!//
[!VAR "cINMUX70"="0"!][!//
[!VAR "cINMUX71"="0"!][!//
[!VAR "cINMUX72"="0"!][!//
[!VAR "cINMUX73"="0"!][!//
[!VAR "cINMUX74"="0"!][!//
[!VAR "cINMUX75"="0"!][!//
[!VAR "cINMUX76"="0"!][!//
[!VAR "cINMUX77"="0"!][!//
[!VAR "cINMUX78"="0"!][!//
[!VAR "cINMUX79"="0"!][!//
[!VAR "cINMUX80"="0"!][!//
[!VAR "cINMUX81"="0"!][!//
[!VAR "cINMUX82"="0"!][!//
[!VAR "cINMUX83"="0"!][!//
[!VAR "cINMUX84"="0"!][!//
[!VAR "cINMUX85"="0"!][!//
[!VAR "cINMUX86"="0"!][!//
[!VAR "cINMUX87"="0"!][!//
[!VAR "cINMUX88"="0"!][!//
[!VAR "cINMUX89"="0"!][!//
[!VAR "cINMUX90"="0"!][!//
[!VAR "cINMUX91"="0"!][!//
[!VAR "cINMUX92"="0"!][!//
[!VAR "cINMUX93"="0"!][!//
[!VAR "cINMUX94"="0"!][!//
[!VAR "cINMUX95"="0"!][!//
[!VAR "cINMUX96"="0"!][!//
[!VAR "cINMUX97"="0"!][!//
[!VAR "cINMUX98"="0"!][!//
[!VAR "cINMUX99"="0"!][!//
[!VAR "cINMUX100"="0"!][!//
[!VAR "cINMUX101"="0"!][!//
[!VAR "cINMUX102"="0"!][!//
[!VAR "cINMUX103"="0"!][!//
[!VAR "cINMUX104"="0"!][!//
[!VAR "cINMUX105"="0"!][!//
[!VAR "cINMUX106"="0"!][!//
[!VAR "cINMUX107"="0"!][!//
[!VAR "cINMUX108"="0"!][!//
[!VAR "cINMUX109"="0"!][!//
[!VAR "cINMUX110"="0"!][!//
[!VAR "cINMUX111"="0"!][!//
[!VAR "cINMUX112"="0"!][!//
[!VAR "cINMUX113"="0"!][!//
[!VAR "cINMUX114"="0"!][!//
[!VAR "cINMUX115"="0"!][!//
[!VAR "cINMUX116"="0"!][!//
[!VAR "cINMUX117"="0"!][!//
[!VAR "cINMUX118"="0"!][!//
[!VAR "cINMUX119"="0"!][!//
[!VAR "cINMUX120"="0"!][!//
[!VAR "cINMUX121"="0"!][!//
[!VAR "cINMUX122"="0"!][!//
[!VAR "cINMUX123"="0"!][!//
[!VAR "cINMUX124"="0"!][!//
[!VAR "cINMUX125"="0"!][!//
[!VAR "cINMUX126"="0"!][!//
[!VAR "cINMUX127"="0"!][!//
[!VAR "cINMUX128"="0"!][!//
[!VAR "cINMUX129"="0"!][!//
[!VAR "cINMUX130"="0"!][!//
[!VAR "cINMUX131"="0"!][!//
[!VAR "cINMUX132"="0"!][!//
[!VAR "cINMUX133"="0"!][!//
[!VAR "cINMUX134"="0"!][!//
[!VAR "cINMUX135"="0"!][!//
[!VAR "cINMUX136"="0"!][!//
[!VAR "cINMUX137"="0"!][!//
[!VAR "cINMUX138"="0"!][!//
[!VAR "cINMUX139"="0"!][!//
[!VAR "cINMUX140"="0"!][!//
[!VAR "cINMUX141"="0"!][!//
[!VAR "cINMUX142"="0"!][!//
[!VAR "cINMUX143"="0"!][!//
[!VAR "cINMUX144"="0"!][!//
[!VAR "cINMUX145"="0"!][!//
[!VAR "cINMUX146"="0"!][!//
[!VAR "cINMUX147"="0"!][!//
[!VAR "cINMUX148"="0"!][!//
[!VAR "cINMUX149"="0"!][!//
[!VAR "cINMUX150"="0"!][!//
[!VAR "cINMUX151"="0"!][!//
[!VAR "cINMUX152"="0"!][!//
[!VAR "cINMUX153"="0"!][!//
[!VAR "cINMUX154"="0"!][!//
[!VAR "cINMUX155"="0"!][!//
[!VAR "cINMUX156"="0"!][!//
[!VAR "cINMUX157"="0"!][!//
[!VAR "cINMUX158"="0"!][!//
[!VAR "cINMUX159"="0"!][!//
[!VAR "cINMUX160"="0"!][!//
[!VAR "cINMUX161"="0"!][!//
[!VAR "cINMUX162"="0"!][!//
[!VAR "cINMUX163"="0"!][!//
[!VAR "cINMUX164"="0"!][!//
[!VAR "cINMUX165"="0"!][!//
[!VAR "cINMUX166"="0"!][!//
[!VAR "cINMUX167"="0"!][!//
[!VAR "cINMUX168"="0"!][!//
[!VAR "cINMUX169"="0"!][!//
[!VAR "cINMUX170"="0"!][!//
[!VAR "cINMUX171"="0"!][!//
[!VAR "cINMUX172"="0"!][!//
[!VAR "cINMUX173"="0"!][!//
[!VAR "cINMUX174"="0"!][!//
[!VAR "cINMUX175"="0"!][!//
[!VAR "cINMUX176"="0"!][!//
[!VAR "cINMUX177"="0"!][!//
[!VAR "cINMUX178"="0"!][!//
[!VAR "cINMUX179"="0"!][!//
[!VAR "cINMUX180"="0"!][!//
[!VAR "cINMUX181"="0"!][!//
[!VAR "cINMUX182"="0"!][!//
[!VAR "cINMUX183"="0"!][!//
[!VAR "cINMUX184"="0"!][!//
[!VAR "cINMUX185"="0"!][!//
[!VAR "cINMUX186"="0"!][!//
[!VAR "cINMUX187"="0"!][!//
[!VAR "cINMUX188"="0"!][!//
[!VAR "cINMUX189"="0"!][!//
[!VAR "cINMUX190"="0"!][!//
[!VAR "cINMUX191"="0"!][!//
[!VAR "cINMUX192"="0"!][!//
[!VAR "cINMUX193"="0"!][!//
[!VAR "cINMUX194"="0"!][!//
[!VAR "mode_pin"="0"!][!//
[!LOOP "PortContainer/*"!][!//
[!LOOP "PortPin/*"!][!//
[!VAR "mode_pin"="concat(./PortPinMode,'_PORT',number(./PortPinPcr))"!][!//

[!/* INMUX 0*/!]
[!IF "contains($INMUX0, $mode_pin)"!][!//
  [!VAR "cINMUX0"="number(substring-after(substring-before((substring-after($INMUX0,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 1*/!]
[!IF "contains($INMUX1, $mode_pin)"!][!//
  [!VAR "cINMUX1"="number(substring-after(substring-before((substring-after($INMUX1,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 2*/!]
[!IF "contains($INMUX2, $mode_pin)"!][!//
  [!VAR "cINMUX2"="number(substring-after(substring-before((substring-after($INMUX2,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 3*/!]
[!IF "contains($INMUX3, $mode_pin)"!][!//
  [!VAR "cINMUX3"="number(substring-after(substring-before((substring-after($INMUX3,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 4*/!]
[!IF "contains($INMUX4, $mode_pin)"!][!//
  [!VAR "cINMUX4"="number(substring-after(substring-before((substring-after($INMUX4,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 5*/!]
[!IF "contains($INMUX5, $mode_pin)"!][!//
  [!VAR "cINMUX5"="number(substring-after(substring-before((substring-after($INMUX5,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 6*/!]
[!IF "contains($INMUX6, $mode_pin)"!][!//
  [!VAR "cINMUX6"="number(substring-after(substring-before((substring-after($INMUX6,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 7*/!]
[!IF "contains($INMUX7, $mode_pin)"!][!//
  [!VAR "cINMUX7"="number(substring-after(substring-before((substring-after($INMUX7,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 8*/!]
[!IF "contains($INMUX8, $mode_pin)"!][!//
  [!VAR "cINMUX8"="number(substring-after(substring-before((substring-after($INMUX8,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 9*/!]
[!IF "contains($INMUX9, $mode_pin)"!][!//
  [!VAR "cINMUX9"="number(substring-after(substring-before((substring-after($INMUX9,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 10*/!]
[!IF "contains($INMUX10, $mode_pin)"!][!//
  [!VAR "cINMUX10"="number(substring-after(substring-before((substring-after($INMUX10,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 11*/!]
[!IF "contains($INMUX11, $mode_pin)"!][!//
  [!VAR "cINMUX11"="number(substring-after(substring-before((substring-after($INMUX11,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 12*/!]
[!IF "contains($INMUX12, $mode_pin)"!][!//
  [!VAR "cINMUX12"="number(substring-after(substring-before((substring-after($INMUX12,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 13*/!]
[!IF "contains($INMUX13, $mode_pin)"!][!//
  [!VAR "cINMUX13"="number(substring-after(substring-before((substring-after($INMUX13,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 14*/!]
[!IF "contains($INMUX14, $mode_pin)"!][!//
  [!VAR "cINMUX14"="number(substring-after(substring-before((substring-after($INMUX14,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 15*/!]
[!IF "contains($INMUX15, $mode_pin)"!][!//
  [!VAR "cINMUX15"="number(substring-after(substring-before((substring-after($INMUX15,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 16*/!]
[!IF "contains($INMUX16, $mode_pin)"!][!//
  [!VAR "cINMUX16"="number(substring-after(substring-before((substring-after($INMUX16,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 17*/!]
[!IF "contains($INMUX17, $mode_pin)"!][!//
  [!VAR "cINMUX17"="number(substring-after(substring-before((substring-after($INMUX17,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 18*/!]
[!IF "contains($INMUX18, $mode_pin)"!][!//
  [!VAR "cINMUX18"="number(substring-after(substring-before((substring-after($INMUX18,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 19*/!]
[!IF "contains($INMUX19, $mode_pin)"!][!//
  [!VAR "cINMUX19"="number(substring-after(substring-before((substring-after($INMUX19,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 20*/!]
[!IF "contains($INMUX20, $mode_pin)"!][!//
  [!VAR "cINMUX20"="number(substring-after(substring-before((substring-after($INMUX20,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 21*/!]
[!IF "contains($INMUX21, $mode_pin)"!][!//
  [!VAR "cINMUX21"="number(substring-after(substring-before((substring-after($INMUX21,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 22*/!]
[!IF "contains($INMUX22, $mode_pin)"!][!//
  [!VAR "cINMUX22"="number(substring-after(substring-before((substring-after($INMUX22,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 23*/!]
[!IF "contains($INMUX23, $mode_pin)"!][!//
  [!VAR "cINMUX23"="number(substring-after(substring-before((substring-after($INMUX23,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 24*/!]
[!IF "contains($INMUX24, $mode_pin)"!][!//
  [!VAR "cINMUX24"="number(substring-after(substring-before((substring-after($INMUX24,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 25*/!]
[!IF "contains($INMUX25, $mode_pin)"!][!//
  [!VAR "cINMUX25"="number(substring-after(substring-before((substring-after($INMUX25,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 26*/!]
[!IF "contains($INMUX26, $mode_pin)"!][!//
  [!VAR "cINMUX26"="number(substring-after(substring-before((substring-after($INMUX26,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 27*/!]
[!IF "contains($INMUX27, $mode_pin)"!][!//
  [!VAR "cINMUX27"="number(substring-after(substring-before((substring-after($INMUX27,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 28*/!]
[!IF "contains($INMUX28, $mode_pin)"!][!//
  [!VAR "cINMUX28"="number(substring-after(substring-before((substring-after($INMUX28,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 29*/!]
[!IF "contains($INMUX29, $mode_pin)"!][!//
  [!VAR "cINMUX29"="number(substring-after(substring-before((substring-after($INMUX29,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 30*/!]
[!IF "contains($INMUX30, $mode_pin)"!][!//
  [!VAR "cINMUX30"="number(substring-after(substring-before((substring-after($INMUX30,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 31*/!]
[!IF "contains($INMUX31, $mode_pin)"!][!//
  [!VAR "cINMUX31"="number(substring-after(substring-before((substring-after($INMUX31,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 32*/!]
[!IF "contains($INMUX32, $mode_pin)"!][!//
  [!VAR "cINMUX32"="number(substring-after(substring-before((substring-after($INMUX32,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 33*/!]
[!IF "contains($INMUX33, $mode_pin)"!][!//
  [!VAR "cINMUX33"="number(substring-after(substring-before((substring-after($INMUX33,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 34*/!]
[!IF "contains($INMUX34, $mode_pin)"!][!//
  [!VAR "cINMUX34"="number(substring-after(substring-before((substring-after($INMUX34,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 35*/!]
[!IF "contains($INMUX35, $mode_pin)"!][!//
  [!VAR "cINMUX35"="number(substring-after(substring-before((substring-after($INMUX35,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 36*/!]
[!IF "contains($INMUX36, $mode_pin)"!][!//
  [!VAR "cINMUX36"="number(substring-after(substring-before((substring-after($INMUX36,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 37*/!]
[!IF "contains($INMUX37, $mode_pin)"!][!//
  [!VAR "cINMUX37"="number(substring-after(substring-before((substring-after($INMUX37,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 38*/!]
[!IF "contains($INMUX38, $mode_pin)"!][!//
  [!VAR "cINMUX38"="number(substring-after(substring-before((substring-after($INMUX38,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 39*/!]
[!IF "contains($INMUX39, $mode_pin)"!][!//
  [!VAR "cINMUX39"="number(substring-after(substring-before((substring-after($INMUX39,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 40*/!]
[!IF "contains($INMUX40, $mode_pin)"!][!//
  [!VAR "cINMUX40"="number(substring-after(substring-before((substring-after($INMUX40,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 41*/!]
[!IF "contains($INMUX41, $mode_pin)"!][!//
  [!VAR "cINMUX41"="number(substring-after(substring-before((substring-after($INMUX41,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 42*/!]
[!IF "contains($INMUX42, $mode_pin)"!][!//
  [!VAR "cINMUX42"="number(substring-after(substring-before((substring-after($INMUX42,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 43*/!]
[!IF "contains($INMUX43, $mode_pin)"!][!//
  [!VAR "cINMUX43"="number(substring-after(substring-before((substring-after($INMUX43,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 44*/!]
[!IF "contains($INMUX44, $mode_pin)"!][!//
  [!VAR "cINMUX44"="number(substring-after(substring-before((substring-after($INMUX44,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 45*/!]
[!IF "contains($INMUX45, $mode_pin)"!][!//
  [!VAR "cINMUX45"="number(substring-after(substring-before((substring-after($INMUX45,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 46*/!]
[!IF "contains($INMUX46, $mode_pin)"!][!//
  [!VAR "cINMUX46"="number(substring-after(substring-before((substring-after($INMUX46,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 47*/!]
[!IF "contains($INMUX47, $mode_pin)"!][!//
  [!VAR "cINMUX47"="number(substring-after(substring-before((substring-after($INMUX47,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 48*/!]
[!IF "contains($INMUX48, $mode_pin)"!][!//
  [!VAR "cINMUX48"="number(substring-after(substring-before((substring-after($INMUX48,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 49*/!]
[!IF "contains($INMUX49, $mode_pin)"!][!//
  [!VAR "cINMUX49"="number(substring-after(substring-before((substring-after($INMUX49,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 50*/!]
[!IF "contains($INMUX50, $mode_pin)"!][!//
  [!VAR "cINMUX50"="number(substring-after(substring-before((substring-after($INMUX50,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 51*/!]
[!IF "contains($INMUX51, $mode_pin)"!][!//
  [!VAR "cINMUX51"="number(substring-after(substring-before((substring-after($INMUX51,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 52*/!]
[!IF "contains($INMUX52, $mode_pin)"!][!//
  [!VAR "cINMUX52"="number(substring-after(substring-before((substring-after($INMUX52,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 53*/!]
[!IF "contains($INMUX53, $mode_pin)"!][!//
  [!VAR "cINMUX53"="number(substring-after(substring-before((substring-after($INMUX53,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 54*/!]
[!IF "contains($INMUX54, $mode_pin)"!][!//
  [!VAR "cINMUX54"="number(substring-after(substring-before((substring-after($INMUX54,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 55*/!]
[!IF "contains($INMUX55, $mode_pin)"!][!//
  [!VAR "cINMUX55"="number(substring-after(substring-before((substring-after($INMUX55,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 56*/!]
[!IF "contains($INMUX56, $mode_pin)"!][!//
  [!VAR "cINMUX56"="number(substring-after(substring-before((substring-after($INMUX56,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 57*/!]
[!IF "contains($INMUX57, $mode_pin)"!][!//
  [!VAR "cINMUX57"="number(substring-after(substring-before((substring-after($INMUX57,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 58*/!]
[!IF "contains($INMUX58, $mode_pin)"!][!//
  [!VAR "cINMUX58"="number(substring-after(substring-before((substring-after($INMUX58,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 59*/!]
[!IF "contains($INMUX59, $mode_pin)"!][!//
  [!VAR "cINMUX59"="number(substring-after(substring-before((substring-after($INMUX59,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 60*/!]
[!IF "contains($INMUX60, $mode_pin)"!][!//
  [!VAR "cINMUX60"="number(substring-after(substring-before((substring-after($INMUX60,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 61*/!]
[!IF "contains($INMUX61, $mode_pin)"!][!//
  [!VAR "cINMUX61"="number(substring-after(substring-before((substring-after($INMUX61,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 62*/!]
[!IF "contains($INMUX62, $mode_pin)"!][!//
  [!VAR "cINMUX62"="number(substring-after(substring-before((substring-after($INMUX62,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 63*/!]
[!IF "contains($INMUX63, $mode_pin)"!][!//
  [!VAR "cINMUX63"="number(substring-after(substring-before((substring-after($INMUX63,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 64*/!]
[!IF "contains($INMUX64, $mode_pin)"!][!//
  [!VAR "cINMUX64"="number(substring-after(substring-before((substring-after($INMUX64,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 65*/!]
[!IF "contains($INMUX65, $mode_pin)"!][!//
  [!VAR "cINMUX65"="number(substring-after(substring-before((substring-after($INMUX65,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 66*/!]
[!IF "contains($INMUX66, $mode_pin)"!][!//
  [!VAR "cINMUX66"="number(substring-after(substring-before((substring-after($INMUX66,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 67*/!]
[!IF "contains($INMUX67, $mode_pin)"!][!//
  [!VAR "cINMUX67"="number(substring-after(substring-before((substring-after($INMUX67,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 68*/!]
[!IF "contains($INMUX68, $mode_pin)"!][!//
  [!VAR "cINMUX68"="number(substring-after(substring-before((substring-after($INMUX68,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 69*/!]
[!IF "contains($INMUX69, $mode_pin)"!][!//
  [!VAR "cINMUX69"="number(substring-after(substring-before((substring-after($INMUX69,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 70*/!]
[!IF "contains($INMUX70, $mode_pin)"!][!//
  [!VAR "cINMUX70"="number(substring-after(substring-before((substring-after($INMUX70,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 71*/!]
[!IF "contains($INMUX71, $mode_pin)"!][!//
  [!VAR "cINMUX71"="number(substring-after(substring-before((substring-after($INMUX71,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 72*/!]
[!IF "contains($INMUX72, $mode_pin)"!][!//
  [!VAR "cINMUX72"="number(substring-after(substring-before((substring-after($INMUX72,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 73*/!]
[!IF "contains($INMUX73, $mode_pin)"!][!//
  [!VAR "cINMUX73"="number(substring-after(substring-before((substring-after($INMUX73,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 74*/!]
[!IF "contains($INMUX74, $mode_pin)"!][!//
  [!VAR "cINMUX74"="number(substring-after(substring-before((substring-after($INMUX74,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 75*/!]
[!IF "contains($INMUX75, $mode_pin)"!][!//
  [!VAR "cINMUX75"="number(substring-after(substring-before((substring-after($INMUX75,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 76*/!]
[!IF "contains($INMUX76, $mode_pin)"!][!//
  [!VAR "cINMUX76"="number(substring-after(substring-before((substring-after($INMUX76,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 77*/!]
[!IF "contains($INMUX77, $mode_pin)"!][!//
  [!VAR "cINMUX77"="number(substring-after(substring-before((substring-after($INMUX77,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 78*/!]
[!IF "contains($INMUX78, $mode_pin)"!][!//
  [!VAR "cINMUX78"="number(substring-after(substring-before((substring-after($INMUX78,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 79*/!]
[!IF "contains($INMUX79, $mode_pin)"!][!//
  [!VAR "cINMUX79"="number(substring-after(substring-before((substring-after($INMUX79,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 80*/!]
[!IF "contains($INMUX80, $mode_pin)"!][!//
  [!VAR "cINMUX80"="number(substring-after(substring-before((substring-after($INMUX80,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 81*/!]
[!IF "contains($INMUX81, $mode_pin)"!][!//
  [!VAR "cINMUX81"="number(substring-after(substring-before((substring-after($INMUX81,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 82*/!]
[!IF "contains($INMUX82, $mode_pin)"!][!//
  [!VAR "cINMUX82"="number(substring-after(substring-before((substring-after($INMUX82,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 83*/!]
[!IF "contains($INMUX83, $mode_pin)"!][!//
  [!VAR "cINMUX83"="number(substring-after(substring-before((substring-after($INMUX83,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 84*/!]
[!IF "contains($INMUX84, $mode_pin)"!][!//
  [!VAR "cINMUX84"="number(substring-after(substring-before((substring-after($INMUX84,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 85*/!]
[!IF "contains($INMUX85, $mode_pin)"!][!//
  [!VAR "cINMUX85"="number(substring-after(substring-before((substring-after($INMUX85,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 86*/!]
[!IF "contains($INMUX86, $mode_pin)"!][!//
  [!VAR "cINMUX86"="number(substring-after(substring-before((substring-after($INMUX86,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 87*/!]
[!IF "contains($INMUX87, $mode_pin)"!][!//
  [!VAR "cINMUX87"="number(substring-after(substring-before((substring-after($INMUX87,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 88*/!]
[!IF "contains($INMUX88, $mode_pin)"!][!//
  [!VAR "cINMUX88"="number(substring-after(substring-before((substring-after($INMUX88,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 89*/!]
[!IF "contains($INMUX89, $mode_pin)"!][!//
  [!VAR "cINMUX89"="number(substring-after(substring-before((substring-after($INMUX89,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 90*/!]
[!IF "contains($INMUX90, $mode_pin)"!][!//
  [!VAR "cINMUX90"="number(substring-after(substring-before((substring-after($INMUX90,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 91*/!]
[!IF "contains($INMUX91, $mode_pin)"!][!//
  [!VAR "cINMUX91"="number(substring-after(substring-before((substring-after($INMUX91,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 92*/!]
[!IF "contains($INMUX92, $mode_pin)"!][!//
  [!VAR "cINMUX92"="number(substring-after(substring-before((substring-after($INMUX92,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 93*/!]
[!IF "contains($INMUX93, $mode_pin)"!][!//
  [!VAR "cINMUX93"="number(substring-after(substring-before((substring-after($INMUX93,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 94*/!]
[!IF "contains($INMUX94, $mode_pin)"!][!//
  [!VAR "cINMUX94"="number(substring-after(substring-before((substring-after($INMUX94,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 95*/!]
[!IF "contains($INMUX95, $mode_pin)"!][!//
  [!VAR "cINMUX95"="number(substring-after(substring-before((substring-after($INMUX95,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 96*/!]
[!IF "contains($INMUX96, $mode_pin)"!][!//
  [!VAR "cINMUX96"="number(substring-after(substring-before((substring-after($INMUX96,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 97*/!]
[!IF "contains($INMUX97, $mode_pin)"!][!//
  [!VAR "cINMUX97"="number(substring-after(substring-before((substring-after($INMUX97,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 98*/!]
[!IF "contains($INMUX98, $mode_pin)"!][!//
  [!VAR "cINMUX98"="number(substring-after(substring-before((substring-after($INMUX98,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 99*/!]
[!IF "contains($INMUX99, $mode_pin)"!][!//
  [!VAR "cINMUX99"="number(substring-after(substring-before((substring-after($INMUX99,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 100*/!]
[!IF "contains($INMUX100, $mode_pin)"!][!//
  [!VAR "cINMUX100"="number(substring-after(substring-before((substring-after($INMUX100,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 101*/!]
[!IF "contains($INMUX101, $mode_pin)"!][!//
  [!VAR "cINMUX101"="number(substring-after(substring-before((substring-after($INMUX101,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 102*/!]
[!IF "contains($INMUX102, $mode_pin)"!][!//
  [!VAR "cINMUX102"="number(substring-after(substring-before((substring-after($INMUX102,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 103*/!]
[!IF "contains($INMUX103, $mode_pin)"!][!//
  [!VAR "cINMUX103"="number(substring-after(substring-before((substring-after($INMUX103,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 104*/!]
[!IF "contains($INMUX104, $mode_pin)"!][!//
  [!VAR "cINMUX104"="number(substring-after(substring-before((substring-after($INMUX104,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 105*/!]
[!IF "contains($INMUX105, $mode_pin)"!][!//
  [!VAR "cINMUX105"="number(substring-after(substring-before((substring-after($INMUX105,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 106*/!]
[!IF "contains($INMUX106, $mode_pin)"!][!//
  [!VAR "cINMUX106"="number(substring-after(substring-before((substring-after($INMUX106,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 107*/!]
[!IF "contains($INMUX107, $mode_pin)"!][!//
  [!VAR "cINMUX107"="number(substring-after(substring-before((substring-after($INMUX107,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 108*/!]
[!IF "contains($INMUX108, $mode_pin)"!][!//
  [!VAR "cINMUX108"="number(substring-after(substring-before((substring-after($INMUX108,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 109*/!]
[!IF "contains($INMUX109, $mode_pin)"!][!//
  [!VAR "cINMUX109"="number(substring-after(substring-before((substring-after($INMUX109,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 110*/!]
[!IF "contains($INMUX110, $mode_pin)"!][!//
  [!VAR "cINMUX110"="number(substring-after(substring-before((substring-after($INMUX110,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 111*/!]
[!IF "contains($INMUX111, $mode_pin)"!][!//
  [!VAR "cINMUX111"="number(substring-after(substring-before((substring-after($INMUX111,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 112*/!]
[!IF "contains($INMUX112, $mode_pin)"!][!//
  [!VAR "cINMUX112"="number(substring-after(substring-before((substring-after($INMUX112,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 113*/!]
[!IF "contains($INMUX113, $mode_pin)"!][!//
  [!VAR "cINMUX113"="number(substring-after(substring-before((substring-after($INMUX113,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 114*/!]
[!IF "contains($INMUX114, $mode_pin)"!][!//
  [!VAR "cINMUX114"="number(substring-after(substring-before((substring-after($INMUX114,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 115*/!]
[!IF "contains($INMUX115, $mode_pin)"!][!//
  [!VAR "cINMUX115"="number(substring-after(substring-before((substring-after($INMUX115,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 116*/!]
[!IF "contains($INMUX116, $mode_pin)"!][!//
  [!VAR "cINMUX116"="number(substring-after(substring-before((substring-after($INMUX116,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 117*/!]
[!IF "contains($INMUX117, $mode_pin)"!][!//
  [!VAR "cINMUX117"="number(substring-after(substring-before((substring-after($INMUX117,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 118*/!]
[!IF "contains($INMUX118, $mode_pin)"!][!//
  [!VAR "cINMUX118"="number(substring-after(substring-before((substring-after($INMUX118,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 119*/!]
[!IF "contains($INMUX119, $mode_pin)"!][!//
  [!VAR "cINMUX119"="number(substring-after(substring-before((substring-after($INMUX119,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 120*/!]
[!IF "contains($INMUX120, $mode_pin)"!][!//
  [!VAR "cINMUX120"="number(substring-after(substring-before((substring-after($INMUX120,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 121*/!]
[!IF "contains($INMUX121, $mode_pin)"!][!//
  [!VAR "cINMUX121"="number(substring-after(substring-before((substring-after($INMUX121,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 122*/!]
[!IF "contains($INMUX122, $mode_pin)"!][!//
  [!VAR "cINMUX122"="number(substring-after(substring-before((substring-after($INMUX122,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 123*/!]
[!IF "contains($INMUX123, $mode_pin)"!][!//
  [!VAR "cINMUX123"="number(substring-after(substring-before((substring-after($INMUX123,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 124*/!]
[!IF "contains($INMUX124, $mode_pin)"!][!//
  [!VAR "cINMUX124"="number(substring-after(substring-before((substring-after($INMUX124,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 125*/!]
[!IF "contains($INMUX125, $mode_pin)"!][!//
  [!VAR "cINMUX125"="number(substring-after(substring-before((substring-after($INMUX125,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 126*/!]
[!IF "contains($INMUX126, $mode_pin)"!][!//
  [!VAR "cINMUX126"="number(substring-after(substring-before((substring-after($INMUX126,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 127*/!]
[!IF "contains($INMUX127, $mode_pin)"!][!//
  [!VAR "cINMUX127"="number(substring-after(substring-before((substring-after($INMUX127,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 128*/!]
[!IF "contains($INMUX128, $mode_pin)"!][!//
  [!VAR "cINMUX128"="number(substring-after(substring-before((substring-after($INMUX128,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 129*/!]
[!IF "contains($INMUX129, $mode_pin)"!][!//
  [!VAR "cINMUX129"="number(substring-after(substring-before((substring-after($INMUX129,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 130*/!]
[!IF "contains($INMUX130, $mode_pin)"!][!//
  [!VAR "cINMUX130"="number(substring-after(substring-before((substring-after($INMUX130,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 131*/!]
[!IF "contains($INMUX131, $mode_pin)"!][!//
  [!VAR "cINMUX131"="number(substring-after(substring-before((substring-after($INMUX131,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 132*/!]
[!IF "contains($INMUX132, $mode_pin)"!][!//
  [!VAR "cINMUX132"="number(substring-after(substring-before((substring-after($INMUX132,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 133*/!]
[!IF "contains($INMUX133, $mode_pin)"!][!//
  [!VAR "cINMUX133"="number(substring-after(substring-before((substring-after($INMUX133,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 134*/!]
[!IF "contains($INMUX134, $mode_pin)"!][!//
  [!VAR "cINMUX134"="number(substring-after(substring-before((substring-after($INMUX134,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 135*/!]
[!IF "contains($INMUX135, $mode_pin)"!][!//
  [!VAR "cINMUX135"="number(substring-after(substring-before((substring-after($INMUX135,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 136*/!]
[!IF "contains($INMUX136, $mode_pin)"!][!//
  [!VAR "cINMUX136"="number(substring-after(substring-before((substring-after($INMUX136,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 137*/!]
[!IF "contains($INMUX137, $mode_pin)"!][!//
  [!VAR "cINMUX137"="number(substring-after(substring-before((substring-after($INMUX137,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 138*/!]
[!IF "contains($INMUX138, $mode_pin)"!][!//
  [!VAR "cINMUX138"="number(substring-after(substring-before((substring-after($INMUX138,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 139*/!]
[!IF "contains($INMUX139, $mode_pin)"!][!//
  [!VAR "cINMUX139"="number(substring-after(substring-before((substring-after($INMUX139,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 140*/!]
[!IF "contains($INMUX140, $mode_pin)"!][!//
  [!VAR "cINMUX140"="number(substring-after(substring-before((substring-after($INMUX140,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 141*/!]
[!IF "contains($INMUX141, $mode_pin)"!][!//
  [!VAR "cINMUX141"="number(substring-after(substring-before((substring-after($INMUX141,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 142*/!]
[!IF "contains($INMUX142, $mode_pin)"!][!//
  [!VAR "cINMUX142"="number(substring-after(substring-before((substring-after($INMUX142,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 143*/!]
[!IF "contains($INMUX143, $mode_pin)"!][!//
  [!VAR "cINMUX143"="number(substring-after(substring-before((substring-after($INMUX143,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 144*/!]
[!IF "contains($INMUX144, $mode_pin)"!][!//
  [!VAR "cINMUX144"="number(substring-after(substring-before((substring-after($INMUX144,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 145*/!]
[!IF "contains($INMUX145, $mode_pin)"!][!//
  [!VAR "cINMUX145"="number(substring-after(substring-before((substring-after($INMUX145,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 146*/!]
[!IF "contains($INMUX146, $mode_pin)"!][!//
  [!VAR "cINMUX146"="number(substring-after(substring-before((substring-after($INMUX146,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 147*/!]
[!IF "contains($INMUX147, $mode_pin)"!][!//
  [!VAR "cINMUX147"="number(substring-after(substring-before((substring-after($INMUX147,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 148*/!]
[!IF "contains($INMUX148, $mode_pin)"!][!//
  [!VAR "cINMUX148"="number(substring-after(substring-before((substring-after($INMUX148,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 149*/!]
[!IF "contains($INMUX149, $mode_pin)"!][!//
  [!VAR "cINMUX149"="number(substring-after(substring-before((substring-after($INMUX149,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 150*/!]
[!IF "contains($INMUX150, $mode_pin)"!][!//
  [!VAR "cINMUX150"="number(substring-after(substring-before((substring-after($INMUX150,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 151*/!]
[!IF "contains($INMUX151, $mode_pin)"!][!//
  [!VAR "cINMUX151"="number(substring-after(substring-before((substring-after($INMUX151,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 152*/!]
[!IF "contains($INMUX152, $mode_pin)"!][!//
  [!VAR "cINMUX152"="number(substring-after(substring-before((substring-after($INMUX152,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 153*/!]
[!IF "contains($INMUX153, $mode_pin)"!][!//
  [!VAR "cINMUX153"="number(substring-after(substring-before((substring-after($INMUX153,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 154*/!]
[!IF "contains($INMUX154, $mode_pin)"!][!//
  [!VAR "cINMUX154"="number(substring-after(substring-before((substring-after($INMUX154,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 155*/!]
[!IF "contains($INMUX155, $mode_pin)"!][!//
  [!VAR "cINMUX155"="number(substring-after(substring-before((substring-after($INMUX155,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 156*/!]
[!IF "contains($INMUX156, $mode_pin)"!][!//
  [!VAR "cINMUX156"="number(substring-after(substring-before((substring-after($INMUX156,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 157*/!]
[!IF "contains($INMUX157, $mode_pin)"!][!//
  [!VAR "cINMUX157"="number(substring-after(substring-before((substring-after($INMUX157,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 158*/!]
[!IF "contains($INMUX158, $mode_pin)"!][!//
  [!VAR "cINMUX158"="number(substring-after(substring-before((substring-after($INMUX158,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 159*/!]
[!IF "contains($INMUX159, $mode_pin)"!][!//
  [!VAR "cINMUX159"="number(substring-after(substring-before((substring-after($INMUX159,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 160*/!]
[!IF "contains($INMUX160, $mode_pin)"!][!//
  [!VAR "cINMUX160"="number(substring-after(substring-before((substring-after($INMUX160,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 161*/!]
[!IF "contains($INMUX161, $mode_pin)"!][!//
  [!VAR "cINMUX161"="number(substring-after(substring-before((substring-after($INMUX161,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 162*/!]
[!IF "contains($INMUX162, $mode_pin)"!][!//
  [!VAR "cINMUX162"="number(substring-after(substring-before((substring-after($INMUX162,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 163*/!]
[!IF "contains($INMUX163, $mode_pin)"!][!//
  [!VAR "cINMUX163"="number(substring-after(substring-before((substring-after($INMUX163,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 164*/!]
[!IF "contains($INMUX164, $mode_pin)"!][!//
  [!VAR "cINMUX164"="number(substring-after(substring-before((substring-after($INMUX164,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 165*/!]
[!IF "contains($INMUX165, $mode_pin)"!][!//
  [!VAR "cINMUX165"="number(substring-after(substring-before((substring-after($INMUX165,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 166*/!]
[!IF "contains($INMUX166, $mode_pin)"!][!//
  [!VAR "cINMUX166"="number(substring-after(substring-before((substring-after($INMUX166,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 167*/!]
[!IF "contains($INMUX167, $mode_pin)"!][!//
  [!VAR "cINMUX167"="number(substring-after(substring-before((substring-after($INMUX167,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 168*/!]
[!IF "contains($INMUX168, $mode_pin)"!][!//
  [!VAR "cINMUX168"="number(substring-after(substring-before((substring-after($INMUX168,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 169*/!]
[!IF "contains($INMUX169, $mode_pin)"!][!//
  [!VAR "cINMUX169"="number(substring-after(substring-before((substring-after($INMUX169,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 170*/!]
[!IF "contains($INMUX170, $mode_pin)"!][!//
  [!VAR "cINMUX170"="number(substring-after(substring-before((substring-after($INMUX170,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 171*/!]
[!IF "contains($INMUX171, $mode_pin)"!][!//
  [!VAR "cINMUX171"="number(substring-after(substring-before((substring-after($INMUX171,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 172*/!]
[!IF "contains($INMUX172, $mode_pin)"!][!//
  [!VAR "cINMUX172"="number(substring-after(substring-before((substring-after($INMUX172,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 173*/!]
[!IF "contains($INMUX173, $mode_pin)"!][!//
  [!VAR "cINMUX173"="number(substring-after(substring-before((substring-after($INMUX173,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 174*/!]
[!IF "contains($INMUX174, $mode_pin)"!][!//
  [!VAR "cINMUX174"="number(substring-after(substring-before((substring-after($INMUX174,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 175*/!]
[!IF "contains($INMUX175, $mode_pin)"!][!//
  [!VAR "cINMUX175"="number(substring-after(substring-before((substring-after($INMUX175,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 176*/!]
[!IF "contains($INMUX176, $mode_pin)"!][!//
  [!VAR "cINMUX176"="number(substring-after(substring-before((substring-after($INMUX176,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 177*/!]
[!IF "contains($INMUX177, $mode_pin)"!][!//
  [!VAR "cINMUX177"="number(substring-after(substring-before((substring-after($INMUX177,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 178*/!]
[!IF "contains($INMUX178, $mode_pin)"!][!//
  [!VAR "cINMUX178"="number(substring-after(substring-before((substring-after($INMUX178,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 179*/!]
[!IF "contains($INMUX179, $mode_pin)"!][!//
  [!VAR "cINMUX179"="number(substring-after(substring-before((substring-after($INMUX179,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 180*/!]
[!IF "contains($INMUX180, $mode_pin)"!][!//
  [!VAR "cINMUX180"="number(substring-after(substring-before((substring-after($INMUX180,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 181*/!]
[!IF "contains($INMUX181, $mode_pin)"!][!//
  [!VAR "cINMUX181"="number(substring-after(substring-before((substring-after($INMUX181,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 182*/!]
[!IF "contains($INMUX182, $mode_pin)"!][!//
  [!VAR "cINMUX182"="number(substring-after(substring-before((substring-after($INMUX182,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 183*/!]
[!IF "contains($INMUX183, $mode_pin)"!][!//
  [!VAR "cINMUX183"="number(substring-after(substring-before((substring-after($INMUX183,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 184*/!]
[!IF "contains($INMUX184, $mode_pin)"!][!//
  [!VAR "cINMUX184"="number(substring-after(substring-before((substring-after($INMUX184,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 185*/!]
[!IF "contains($INMUX185, $mode_pin)"!][!//
  [!VAR "cINMUX185"="number(substring-after(substring-before((substring-after($INMUX185,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 186*/!]
[!IF "contains($INMUX186, $mode_pin)"!][!//
  [!VAR "cINMUX186"="number(substring-after(substring-before((substring-after($INMUX186,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 187*/!]
[!IF "contains($INMUX187, $mode_pin)"!][!//
  [!VAR "cINMUX187"="number(substring-after(substring-before((substring-after($INMUX187,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 188*/!]
[!IF "contains($INMUX188, $mode_pin)"!][!//
  [!VAR "cINMUX188"="number(substring-after(substring-before((substring-after($INMUX188,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 189*/!]
[!IF "contains($INMUX189, $mode_pin)"!][!//
  [!VAR "cINMUX189"="number(substring-after(substring-before((substring-after($INMUX189,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 190*/!]
[!IF "contains($INMUX190, $mode_pin)"!][!//
  [!VAR "cINMUX190"="number(substring-after(substring-before((substring-after($INMUX190,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 191*/!]
[!IF "contains($INMUX191, $mode_pin)"!][!//
  [!VAR "cINMUX191"="number(substring-after(substring-before((substring-after($INMUX191,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 192*/!]
[!IF "contains($INMUX192, $mode_pin)"!][!//
  [!VAR "cINMUX192"="number(substring-after(substring-before((substring-after($INMUX192,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 193*/!]
[!IF "contains($INMUX193, $mode_pin)"!][!//
  [!VAR "cINMUX193"="number(substring-after(substring-before((substring-after($INMUX193,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!/* INMUX 194*/!]
[!IF "contains($INMUX194, $mode_pin)"!][!//
  [!VAR "cINMUX194"="number(substring-after(substring-before((substring-after($INMUX194,$mode_pin)),':'),';'))"!][!//
[!ENDIF!][!//
[!ENDLOOP!][!//
[!ENDLOOP!][!//
[!ENDNOCODE!][!//
    (uint8)[!"num:inttohex($cINMUX0, 2)"!],
    (uint8)[!"num:inttohex($cINMUX1, 2)"!],
    (uint8)[!"num:inttohex($cINMUX2, 2)"!],
    (uint8)[!"num:inttohex($cINMUX3, 2)"!],
    (uint8)[!"num:inttohex($cINMUX4, 2)"!],
    (uint8)[!"num:inttohex($cINMUX5, 2)"!],
    (uint8)[!"num:inttohex($cINMUX6, 2)"!],
    (uint8)[!"num:inttohex($cINMUX7, 2)"!],
    (uint8)[!"num:inttohex($cINMUX8, 2)"!],
    (uint8)[!"num:inttohex($cINMUX9, 2)"!],
    (uint8)[!"num:inttohex($cINMUX10, 2)"!],
    (uint8)[!"num:inttohex($cINMUX11, 2)"!],
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)[!"num:inttohex($cINMUX16, 2)"!],
    (uint8)[!"num:inttohex($cINMUX17, 2)"!],
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)[!"num:inttohex($cINMUX21, 2)"!],
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)[!"num:inttohex($cINMUX37, 2)"!],
    (uint8)[!"num:inttohex($cINMUX38, 2)"!],
    (uint8)[!"num:inttohex($cINMUX39, 2)"!],
    (uint8)[!"num:inttohex($cINMUX40, 2)"!],
    (uint8)[!"num:inttohex($cINMUX41, 2)"!],
    (uint8)[!"num:inttohex($cINMUX42, 2)"!],
    (uint8)[!"num:inttohex($cINMUX43, 2)"!],
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)[!"num:inttohex($cINMUX48, 2)"!],
    (uint8)[!"num:inttohex($cINMUX49, 2)"!],
    (uint8)[!"num:inttohex($cINMUX50, 2)"!],
    (uint8)[!"num:inttohex($cINMUX51, 2)"!],
    (uint8)[!"num:inttohex($cINMUX52, 2)"!],
    (uint8)[!"num:inttohex($cINMUX53, 2)"!],
    (uint8)[!"num:inttohex($cINMUX54, 2)"!],
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)[!"num:inttohex($cINMUX64, 2)"!],
    (uint8)[!"num:inttohex($cINMUX65, 2)"!],
    (uint8)[!"num:inttohex($cINMUX66, 2)"!],
    (uint8)[!"num:inttohex($cINMUX67, 2)"!],
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)[!"num:inttohex($cINMUX72, 2)"!],
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)[!"num:inttohex($cINMUX80, 2)"!],
    (uint8)[!"num:inttohex($cINMUX81, 2)"!],
    (uint8)[!"num:inttohex($cINMUX82, 2)"!],
    (uint8)[!"num:inttohex($cINMUX83, 2)"!],
    (uint8)[!"num:inttohex($cINMUX84, 2)"!],
    (uint8)[!"num:inttohex($cINMUX85, 2)"!],
    (uint8)[!"num:inttohex($cINMUX86, 2)"!],
    (uint8)[!"num:inttohex($cINMUX87, 2)"!],
    (uint8)[!"num:inttohex($cINMUX88, 2)"!],
    (uint8)[!"num:inttohex($cINMUX89, 2)"!],
    (uint8)[!"num:inttohex($cINMUX90, 2)"!],
    (uint8)[!"num:inttohex($cINMUX91, 2)"!],
    (uint8)[!"num:inttohex($cINMUX92, 2)"!],
    (uint8)[!"num:inttohex($cINMUX93, 2)"!],
    (uint8)[!"num:inttohex($cINMUX94, 2)"!],
    (uint8)[!"num:inttohex($cINMUX95, 2)"!],
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)[!"num:inttohex($cINMUX120, 2)"!],
    (uint8)[!"num:inttohex($cINMUX121, 2)"!],
    (uint8)[!"num:inttohex($cINMUX122, 2)"!],
    (uint8)[!"num:inttohex($cINMUX123, 2)"!],
    (uint8)[!"num:inttohex($cINMUX124, 2)"!],
    (uint8)[!"num:inttohex($cINMUX125, 2)"!],
    (uint8)[!"num:inttohex($cINMUX126, 2)"!],
    (uint8)[!"num:inttohex($cINMUX127, 2)"!],
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)[!"num:inttohex($cINMUX160, 2)"!],
    (uint8)[!"num:inttohex($cINMUX161, 2)"!],
    (uint8)[!"num:inttohex($cINMUX162, 2)"!],
    (uint8)[!"num:inttohex($cINMUX163, 2)"!],
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)[!"num:inttohex($cINMUX168, 2)"!],
    (uint8)[!"num:inttohex($cINMUX169, 2)"!],
    (uint8)[!"num:inttohex($cINMUX170, 2)"!],
    (uint8)[!"num:inttohex($cINMUX171, 2)"!],
    (uint8)[!"num:inttohex($cINMUX172, 2)"!],
    (uint8)[!"num:inttohex($cINMUX173, 2)"!],
    (uint8)[!"num:inttohex($cINMUX174, 2)"!],
    (uint8)[!"num:inttohex($cINMUX175, 2)"!],
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    MUXSEL_RESERVED_U8,
    (uint8)[!"num:inttohex($cINMUX194, 2)"!]
};
[!ENDSELECT!][!//
[!/*****************************************************************************/!][!//
[!/*                          MACRO Port_ConfigPinParameter                     */!][!//
[!/*****************************************************************************/!][!//
[!SELECT "PortConfigSet"!][!//
[!VAR "counter"="0"!][!//
/**
* @brief This table contains all the Configured Port Pin parameters and the
*        number of Port Pins configured by the tool for the post-build mode [!"@name"!]
*/
[!IF "((../IMPLEMENTATION_CONFIG_VARIANT != 'VariantPostBuild') and (variant:size()>1)) or (../IMPLEMENTATION_CONFIG_VARIANT = 'VariantPostBuild')"!]
CONST(Port_ConfigType, PORT_CONST) [!"as:name(.)"!][!IF "var:defined('postBuildVariant')"!]_[!"$postBuildVariant"!][!ENDIF!] =
[!ELSE!]
CONST(Port_ConfigType, PORT_CONST) Port_PBCfgVariantPredefined =
[!ENDIF!]
{
  PORT_MAX_CONFIGURED_PADS_U16,
  PORT_MAX_UNUSED_PADS_U16,
#if (PORT_MAX_UNUSED_PADS_U16 != 0U)
  Port_au16NoUnUsedPadsArrayDefault[!IF "var:defined('postBuildVariant')"!]_[!"$postBuildVariant"!][!ENDIF!],
#else
  NULL_PTR,
#endif
  &Port_UnUsedPin[!IF "var:defined('postBuildVariant')"!]_[!"$postBuildVariant"!][!ENDIF!],
  Port_aPinConfigDefault[!IF "var:defined('postBuildVariant')"!]_[!"$postBuildVariant"!][!ENDIF!],
  Port_aPadSelConfigDefault[!IF "var:defined('postBuildVariant')"!]_[!"$postBuildVariant"!][!ENDIF!],
  {
[!NOCODE!]
[!/* Count maximum number of configured IGF channels. */!][!//
[!VAR "MaxNoOfConfiguredIgfChannels" = "0"!][!//
[!LOOP "PortContainer/*/PortPin/*"!][!//
    [!/* Check if the IGF Settings container is enabled */!][!//
    [!IF "boolean(./IGFSettings)"!][!//
        [!/* Check if the FGEN bit is enabled. If not, it means that we will not touch the IGF channel settings */!][!//
        [!IF "./IGFSettings/IGF_FGEN"!][!//
            [!VAR "MaxNoOfConfiguredIgfChannels"= "$MaxNoOfConfiguredIgfChannels+1"!][!//
        [!ENDIF!][!//
    [!ENDIF!][!//
[!ENDLOOP!][!//
[!CODE!][!//
    [!"num:i($MaxNoOfConfiguredIgfChannels)"!]U,
[!ENDCODE!][!//
[!IF "$MaxNoOfConfiguredIgfChannels>0"!][!//
[!CODE!][!//
    Port_aIgfChannelConfig[!IF "var:defined('postBuildVariant')"!]_[!"$postBuildVariant"!][!ENDIF!]
[!ENDCODE!][!//
[!ELSE!]
[!CODE!][!//
    NULL_PTR
[!ENDCODE!][!//
[!ENDIF!][!//
[!ENDNOCODE!][!//
  }
};
[!ENDSELECT!][!//
#define PORT_STOP_SEC_CONFIG_DATA_UNSPECIFIED
/** @violates @ref Port_PBcfg_c_REF_1 Precautions shall be taken in order to prevent the contents of a header file being included more than once. */
/** @violates @ref Port_PBcfg_c_REF_2 #include directives should only be preceded by preprocessor directives or comments. */
#include "Port_MemMap.h"

/*=================================================================================================
*                                      GLOBAL VARIABLES
=================================================================================================*/


/*=================================================================================================
*                                   LOCAL FUNCTION PROTOTYPES
=================================================================================================*/


/*=================================================================================================
*                                       LOCAL FUNCTIONS
=================================================================================================*/


/*=================================================================================================
*                                       GLOBAL FUNCTIONS
=================================================================================================*/

#ifdef __cplusplus
}
#endif
/** @} */

/* End of File */

[!ENDCODE!][!//
