...
/* use global packet buffer */
PNS_IF_ADD_CHANNEL_DIAG_REQ_T *ptReq = ( PNS_IF_ADD_CHANNEL_DIAG_REQ_T*) &(ptAppData->tPacket);
memset(ptReq, 0x00, sizeof(*ptReq));
ptReq->tHead.ulDest = 0x20;
ptReq->tHead.ulCmd = PNS_IF_ADD_CHANNEL_DIAG_REQ;
ptReq->tHead.ulLen = sizeof(ptReq->tData);
ptReq->tData.ulApi = 0;
ptReq->tData.ulSlot = usSlot;
ptReq->tData.ulSubslot = usSubslot;
ptReq->tData.usChannelNum = 0x8000;
ptReq->tData.usChannelProp = 0x0000;
ptReq->tData.usChannelErrType = 2;
(void)Pkt_SendPacket(ptAppData->hChannel[0], &ptAppData->tPacket, TX_TIMEOUT);
}
void AppPNS_HandleAddChannelDiagnosisCnf( APP_DATA_T* ptAppData)
{
PNS_IF_ADD_CHANNEL_DIAG_CNF_T* ptAddChannelDiagCnf=( PNS_IF_ADD_CHANNEL_DIAG_CNF_T*) &(ptAppData->tPacket);
s_abDiagHandle = ptAddChannelDiagCnf->tData.hDiagHandle;
return;
}
void AppPNS_HandleRemoveDiagnosisReq( APP_DATA_T* ptAppData)
{
/* use global packet buffer */
PNS_IF_REMOVE_DIAG_REQ_T *ptReq = ( PNS_IF_REMOVE_DIAG_REQ_T*) &(ptAppData->tPacket);
memset(ptReq, 0x00, sizeof(*ptReq));
ptReq->tHead.ulDest = 0x20;
ptReq->tHead.ulCmd = PNS_IF_REMOVE_DIAG_REQ;
ptReq->tHead.ulLen = 4; //sizeof(ptReq->tData);
ptReq->tData.hDiagHandle=s_abDiagHandle;
(void)Pkt_SendPacket(ptAppData->hChannel[0], &ptAppData->tPacket, TX_TIMEOUT);
}
4. Values from GSDML file
...