kopia lustrzana https://github.com/Hamlib/Hamlib
Update simicom.c
rodzic
48241f52d0
commit
7455546834
|
@ -68,6 +68,7 @@ frameGet(int fd, unsigned char *buf)
|
||||||
void frameParse(int fd, unsigned char *frame, int len)
|
void frameParse(int fd, unsigned char *frame, int len)
|
||||||
{
|
{
|
||||||
double freq;
|
double freq;
|
||||||
|
int n;
|
||||||
|
|
||||||
dumphex(frame, len);
|
dumphex(frame, len);
|
||||||
|
|
||||||
|
@ -95,7 +96,10 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
}
|
}
|
||||||
|
|
||||||
frame[10] = 0xfd;
|
frame[10] = 0xfd;
|
||||||
write(fd, frame, 11);
|
n = write(fd, frame, 11);
|
||||||
|
|
||||||
|
if (n != 11) {printf("Error!\n"); exit(1);}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x04:
|
case 0x04:
|
||||||
|
@ -113,7 +117,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
}
|
}
|
||||||
|
|
||||||
frame[7] = 0xfd;
|
frame[7] = 0xfd;
|
||||||
write(fd, frame, 8);
|
n = write(fd, frame, 8);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x05:
|
case 0x05:
|
||||||
|
@ -125,7 +129,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
|
|
||||||
frame[4] = 0xfb;
|
frame[4] = 0xfb;
|
||||||
frame[5] = 0xfd;
|
frame[5] = 0xfd;
|
||||||
write(fd, frame, 6);
|
n = write(fd, frame, 6);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x06:
|
case 0x06:
|
||||||
|
@ -134,7 +138,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
|
|
||||||
frame[4] = 0xfb;
|
frame[4] = 0xfb;
|
||||||
frame[5] = 0xfd;
|
frame[5] = 0xfd;
|
||||||
write(fd, frame, 6);
|
n = write(fd, frame, 6);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x07:
|
case 0x07:
|
||||||
|
@ -154,7 +158,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
|
|
||||||
frame[4] = 0xfb;
|
frame[4] = 0xfb;
|
||||||
frame[5] = 0xfd;
|
frame[5] = 0xfd;
|
||||||
write(fd, frame, 6);
|
n = write(fd, frame, 6);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x0f:
|
case 0x0f:
|
||||||
|
@ -164,7 +168,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
printf("set split %d\n", 1);
|
printf("set split %d\n", 1);
|
||||||
frame[4] = 0xfb;
|
frame[4] = 0xfb;
|
||||||
frame[5] = 0xfd;
|
frame[5] = 0xfd;
|
||||||
write(fd, frame, 6);
|
n = write(fd, frame, 6);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x12: // we're simulating the 3-byte version -- not the 2-byte
|
case 0x12: // we're simulating the 3-byte version -- not the 2-byte
|
||||||
|
@ -183,9 +187,9 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
frame[5] = ant_curr;
|
frame[5] = ant_curr;
|
||||||
frame[6] = ant_option;
|
frame[6] = ant_option;
|
||||||
frame[7] = 0xfd;
|
frame[7] = 0xfd;
|
||||||
printf("write 8 bytes\n");
|
printf("n=write 8 bytes\n");
|
||||||
dump_hex(frame, 8);
|
dump_hex(frame, 8);
|
||||||
write(fd, frame, 8);
|
n = write(fd, frame, 8);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x14:
|
case 0x14:
|
||||||
|
@ -199,7 +203,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
printf("Using AF level %d\n", level);
|
printf("Using AF level %d\n", level);
|
||||||
to_bcd(&frame[6], (long long) level, 2);
|
to_bcd(&frame[6], (long long) level, 2);
|
||||||
frame[8] = 0xfd;
|
frame[8] = 0xfd;
|
||||||
write(fd, frame, 9);
|
n = write(fd, frame, 9);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x0a:
|
case 0x0a:
|
||||||
|
@ -210,7 +214,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
|
|
||||||
to_bcd(&frame[6], (long long)power_level, 2);
|
to_bcd(&frame[6], (long long)power_level, 2);
|
||||||
frame[8] = 0xfd;
|
frame[8] = 0xfd;
|
||||||
write(fd, frame, 9);
|
n = write(fd, frame, 9);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -229,7 +233,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
|
|
||||||
to_bcd(&frame[6], (long long)meter_level, 2);
|
to_bcd(&frame[6], (long long)meter_level, 2);
|
||||||
frame[8] = 0xfd;
|
frame[8] = 0xfd;
|
||||||
write(fd, frame, 9);
|
n = write(fd, frame, 9);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -243,20 +247,20 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
else { frame[6] = widthB; }
|
else { frame[6] = widthB; }
|
||||||
|
|
||||||
frame[7] = 0xfd;
|
frame[7] = 0xfd;
|
||||||
write(fd, frame, 8);
|
n = write(fd, frame, 8);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x04: // IC7200 data mode
|
case 0x04: // IC7200 data mode
|
||||||
frame[6] = 0;
|
frame[6] = 0;
|
||||||
frame[7] = 0;
|
frame[7] = 0;
|
||||||
frame[8] = 0xfd;
|
frame[8] = 0xfd;
|
||||||
write(fd, frame, 9);
|
n = write(fd, frame, 9);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x07: // satmode
|
case 0x07: // satmode
|
||||||
frame[6] = 0;
|
frame[6] = 0;
|
||||||
frame[7] = 0xfd;
|
frame[7] = 0xfd;
|
||||||
write(fd, frame, 8);
|
n = write(fd, frame, 8);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -271,14 +275,14 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
{
|
{
|
||||||
frame[6] = ptt;
|
frame[6] = ptt;
|
||||||
frame[7] = 0xfd;
|
frame[7] = 0xfd;
|
||||||
write(fd, frame, 8);
|
n = write(fd, frame, 8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ptt = frame[6];
|
ptt = frame[6];
|
||||||
frame[7] = 0xfb;
|
frame[7] = 0xfb;
|
||||||
frame[8] = 0xfd;
|
frame[8] = 0xfd;
|
||||||
write(fd, frame, 9);
|
n = write(fd, frame, 9);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -305,7 +309,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
}
|
}
|
||||||
|
|
||||||
frame[11] = 0xfd;
|
frame[11] = 0xfd;
|
||||||
write(fd, frame, 12);
|
n = write(fd, frame, 12);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -317,7 +321,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
|
|
||||||
frame[4] = 0xfb;
|
frame[4] = 0xfb;
|
||||||
frame[5] = 0xfd;
|
frame[5] = 0xfd;
|
||||||
write(fd, frame, 6);
|
n = write(fd, frame, 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -333,7 +337,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
frame[7] = frame[5] == 0 ? datamodeA : datamodeB;
|
frame[7] = frame[5] == 0 ? datamodeA : datamodeB;
|
||||||
frame[8] = 0xfb;
|
frame[8] = 0xfb;
|
||||||
frame[9] = 0xfd;
|
frame[9] = 0xfd;
|
||||||
write(fd, frame, 10);
|
n = write(fd, frame, 10);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -352,7 +356,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||||
|
|
||||||
frame[4] = 0xfb;
|
frame[4] = 0xfb;
|
||||||
frame[5] = 0xfd;
|
frame[5] = 0xfd;
|
||||||
write(fd, frame, 6);
|
n = write(fd, frame, 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
Ładowanie…
Reference in New Issue