RTKLIB改-set_index-增加北斗的
if (sys == SYS_CMP)
{
unsigned char temp[64];
for (int x = 0; x < 64; x++)
{
temp[x] = ind->code[x];
}
qsort(&temp, n, sizeof(ind->code[0]), comp);
for (j = 0; j < n; j++)
{
if (temp[0] == ind->code[j])
{
ind->pos[j] = 0; continue;
}
if (temp[n - 1] == ind->code[j])
{
ind->pos[j] = 2;
continue;
}
else ind->pos[j] = 1;
}
}
利用qsort对code(十六进制表示的char类型)进行排序,最小的在最上面,由于北斗只有三个频点,故只需要设置三个位置即可。
最小的code对应第一个位置(精度最高),依次往下。
设计思路:
要找到code里面的顺序,但是qsort会打乱原来的顺序,故增加了一个temp,将temp进行排序,然后与code对比,来设置优先级(位置pos)。