No "sdr" audio device option required anymore (when using SDR)

This commit is contained in:
Andreas Eversberg
2017-05-14 12:27:56 +02:00
parent ca10048e5c
commit 4d10ee7c82
19 changed files with 116 additions and 58 deletions

View File

@@ -285,14 +285,30 @@ int main(int argc, char *argv[])
printf("No channel (\"Kanal\") is specified, I suggest channel 1 (-k 1).\n\n");
mandatory = 1;
}
if (use_sdr) {
/* set audiodev */
for (i = 0; i < num_kanal; i++)
audiodev[i] = "sdr";
num_audiodev = num_kanal;
/* set chan_type */
if (num_chan_type == 0) {
for (i = 0; i < num_kanal; i++)
chan_type[i] = CHAN_TYPE_CC_TC;
num_chan_type = num_kanal;
}
/* set supervisory signal */
for (i = 0; i < num_kanal; i++)
supervisory[i] = 0;
num_supervisory = num_kanal;
}
if (num_kanal == 1 && num_audiodev == 0)
num_audiodev = 1; /* use defualt */
num_audiodev = 1; /* use default */
if (num_kanal != num_audiodev) {
fprintf(stderr, "You need to specify as many sound devices as you have channels.\n");
exit(0);
}
if (num_kanal == 1 && num_chan_type == 0)
num_chan_type = 1; /* use defualt */
num_chan_type = 1; /* use default */
if (num_kanal != num_chan_type) {
fprintf(stderr, "You need to specify as many channel types as you have channels.\n");
exit(0);
@@ -321,7 +337,7 @@ int main(int argc, char *argv[])
}
if (!traffic_area[0]) {
printf("No traffic area is specified, I suggest to use Sweden (-y SE,1) and set the phone's roaming to 'SE' also.\n\n");
printf("No traffic area is specified, I suggest to use Sweden (-Y SE,1) and set the phone's roaming to 'SE' also.\n\n");
mandatory = 1;
}
@@ -356,14 +372,14 @@ int main(int argc, char *argv[])
dsp_init();
/* SDR always requires emphasis */
if (!strcmp(audiodev[0], "sdr")) {
if (use_sdr) {
do_pre_emphasis = 1;
do_de_emphasis = 1;
}
/* create transceiver instance */
for (i = 0; i < num_kanal; i++) {
rc = nmt_create(kanal[i], (loopback) ? CHAN_TYPE_TEST : chan_type[i], audiodev[i], samplerate, rx_gain, do_pre_emphasis, do_de_emphasis, write_rx_wave, write_tx_wave, read_rx_wave, ms_power, nmt_digits2value(traffic_area, 2), area_no, compandor, supervisory[i], smsc_number, send_callerid, loopback);
rc = nmt_create(kanal[i], (loopback) ? CHAN_TYPE_TEST : chan_type[i], audiodev[i], use_sdr, samplerate, rx_gain, do_pre_emphasis, do_de_emphasis, write_rx_wave, write_tx_wave, read_rx_wave, ms_power, nmt_digits2value(traffic_area, 2), area_no, compandor, supervisory[i], smsc_number, send_callerid, loopback);
if (rc < 0) {
fprintf(stderr, "Failed to create transceiver instance. Quitting!\n");
goto fail;