kopia lustrzana https://github.com/Hamlib/Hamlib
Add serialnum parser for MDS rig
rodzic
fd24547386
commit
d1dccffd6b
|
@ -0,0 +1,114 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
/* DB25 Pins
|
||||||
|
1 - GND
|
||||||
|
2 - TXD
|
||||||
|
3 - RXD
|
||||||
|
4 - RTS
|
||||||
|
5 - CTS
|
||||||
|
6 - DSR
|
||||||
|
7 - Signal ground (tied to 1?)
|
||||||
|
8 - DCD
|
||||||
|
9 - Tx Audio 600Ohm - Pin 7 is gnd
|
||||||
|
10 - RUS Receiver Unsquelched Sensor
|
||||||
|
11 - Rx Audio 600Ohm - Pin 7 is gnd
|
||||||
|
12 - Radio Inhibit (Sleep).
|
||||||
|
13 - Reserved
|
||||||
|
14 - PTT +5V
|
||||||
|
|
||||||
|
|
||||||
|
void serial_num(char *s)
|
||||||
|
{
|
||||||
|
char model[16];
|
||||||
|
char *operation;
|
||||||
|
char *modem;
|
||||||
|
char *rxfreq, *txfreq;
|
||||||
|
char *bandwidth;
|
||||||
|
char *diagnostics;
|
||||||
|
char *agency;
|
||||||
|
|
||||||
|
memcpy(model, s, 5);
|
||||||
|
model[5] = 0;
|
||||||
|
|
||||||
|
if (s[5] == 'B') { operation = "Base"; }
|
||||||
|
else { operation = "Remote"; }
|
||||||
|
|
||||||
|
if (s[8] == 'B') { modem = "9600"; }
|
||||||
|
else { modem = "19200"; }
|
||||||
|
|
||||||
|
if (s[9] == '0')
|
||||||
|
diagnostics = "None";
|
||||||
|
else
|
||||||
|
diagnostics = "Non-Intrusive";
|
||||||
|
if (s[10] == '1') { bandwidth = "12.5KHz"; }
|
||||||
|
else { bandwidth = "25KHz"; }
|
||||||
|
|
||||||
|
if (s[14] == 'N')
|
||||||
|
agency = "N/A";
|
||||||
|
else
|
||||||
|
agency = "FCC/IC";
|
||||||
|
|
||||||
|
/*
|
||||||
|
/ 01234567890123456
|
||||||
|
9710AXN1B11C00FFA
|
||||||
|
5 = X/N Base/Remote
|
||||||
|
6 = N Non-redundant
|
||||||
|
7 = Input voltage (1=10.5 to 16VDC)
|
||||||
|
8 = Modem (B=9600 C=19200)
|
||||||
|
9 = Diagnostics (0=None, 1=Non-Intrusive)
|
||||||
|
10 = Bandwidth (1=12.5 2=25)
|
||||||
|
11 = Rx Freq (A=800-860, B=860-900, C=900-960)
|
||||||
|
12 = Tx Freq (1=800-880, 2=880-960)
|
||||||
|
13 = 0 = Full
|
||||||
|
14 = Agency (N=N/A F=FCC/IC)
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (s[0] == '9')
|
||||||
|
{
|
||||||
|
switch (s[11])
|
||||||
|
{
|
||||||
|
case 'A':
|
||||||
|
rxfreq = "800-850MHz";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'B':
|
||||||
|
rxfreq = "860-899MHz";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'C':
|
||||||
|
rxfreq = "900-960MHz";
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
rxfreq = "Unknown!!";
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (s[12])
|
||||||
|
{
|
||||||
|
case '1':
|
||||||
|
txfreq = "800-880MHz";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case '2':
|
||||||
|
txfreq = "880-960MHz";
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
txfreq = "Unknown!!";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("Model %s %s Modem(%s) Rx(%s) Tx(%s) Bandwidth(%s) Agency=%s Diagnostics=%s\n",
|
||||||
|
model, operation,
|
||||||
|
modem, rxfreq, txfreq, bandwidth, agency, diagnostics);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
serial_num("9710BXN1B11C9ONFA");
|
||||||
|
serial_num("9710AXN1B11C00FFA");
|
||||||
|
return 0;
|
||||||
|
}
|
Ładowanie…
Reference in New Issue