/*
***********************************************************************************************************************
* 
* Product Info
* Isolar version: ISOLAR-AB 4.0.2
* Product release version: RTA-BSW 3.1.0
* 
***********************************************************************************************************************
*/




#include "Dcm.h"





/*Mode01 Configration */
#define DCM_START_SEC_CONST_UNSPECIFIED /*Adding this for memory mapping*/
#include "Dcm_Cfg_MemMap.h"
CONST(Dcm_Dsp_Mode1BitMask_Type,    DCM_CONST)  Dcm_Dsp_Mode1Bitmask_acs[8]=
{
    {0x80000000uL,   0,  1    },  /* 01 - 1F range, Starting index in PID array, Number of element */

    {0x00000000uL,   0,   0 },  /* 21 - 3F range, Starting index in PID array, Number of element */

    {0x00000000uL,   0,   0 },  /* 41 - 5F range, Starting index in PID array, Number of element */

    {0x00000000uL,   0,   0 },  /* 61 - 7F range, Starting index in PID array, Number of element */

    {0x00000000uL,   0,  0 },  /* 81 - 9F range, Starting index in PID array, Number of element */

    {0x00000000uL,   0,  0 },  /* A1 - BF range, Starting index in PID array, Number of element */

    {0x00000000uL,   0,  0 },  /* C1 - DF range, Starting index in PID array, Number of element */

    {0x00000000uL,    0,   0   }   /* E1 - FF range, Starting index in PID array, Number of element */
};

CONST(Dcm_Dsp_Mode1Pid_Type, DCM_CONST)  Dcm_Dsp_Mode1PidArray_acs[DCM_CFG_DSP_NUMPIDSUPP_MODE1]=
{        
    {
        0x1,    /* PID ID number */
        0x1,    /* Number of Data Source it has */
        0x0,    /* Index to the Data source structure */
#if (DCM_CFG_POSTBUILD_SUPPORT != DCM_CFG_OFF)
        ((DCM_CFG_CONFIGSET1)|(DCM_CFG_CONFIGSET2)|(DCM_CFG_CONFIGSET3)|(DCM_CFG_CONFIGSET4)|
         (DCM_CFG_CONFIGSET5)|(DCM_CFG_CONFIGSET6)|(DCM_CFG_CONFIGSET7)|(DCM_CFG_CONFIGSET8)),  /* Configuration Mask indicating availability of PID in different configsets*/
#endif
        0x1     /* Size of the PID in bytes */
    }
};
#define DCM_STOP_SEC_CONST_UNSPECIFIED /*Adding this for memory mapping*/
#include "Dcm_Cfg_MemMap.h"


#define DCM_START_SEC_CONST_UNSPECIFIED /*Adding this for memory mapping*/
#include "Dcm_Cfg_MemMap.h"
CONST(Dcm_Dsp_Mode1DataSourcePid_Type,DCM_CONST)  Dcm_Dsp_Mode1DataSourcePid_acs[DCM_CFG_DSP_NUMPIDDATA_MODE1]=
{            
     {
        /* MR12 RULE 11.1 VIOLATION: Typecast to function pointer required for implementation - Required for efficient RAM usage by using single void function pointer */
            (void*)&DcmAppl_DcmDspPidData_01,      /*Function to get the PID data */
            NULL_PTR,                                                         /* Reference to support info array structure */
            OBD_USE_DATA_SYNCH_FNC,         /* UsePort type */        
            8,                                  /* Length of data in bits   */         
            0,                                   /* Position of data in bits */          
            DCM_UINT8,                                /* Data Type is UINT8*/                            
            DCM_LITTLE_ENDIAN,                                /*Signal endianness is LITTLE_ENDIAN*/
            0                                    /* SupportInfoBit */                                                             
    }
};
#define DCM_STOP_SEC_CONST_UNSPECIFIED /*Adding this for memory mapping*/
#include "Dcm_Cfg_MemMap.h"


/* Mode01 Configuration Ends */
 



/*Mode02 Configration */
#define DCM_START_SEC_CONST_UNSPECIFIED /*Adding this for memory mapping*/
#include "Dcm_Cfg_MemMap.h"
CONST(Dcm_Dsp_Mode2BitMask_Type,    DCM_CONST)  Dcm_Dsp_Mode2Bitmask_acs[8]=
{
    {0x40080000uL,   0,  2    },  /* 01 - 1F range, Starting index in PID array, Number of element */

    {0x00000000uL,   0,    0 },  /* 21 - 3F range, Starting index in PID array, Number of element */

    {0x00000000uL,   0,   0 },  /* 41 - 5F range, Starting index in PID array, Number of element */

    {0x00000000uL,   0,   0 },  /* 61 - 7F range, Starting index in PID array, Number of element */

    {0x00000000uL,   0,  0 },  /* 81 - 9F range, Starting index in PID array, Number of element */

    {0x00000000uL,   0,  0 },  /* A1 - BF range, Starting index in PID array, Number of element */

    {0x00000000uL,   0,  0 },  /* C1 - DF range, Starting index in PID array, Number of element */

    {0x00000000uL,    0,    0   }   /* E1 - FF range, Starting index in PID array, Number of element */
};

CONST(Dcm_Dsp_Mode2Pid_Type,DCM_CONST) Dcm_Dsp_Mode2PidArray_acs[DCM_CFG_DSP_NUMPIDSUPP_MODE2]=
{        
    {
        0x2,    /* PID ID number */
        0x1,    /* Number of Data Source it has */
        0x0,    /* Index to the Data source structure */
        0x1     /* Size of the PID in bytes */
    },
    {
        0xd,    /* PID ID number */
        0x1,    /* Number of Data Source it has */
        0x1,    /* Index to the Data source structure */
        0x1     /* Size of the PID in bytes */
    }
};

