mirror of https://github.com/lwvmobile/dsd-fme.git
RTL - Add The Sample / Volume Multiplier as a user configurable option;
This commit is contained in:
parent
ee04d11116
commit
e8184c7fbd
|
|
@ -74,7 +74,7 @@ Detailed Setup:
|
|||
|
||||
```
|
||||
RTL-SDR options:
|
||||
Usage: rtl:dev:freq:gain:ppm:bw:sq:udp
|
||||
Usage: rtl:dev:freq:gain:ppm:bw:sq:vol
|
||||
NOTE: all arguments after rtl are optional now for trunking, but user configuration is recommended
|
||||
dev <num> RTL-SDR Device Index Number
|
||||
freq <num> RTL-SDR Frequency (851800000 or 851.8M)
|
||||
|
|
@ -82,9 +82,9 @@ RTL-SDR options:
|
|||
ppm <num> RTL-SDR PPM Error (default = 0)
|
||||
bw <num> RTL-SDR Bandwidth kHz (default = 12)(8, 12, 16, 24)
|
||||
sq <num> RTL-SDR Squelch Level vs RMS Value (Optional)
|
||||
udp <num> RTL-SDR Legacy UDP Remote Port (Optional -- External Use Only)
|
||||
Example: dsd-fme-zdev -fs -i rtl -C cap_plus_channel.csv -T
|
||||
Example: dsd-fme-zdev -fp -i rtl:0:851.375M:22:-2:24:0:6021
|
||||
vol <num> RTL-SDR Sample 'Volume' Multiplier (default = 1)(1,2,3)
|
||||
Example: dsd-fme -fs -i rtl -C cap_plus_channel.csv -T
|
||||
Example: dsd-fme -fp -i rtl:0:851.375M:22:-2:24:0:2
|
||||
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -1245,7 +1245,7 @@ usage ()
|
|||
printf (" /dev/dsp for OSS audio (Depreciated: Will require padsp wrapper in Linux) \n");
|
||||
#endif
|
||||
printf (" rtl for rtl dongle (Default Values -- see below)\n");
|
||||
printf (" rtl:dev:freq:gain:ppm:bw:sq:udp for rtl dongle (see below)\n");
|
||||
printf (" rtl:dev:freq:gain:ppm:bw:sq:vol for rtl dongle (see below)\n");
|
||||
printf (" tcp for tcp client SDR++/GNURadio Companion/Other (Port 7355)\n");
|
||||
printf (" tcp:192.168.7.5:7355 for custom address and port \n");
|
||||
printf (" filename.bin for OP25/FME capture bin files\n");
|
||||
|
|
@ -1292,12 +1292,12 @@ usage ()
|
|||
// #ifdef AERO_BUILD
|
||||
printf (" If using /dev/dsp input and output at 48k1, launch two instances of DSD-FME w -V 1 and -V 2 if needed");
|
||||
// #endif
|
||||
printf (" (Audio Smoothing is now disabled on all upsampled output by default -- fix crackle/buzz bug)\n");
|
||||
// printf (" (Audio Smoothing is now disabled on all upsampled output by default -- fix crackle/buzz bug)\n");
|
||||
printf (" -z Set TDMA Voice Slot Preference when using /dev/dsp audio output (prevent lag and stuttering)\n");
|
||||
printf (" -y Enable Experimental Pulse Audio Float Audio Output\n");
|
||||
printf ("\n");
|
||||
printf ("RTL-SDR options:\n");
|
||||
printf (" Usage: rtl:dev:freq:gain:ppm:bw:sq:udp\n");
|
||||
printf (" Usage: rtl:dev:freq:gain:ppm:bw:sq:vol\n");
|
||||
printf (" NOTE: all arguments after rtl are optional now for trunking, but user configuration is recommended\n");
|
||||
printf (" dev <num> RTL-SDR Device Index Number or 8 Digit Serial Number, no strings! (default 0)\n");
|
||||
printf (" freq <num> RTL-SDR Frequency (851800000 or 851.8M) \n");
|
||||
|
|
@ -1305,9 +1305,10 @@ usage ()
|
|||
printf (" ppm <num> RTL-SDR PPM Error (default = 0)\n");
|
||||
printf (" bw <num> RTL-SDR Bandwidth kHz (default = 12)(4, 6, 8, 12, 16, 24) \n");
|
||||
printf (" sq <num> RTL-SDR Squelch Level vs RMS Value (Optional)\n");
|
||||
printf (" udp <num> RTL-SDR Legacy UDP Remote Port (Optional -- External Use Only)\n");
|
||||
// printf (" udp <num> RTL-SDR Legacy UDP Remote Port (Optional -- External Use Only)\n"); //NOTE: This is still available as an option in the ncurses menu
|
||||
printf (" vol <num> RTL-SDR Sample 'Volume' Multiplier (default = 1)(1,2,3)\n");
|
||||
printf (" Example: dsd-fme -fs -i rtl -C cap_plus_channel.csv -T\n");
|
||||
printf (" Example: dsd-fme -fp -i rtl:0:851.375M:22:-2:24:0:6021\n");
|
||||
printf (" Example: dsd-fme -fp -i rtl:0:851.375M:22:-2:24:0:2\n");
|
||||
printf ("\n");
|
||||
printf ("Encoder options:\n");
|
||||
printf (" -fZ M17 Stream Voice Encoder\n");
|
||||
|
|
@ -2771,8 +2772,12 @@ main (int argc, char **argv)
|
|||
if (curr != NULL) opts.rtl_squelch_level = atoi (curr);
|
||||
else goto RTLEND;
|
||||
|
||||
curr = strtok(NULL, ":"); //rtl udp port "-U"
|
||||
if (curr != NULL) opts.rtl_udp_port = atoi (curr);
|
||||
// curr = strtok(NULL, ":"); //rtl udp port "-U"
|
||||
// if (curr != NULL) opts.rtl_udp_port = atoi (curr);
|
||||
// else goto RTLEND;
|
||||
|
||||
curr = strtok(NULL, ":"); //rtl sample / volume multiplier
|
||||
if (curr != NULL) opts.rtl_volume_multiplier = atoi (curr);
|
||||
else goto RTLEND;
|
||||
|
||||
RTLEND:
|
||||
|
|
@ -2804,15 +2809,19 @@ main (int argc, char **argv)
|
|||
|
||||
}
|
||||
|
||||
if (opts.rtl_volume_multiplier > 3 || opts.rtl_volume_multiplier < 0)
|
||||
opts.rtl_volume_multiplier = 1; //I wonder if you could flip polarity by using -1
|
||||
|
||||
fprintf (stderr, "Dev %d ", opts.rtl_dev_index);
|
||||
fprintf (stderr, "Freq %d ", opts.rtlsdr_center_freq);
|
||||
fprintf (stderr, "Gain %d ", opts.rtl_gain_value);
|
||||
fprintf (stderr, "PPM %d ", opts.rtlsdr_ppm_error);
|
||||
fprintf (stderr, "BW %d ", opts.rtl_bandwidth);
|
||||
fprintf (stderr, "SQ %d ", opts.rtl_squelch_level);
|
||||
fprintf (stderr, "UDP %d \n", opts.rtl_udp_port);
|
||||
// fprintf (stderr, "UDP %d \n", opts.rtl_udp_port);
|
||||
fprintf (stderr, "VOL %d \n", opts.rtl_volume_multiplier);
|
||||
opts.audio_in_type = 3;
|
||||
opts.rtl_volume_multiplier = 2; //double, see if this cleans up weak decodes from RTL_FM
|
||||
// opts.rtl_volume_multiplier = 2; //TODO: Make this an extra value on the end
|
||||
rtl_ok = 1;
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -725,6 +725,17 @@ void ncursesMenu (dsd_opts * opts, dsd_state * state)
|
|||
wscanw(entry_win, "%d", &opts->rtl_udp_port);
|
||||
noecho();
|
||||
|
||||
entry_win = newwin(6, WIDTH+18, starty+10, startx+10);
|
||||
box (entry_win, 0, 0);
|
||||
mvwprintw(entry_win, 2, 2, " RTL Vol Multiplier (1,2,3) (Default = 1): ");
|
||||
mvwprintw(entry_win, 3, 3, " ");
|
||||
echo();
|
||||
refresh();
|
||||
wscanw(entry_win, "%d", &opts->rtl_volume_multiplier);
|
||||
if (opts->rtl_volume_multiplier > 3 || opts->rtl_volume_multiplier < 0)
|
||||
opts->rtl_volume_multiplier = 1;
|
||||
noecho();
|
||||
|
||||
entry_win = newwin(8, WIDTH+22, starty+10, startx+10);
|
||||
box (entry_win, 0, 0);
|
||||
mvwprintw(entry_win, 2, 2, " RTL RMS Squelch Level (NXDN/dPMR/Analog/Raw only): ");
|
||||
|
|
@ -763,19 +774,20 @@ void ncursesMenu (dsd_opts * opts, dsd_state * state)
|
|||
|
||||
}
|
||||
|
||||
entry_win = newwin(17, WIDTH+20, starty+10, startx+10);
|
||||
entry_win = newwin(18, WIDTH+20, starty+10, startx+10);
|
||||
box (entry_win, 0, 0);
|
||||
mvwprintw(entry_win, 2, 2, " Starting RTL Input. Cannot Release/Stop Until Exit.");
|
||||
mvwprintw(entry_win, 4, 2, " RTL Frequency: %d Hz", opts->rtlsdr_center_freq);
|
||||
mvwprintw(entry_win, 5, 2, " RTL Device Index Number: %d; SN:%s", opts->rtl_dev_index, serial);
|
||||
mvwprintw(entry_win, 6, 2, " RTL Device Bandwidth: %d kHz", opts->rtl_bandwidth);
|
||||
mvwprintw(entry_win, 7, 2, " RTL Device Gain: %d", opts->rtl_gain_value);
|
||||
mvwprintw(entry_win, 8, 2, " RTL Device UDP Port: %d", opts->rtl_udp_port);
|
||||
mvwprintw(entry_win, 9, 2, " RTL Device PPM: %d", opts->rtlsdr_ppm_error);
|
||||
mvwprintw(entry_win, 10, 2, " RTL RMS Squelch: %d", opts->rtl_squelch_level);
|
||||
mvwprintw(entry_win, 12, 2, " Are You Sure?");
|
||||
mvwprintw(entry_win, 13, 2, " 1 = Yes, 2 = No ");
|
||||
mvwprintw(entry_win, 14, 3, " ");
|
||||
mvwprintw(entry_win, 8, 2, " RTL Volume Multiplier: %d", opts->rtl_volume_multiplier);
|
||||
mvwprintw(entry_win, 9, 2, " RTL Device UDP Port: %d", opts->rtl_udp_port);
|
||||
mvwprintw(entry_win, 10, 2, " RTL Device PPM: %d", opts->rtlsdr_ppm_error);
|
||||
mvwprintw(entry_win, 11, 2, " RTL RMS Squelch: %d", opts->rtl_squelch_level);
|
||||
mvwprintw(entry_win, 13, 2, " Are You Sure?");
|
||||
mvwprintw(entry_win, 14, 2, " 1 = Yes, 2 = No ");
|
||||
mvwprintw(entry_win, 15, 3, " ");
|
||||
echo();
|
||||
refresh();
|
||||
wscanw(entry_win, "%d", &confirm);
|
||||
|
|
@ -2376,13 +2388,14 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state)
|
|||
{
|
||||
printw ("| RTL: %d;", opts->rtl_dev_index);
|
||||
if (opts->rtl_gain_value == 0)
|
||||
printw (" Gain: AGC;");
|
||||
printw (" G: AGC;");
|
||||
else
|
||||
printw (" Gain: %idB;", opts->rtl_gain_value);
|
||||
printw (" G: %idB;", opts->rtl_gain_value);
|
||||
printw (" V: %iX;", opts->rtl_volume_multiplier);
|
||||
printw (" PPM: %i;", opts->rtlsdr_ppm_error);
|
||||
printw (" SQ: %i;", opts->rtl_squelch_level);
|
||||
printw (" RMS: %04li;", opts->rtl_rms);
|
||||
printw (" BW: %i kHz;", opts->rtl_bandwidth);
|
||||
printw (" BW: %i;", opts->rtl_bandwidth);
|
||||
printw (" FRQ: %i;", opts->rtlsdr_center_freq);
|
||||
if (opts->rtl_udp_port != 0) printw ("\n| External RTL Tuning on UDP Port: %i", opts->rtl_udp_port);
|
||||
printw ("\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue