/*!
* @file     Dio_PBcfg.c
*
* @version  1.0.0
*
* @brief    This file includes the configuration parameters of the Dio module.
*
*/

/*******************************************************************************
* Project Name      : AUTOSAR MCAL
* Platform          : Arm
* Autosar Standard  : Classic Platform 4.4.0
* Revision Number   :
* Compiled Version  : G32A10xx_MCAL_1_0_0_15-Nov-25
*
* Copyright (C) 2026 Geehy Semiconductor
*
* You may not use this file except in compliance with the GEEHY COPYRIGHT NOTICE
* (Geehy Semiconductor Software License Agreement).
*
* The program is only for reference, which is distributed in the hope that it
* will be useful and instructional for customers to develop their software.
* Unless required by applicable law or agreed to in writing, the program is
* distributed on an "AS IS" BASIS, WITHOUT ANY WARRANTY OR CONDITIONS OF ANY
* KIND, either express or implied. See the Geehy Semiconductor Software License Agreement for
* the governing permissions and limitations under the License.
*
*******************************************************************************/
#ifdef __cplusplus
extern "C"{
#endif  /* ifdef __cplusplus */

#include "Dio.h"
#include "Dio_Cfg.h"
/*******************************************************************************
                    VENDOR ID & AUTOSAR VERSION INFO
*******************************************************************************/
/** Vendor ID (vendorId) of the dedicated implementation of this module according to the AUTOSAR vendor list. */
#define DIO_PBCFG_VENDOR_ID                              0x00C1U
/** Major version number of AUTOSAR release on which the appropriate implementation is based on. */
#define DIO_PBCFG_AR_RELEASE_MAJOR_VERSION               0x04U
/** Minor version number of AUTOSAR release on which the appropriate implementation is based on. */
#define DIO_PBCFG_AR_RELEASE_MINOR_VERSION               0x04U
/** Revision version number of AUTOSAR release on which the appropriate implementation is based on. */
#define DIO_PBCFG_AR_RELEASE_REVISION_VERSION            0x00U
/** Major version number of the vendor specific implementation of the module. The numbering is vendor specific. */ 
#define DIO_PBCFG_SW_MAJOR_VERSION                       0x01U
/** Minor version number of the vendor specific implementation of the module. The numbering is vendor specific. */
#define DIO_PBCFG_SW_MINOR_VERSION                       0x00U
/** Patch level version number of the vendor specific implementation of the module. The numbering is vendor specific. */
#define DIO_PBCFG_SW_PATCH_VERSION                       0x00U

/*******************************************************************************
                             GLOBAL VARIABLE
*******************************************************************************/
#define DIO_START_SEC_CONFIG_DATA_UNSPECIFIED
#include "Dio_MemMap.h"

/**  All DIO channels used for making judgments. */
CONST(Dio_ChannelType, DIO_CONST) g_DioAllPortChannel[DIO_CHANNLE_MAX] = 
{
    DIO_PORT_A_PIN_0,DIO_PORT_A_PIN_1,DIO_PORT_A_PIN_2,DIO_PORT_A_PIN_3,
    DIO_PORT_A_PIN_4,DIO_PORT_A_PIN_5,DIO_PORT_A_PIN_6,DIO_PORT_A_PIN_7,
    DIO_PORT_A_PIN_8,DIO_PORT_A_PIN_9,DIO_PORT_A_PIN_10,DIO_PORT_A_PIN_11,
    DIO_PORT_A_PIN_12,DIO_PORT_A_PIN_13,DIO_PORT_A_PIN_14,DIO_PORT_A_PIN_15,
    DIO_PORT_B_PIN_0,DIO_PORT_B_PIN_1,DIO_PORT_B_PIN_2,DIO_PORT_B_PIN_3,
    DIO_PORT_B_PIN_4,DIO_PORT_B_PIN_5,DIO_PORT_B_PIN_6,DIO_PORT_B_PIN_7,
    DIO_PORT_B_PIN_8,DIO_PORT_B_PIN_9,DIO_PORT_B_PIN_10,DIO_PORT_B_PIN_11,
    DIO_PORT_B_PIN_12,DIO_PORT_B_PIN_13,DIO_PORT_B_PIN_14,DIO_PORT_B_PIN_15,
    DIO_PORT_C_PIN_0,DIO_PORT_C_PIN_1,DIO_PORT_C_PIN_2,DIO_PORT_C_PIN_3,
    DIO_PORT_C_PIN_4,DIO_PORT_C_PIN_5,DIO_PORT_C_PIN_6,DIO_PORT_C_PIN_7,
    DIO_PORT_C_PIN_8,DIO_PORT_C_PIN_9,DIO_PORT_C_PIN_10,DIO_PORT_C_PIN_11,
    DIO_PORT_C_PIN_12,DIO_PORT_C_PIN_13,DIO_PORT_C_PIN_14,DIO_PORT_C_PIN_15,
    DIO_PORT_D_PIN_2,DIO_PORT_F_PIN_0,DIO_PORT_F_PIN_1,DIO_PORT_F_PIN_4,
    DIO_PORT_F_PIN_5,DIO_PORT_F_PIN_6,DIO_PORT_F_PIN_7
};

/**  All Ports Used for Making Judgments. */
CONST(Dio_PortType, DIO_CONST) g_DioAllPort[DIO_PORT_MAX] = 
{
    DIO_PORT_A,DIO_PORT_B,DIO_PORT_C,DIO_PORT_D,DIO_PORT_F
};

/** The table of channel groups in configuration DioConfig */
CONST(Dio_ChannelGroupType, DIO_CONST) g_DioConfigChannelGroupList[DIO_CHANNEL_GROUP_NUM] = 
{
    {
        DioConfig_DioPort_DioPort_C, 
        (uint8)0x02U, 
        (Dio_PortLevelType)0x001CU
    }
};

/**  The data structure of the configuration DioConfig. */
CONST(Dio_ConfigType, DIO_CONST) g_dioConfig = 
{
    (uint8)2, &g_DioConfigChannelGroupList[0]
};

#define DIO_STOP_SEC_CONFIG_DATA_UNSPECIFIED
#include "Dio_MemMap.h"

#ifdef __cplusplus
}
#endif  /* __cplusplus */

