ptfunction.c
来自「gps 源码.GPS工作原理,对开发GPS软件有帮助」· C语言 代码 · 共 73 行
C
73 行
#include "globalvar.h"
#include<stdlib.h>
/*************function for converting ethernet packet to shiron packet ***********/
void convertEp2Sp(unsigned int *data,unsigned int pksize,unsigned int remote_id,unsigned int packet_count,unsigned int packet_no,unsigned int source_ip,unsigned int remote_ip)
{
unsigned char arr[111],LRC=0x00;
unsigned int l=0,temp=0,j;
arr[0] = 0x02;
arr[2] = 0x00;
arr[3] = 0x20;
if(Superloc == 'c')
{
arr[1] = pksize + 4 + 11;
arr[4] = 0x43;
arr[5] = 0x44;
arr[6] = remote_id;
temp = pksize + 4 + 11;
for(j=7;j<(pksize)+7;j++)
{
arr[j]=*data;
data++;
}
l=(pksize)+7;
}
else if(Superloc == 'r')
{
arr[1] = pksize + 4 + 10;
arr[4] = 0x52;
arr[5] = 0x44;
temp = pksize + 4 + 10;
for(j=6;j<(pksize)+6;j++)
{
arr[j]=*data;
data++;
}
l=(pksize)+6;
}
arr[l] = source_ip;
arr[l+1] = remote_ip;
arr[l+2] = packet_count;
arr[l+3] = packet_no;
arr[l+4] = 0x0a;
arr[l+5] = 0x0d;
for(j=2;j<l+6;j++)
{
LRC = LRC ^arr[j];
}
arr[l+6] = LRC;
arr[l+7] = 0x03;
addP2SBuffer(arr,temp);
// printf("converted into shiron and added to P2S buffer\n");
P2SPacketcount = P2SPacketcount +1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?