/**
    ******************************************************************************
    * @file
    * @author
    * @version
    * @date
    * @brief
    * @function List:
    ******************************************************************************
    * @attention
    *
    *
    * <h2><center>&copy; COPYRIGHT 2021 </center></h2>
    ******************************************************************************
    * @History:
    * @Author:
    * @Data:
    * @Version:
*/


/*******************************************************************************
*   Includes
*******************************************************************************/
#include "CanTp.h"
#include "CanTp_Cfg.h"
#include "boot_app.h"


const CanTp_RxNsduCfgType CanTp_RxNsduCfg[];
const CanTp_TxNsduCfgType CanTp_TxNsduCfg[];
const CanTpChannelModeType CanTpChannelMode[CANTP_CHANNELS];
const CanTp_CfgType CanTp_Cfg =
{
    CanTp_RxNsduCfg /* Pointer to RxNsdu-cfg-table */,
    CanTp_TxNsduCfg /* Pointer to TxNsdu-cfg-table */,
    CanTpChannelMode /* Extended SDU indirection table */,
};


const CanTp_RxNsduCfgType CanTp_RxNsduCfg[CANTP_NUM_RX_SDUS] =
{
{
    0 /*Tp Channel Num 是通道id的順序*/,   //目前TP才一個channel  --目前自身tp層而言
    0 /* CANTP_RXNPDU_ID; from  CanIf */,  // CanIfRxPduConfig 中的 CanIfRxPduUpperLayerHandle   /* CanIfRxPduUpperLayerHandle ----TP層的PDU排序*/
    ADPT_UDS_TX_HANDLE /* CANTP_TXFC_NPDU_ID; to CanIf */,  //要發送响應 的lf層的 pdu id； 就是 CanIfTxPduConfig 中的bufid。幸亏没有改
    1u /* CANTP_DL */,  //應該是最小要接收的長度
    150 /* CANTP_NAR */,     //接收方數據幀經數據鏈路層發送的時間;  單位是maintpfunction的調用周期
    10 /* CANTP_NBR */,     //接收方發送流控制幀的間隔时間  單位是maintpfunction的調用周期
    150 /* CANTP_NCR */,    //接收方接收連續幀的等待時間；單位是maintpfunction的調用周期
    CANTP_ON /* CANTP_PADDING_ACTIVATION */,   //相當於 是否激活
    CANTP_PHYSICAL /* CANTP_TA_TYPE */,     //物理尋址
    CANTP_STANDARD /* CANTP_ADDRESSING_FORMAT */,   //CAN 地址 用標準地址
    0 /* CANTP_BS */,       //流控幀的允許一次連續發送的CF的數量； 如果是0表示再無流控制幀（即無限制）
    10 /* CANTP_STMIN */,   //流控幀的最小間隔時間，10表示10ms；
    1 /* CANTP_WFTMAX */,   //接收方，最多連續發送多少個等待FC幀個數；
    CANTP_UNUSED /* CANTP_RX_NAE */,        //混合尋址模式時的擴展地址
    CANTP_UNUSED /* CANTP_RX_NSA */,        //混合尋址模式時的源地址
    CANTP_UNUSED /* CANTP_RX_NTA */,         //混合尋址模式時的目標地址
},
{
    0 /*Tp Channel Num 是通道id的順序*/,      //目前TP才一個channel --目前自身tp層而言 
    1 /* CANTP_RXNPDU_ID; from  CanIf */,  // CanIfRxPduConfig 中的 CanIfRxPduUpperLayerHandle   /* CanIfRxPduUpperLayerHandle ----TP層的PDU排序*/
    ADPT_UDS_TX_HANDLE /* CANTP_TXFC_NPDU_ID; to CanIf */,   //要發送响應 的lf層的 pdu id； 就是 CanIfTxPduConfig 中的bufid。幸亏没有改
    1u /* CANTP_DL */,       //應該是最小要的接收長度
    150 /* CANTP_NAR */,     //接收方數據幀經數據鏈路層發送的時間;  單位是maintpfunction的調用周期
    10 /* CANTP_NBR */,
    150 /* CANTP_NCR */,
    CANTP_ON /* CANTP_PADDING_ACTIVATION */,
    CANTP_FUNCTIONAL /* CANTP_TA_TYPE */,   //功能尋址
    CANTP_STANDARD /* CANTP_ADDRESSING_FORMAT */,        //CAN 地址 用標準地址
    0 /* CANTP_BS */,   //流控幀的允許一次連續發送的CF的數量； //流控幀的允許一次連續發送的CF的數量； 如果是0表示再無流控制幀（即無限制）
    10 /* CANTP_STMIN */,   //流控幀的最小間隔時間，10表示10ms；
    1 /* CANTP_WFTMAX */,   //接收方，最多連續發送多少個等待FC幀個數；
    CANTP_UNUSED /* CANTP_RX_NAE */,        //混合尋址模式時的擴展地址
    CANTP_UNUSED /* CANTP_RX_NSA */,        //混合尋址模式時的源地址
    CANTP_UNUSED /* CANTP_RX_NTA */,        //混合尋址模式時的目標地址
}
};



const CanTp_TxNsduCfgType CanTp_TxNsduCfg[CANTP_NUM_TX_SDUS] =
{
	{
        0 /*Tp Channel Num 是通道id的順序--自身tp層而言*/,
        ADPT_UDS_TX_HANDLE /* CANTP_TXNPDU_ID; to CanIf 應該是 CanIfTxPduConfig 中的 buf id*/,  //要發送 的lf層的 pdu id； 就是 CanIfTxPduConfig 中的bufid。幸亏没有改；； 就是 CanIf_Transmit的 第一個參數
        0 /* CANTP_RXFC_NPDU_ID; from CanIf */, //為什麼是750 不是7df ？？？
        1 /* CANTP_DL */,   //最小要發送的長度
        150 /* CANTP_NAS */, ////發送方數據幀經數據璉路層發送的時間
        150 /* CANTP_NBS */, //發送方接收流控制幀的等待時間
        10 /* CANTP_NCS */, //發送方發送連續幀的間隔時間
        CANTP_ON /* CANTP_PADDING_ACTIVATION */,
        CANTP_PHYSICAL /* CANTP_TA_TYPE  ---發送類型 分功能和類型 */,
        CANTP_STANDARD /* CANTP_ADDRESSING_FORMAT --標準，擴展，混合*/,
        CANTP_UNUSED /* CANTP_RX_NAE */,
        CANTP_UNUSED /* CANTP_TX_NSA */,
        CANTP_UNUSED /* CANTP_TX_NTA */,
	}



};




const CanTpChannelModeType CanTpChannelMode[CANTP_CHANNELS]=
{
  {
		CANTP_MODE_HALF_DUPLEX
  },
};