CONST(Dcm_Dsp_Mode2DataSourcePid_Type,DCM_CONST)  Dcm_Dsp_Mode2DataSourcePid_acs[DCM_CFG_DSP_NUMPIDDATA_MODE2]=
{            
    {
        1,     /* Length of data in bytes */
        0     /* Position of data in bytes */
    }
    ,    
    {
        1,     /* Length of data in bytes */
        0     /* Position of data in bytes */
    }
};
#define DCM_STOP_SEC_CONST_UNSPECIFIED /*Adding this for memory mapping*/
#include "Dcm_Cfg_MemMap.h"
/* Mode02 Configuration Ends */

 

 


/* Mode09 Configuration */
#define DCM_START_SEC_CONST_UNSPECIFIED /*Adding this for memory mapping*/
#include "Dcm_Cfg_MemMap.h"
CONST(Dcm_Dsp_Mode9BitMask_t, DCM_CONST)    Dcm_Dsp_Mode9Bitmask_acs[8]=
{

    {0x80000001uL,   0,  1   },  /* 01 - 1F range, Starting index in Veh Info array, Number of element */

    {0x40000000uL,   1, 1    },  /* 21 - 3F range, Starting index in Veh Info array, Number of element */

    {0x00000000uL,   0,   0    },  /* 41 - 5F range, Starting index in Veh Info array, Number of element */

    {0x00000000uL,   0,   0    },  /* 61 - 7F range, Starting index in Veh Info array, Number of element */

    {0x00000000uL,   0,  0    },  /* 81 - 9F range, Starting index in Veh Info array, Number of element */

    {0x00000000uL,   0,  0    },  /* A1 - BF range, Starting index in Veh Info array, Number of element */

    {0x00000000uL,   0,  0    },  /* C1 - DF range, Starting index in Veh Info array, Number of element */

    {0x00000000uL,    0,    0  }   /* E1 - FF range, Starting index in Veh Info array, Number of element */

};





CONST (Dcm_Dsp_VehInfo_t, DCM_CONST) Dcm_Dsp_VehInfoArray_acs[DCM_CFG_DSP_NUMINFOTYPESUPP] =
{

    {

        0x1,      /* Infotype Number*/
        0x1,     /* Number of data elements for the VehInfoType */
        0x0,  /* Index to the Data source structure */
        FALSE
    },
    {

        0x22,      /* Infotype Number*/
        0x1,     /* Number of data elements for the VehInfoType */
        0x1,  /* Index to the Data source structure */
        FALSE
    }
};


CONST(Dcm_Dsp_VehInfoData_t,DCM_CONST)  Dcm_Dsp_VehInfoData_acs[DCM_CFG_DSP_NUMOFINFOTYPEDATA]=
{
    
    {
        /* MR12 RULE 11.1 VIOLATION: Typecast to function pointer required for implementation - Required for efficient RAM usage by using single void function pointer */
        (void*)&Dcm_ReadDataService09_Info01,     /*Function to get the Vehinfo data */
        1,         /* Size of the data*/
        OBD_MODE9_USE_FNC       /* API configured is User defined function */
        
    }
    
    ,    
    {
        /* MR12 RULE 11.1 VIOLATION: Typecast to function pointer required for implementation - Required for efficient RAM usage by using single void function pointer */
        (void*)&Dcm_ReadDataService09_Info22,     /*Function to get the Vehinfo data */
        1,         /* Size of the data*/
        OBD_MODE9_USE_FNC       /* API configured is User defined function */
        
    }
    

};
#define DCM_STOP_SEC_CONST_UNSPECIFIED /*Adding this for memory mapping*/
#include "Dcm_Cfg_MemMap.h"
/* Mode09 Configuration Ends */



/* Mode06 Configuration */
#define DCM_START_SEC_CONST_UNSPECIFIED /*Adding this for memory mapping*/
#include "Dcm_Cfg_MemMap.h"
/* Bit mask array for mode06 */
CONST(Dcm_Dsp_Mode6BitMask_Type,    DCM_CONST)  Dcm_Dsp_Mode6Bitmask_acs[8]=
{


    {0x80000000uL,   0,  1   },  /* 01 - 1F */

    {0x00000000uL,   0,   0   },  /* 21 - 3F */

    {0x00000000uL,   0,   0   },  /* 41 - 5F */

    {0x00000000uL,   0,   0   },  /* 61 - 7F */

    {0x00000000uL,   0,   0   },  /* 81 - 9F */

    {0x00000000uL,   0,   0   },  /* A1 - BF */

    {0x00000000uL,   0,   0   },  /* C1 - DF */

    {0x00000000uL,    0,    0  }   /* E1 - FF */

};

/* OBDMID Array */
CONST(Dcm_Dsp_ObdMidArray_Type, DCM_CONST)  Dcm_Dsp_ObdMidArray_acs[] =
{
    {
        0,    /* Index to TID array for this OBDMID */
        0x1,       /* OBD MID */
        1                    /* Number of TIDs this MID has */
    }
};

/* TID Array */
CONST(Dcm_Dsp_TidArray_Type, DCM_CONST) Dcm_Dsp_TidArray_acs[] =
{
    {
        /* MR12 RULE 11.1 VIOLATION: Typecast to function pointer required for implementation - Required for efficient RAM usage by using single void function pointer */
        (void*)&Dcm_ReadOBDMID_01,  /* Function Pointer to get the DTR value */
        0x1,   /* Unit and Scaling value */
        0x1,  /* TID */
        FALSE    /* Is Use port enabled or not */
    }
};

#define DCM_STOP_SEC_CONST_UNSPECIFIED /*Adding this for memory mapping*/
#include "Dcm_Cfg_MemMap.h"
/*Mode06 Configuration Ends*/



