mirror of
https://github.com/lwvmobile/dsd-fme.git
synced 2026-11-15 02:07:24 -05:00
Call Alert; Call History Bug Fix; Minor Tweaks
Call Alert (-a or toggle on/off in ncurses) --beep sound on radio id change when using ncurses terminal (tied to call history array) ---need to copy tone8.wav and tone24.wav files to /usr/share/ directory and chmod 777 them. ---updated all auto install scripts to copy and chmod as appropriate ----iz4tow, need to update windows tutorials for the wav files, else they won't play Tweaks/Bug Fix to Call History (specifically DMR) to only set src ids on voice sync, and not on data sync Manually Set P2 Parameters at CLI (-X BEE00ABC123) -- use -X (capital X) and then enter WACN/SYSID/CC altogether --- feature already available in ncurses terminal menu Update Linux Install Instructions and auto installers to copy/paste wav files into /usr/share/ directory Other Minor Tweaks
This commit is contained in:
@@ -69,6 +69,7 @@ comp (const void *a, const void *b)
|
||||
//struct for checking existence of directory to write to
|
||||
struct stat st = {0};
|
||||
char wav_file_directory[1024] = {0};
|
||||
unsigned long long int p2vars = 0;
|
||||
|
||||
void
|
||||
noCarrier (dsd_opts * opts, dsd_state * state)
|
||||
@@ -320,6 +321,8 @@ initOpts (dsd_opts * opts)
|
||||
opts->inverted_p2 = 0;
|
||||
opts->p2counter = 0;
|
||||
|
||||
opts->call_alert = 0; //call alert beeper for ncurses
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
@@ -403,6 +406,8 @@ initState (dsd_state * state)
|
||||
state->tgcount = 0;
|
||||
state->lasttg = 0;
|
||||
state->lastsrc = 0;
|
||||
state->lasttgR = 0;
|
||||
state->lastsrcR = 0;
|
||||
state->nac = 0;
|
||||
state->errs = 0;
|
||||
state->errs2 = 0;
|
||||
@@ -614,7 +619,7 @@ usage ()
|
||||
printf (" -z <num> Frame rate for datascope\n");
|
||||
printf ("\n");
|
||||
printf ("Input/Output options:\n");
|
||||
printf (" -i <device> Audio input device (default is pulse audio, \n - for piped stdin, rtl for rtl device)\n");
|
||||
printf (" -i <device> Audio input device (default is pulse audio), \n - for piped stdin, rtl for rtl device,\n filename.bin for OP25/FME capture bin files\n");
|
||||
printf (" -o <device> Audio output device (default is pulse audio)\n");
|
||||
printf (" -d <dir> Create mbe data files, use this directory\n");
|
||||
printf (" -r <files> Read/Play saved mbe data from file(s)\n");
|
||||
@@ -623,7 +628,9 @@ usage ()
|
||||
printf (" -T Enable Per Call WAV file saving in XDMA and NXDN decoding classes\n");
|
||||
printf (" (Per Call can only be used in Ncurses Terminal!)\n");
|
||||
printf (" (Running in console will use static wav files)\n");
|
||||
printf (" -n Throttle Symbol Capture Bin Input");
|
||||
printf (" -a Enable Call Alert Beep (NCurses Terminal Only)\n");
|
||||
printf (" (Warning! Might be annoying.)");
|
||||
printf (" -n Throttle Symbol Capture Bin Input\n");
|
||||
printf (" (useful when reading files still being written to by OP25)");
|
||||
printf ("\n");
|
||||
printf ("RTL-SDR options:\n");
|
||||
@@ -662,11 +669,13 @@ usage ()
|
||||
printf (" * denotes frame types that cannot be auto-detected.\n");
|
||||
printf ("\n");
|
||||
printf ("Advanced Decoder options:\n");
|
||||
printf (" -X <hex> Manually Set P2 Parameters (WACN, SYSID, CC/NAC)\n");
|
||||
printf (" (-X BEE00ABC123)\n");
|
||||
// printf (" -A <num> QPSK modulation auto detection threshold (default=26)\n");
|
||||
printf (" -S <num> Symbol buffer size for QPSK decision point tracking\n");
|
||||
printf (" (default=36)\n");
|
||||
printf (" -M <num> Min/Max buffer size for QPSK decision point tracking\n");
|
||||
printf (" (default=15)\n");
|
||||
// printf (" -S <num> Symbol buffer size for QPSK decision point tracking\n");
|
||||
// printf (" (default=36)\n");
|
||||
// printf (" -M <num> Min/Max buffer size for QPSK decision point tracking\n");
|
||||
// printf (" (default=15)\n");
|
||||
// printf (" -F Enable DMR TDMA Stereo Passive Frame Sync\n");
|
||||
// printf (" This feature will attempt to resync less often due to excessive voice errors\n");
|
||||
// printf (" Use if skipping occurs, but may cause wonky audio due to loss of good sync\n");
|
||||
@@ -918,7 +927,7 @@ main (int argc, char **argv)
|
||||
exitflag = 0;
|
||||
signal (SIGINT, sigfun);
|
||||
|
||||
while ((c = getopt (argc, argv, "haep:P:qstv:z:i:o:d:c:g:nw:B:C:R:f:m:u:x:A:S:M:G:D:L:V:U:Y:K:H:NQWrlZTF")) != -1)
|
||||
while ((c = getopt (argc, argv, "haep:P:qstv:z:i:o:d:c:g:nw:B:C:R:f:m:u:x:A:S:M:G:D:L:V:U:Y:K:H:X:NQWrlZTF")) != -1)
|
||||
{
|
||||
opterr = 0;
|
||||
switch (c)
|
||||
@@ -928,7 +937,8 @@ main (int argc, char **argv)
|
||||
exit (0);
|
||||
case 'a':
|
||||
//printPortAudioDevices();
|
||||
exit(0);
|
||||
//exit(0);
|
||||
opts.call_alert = 1;
|
||||
case 'e':
|
||||
opts.errorbars = 1;
|
||||
opts.datascope = 0;
|
||||
@@ -1030,6 +1040,21 @@ main (int argc, char **argv)
|
||||
state.K1 = state.H; //shim
|
||||
break;
|
||||
|
||||
//manually set Phase 2 TDMA WACN/SYSID/CC
|
||||
case 'X':
|
||||
sscanf (optarg, "%llX", &p2vars);
|
||||
if (p2vars > 0)
|
||||
{
|
||||
state.p2_wacn = p2vars >> 24;
|
||||
state.p2_sysid = (p2vars >> 12) & 0xFFF;
|
||||
state.p2_cc = p2vars & 0xFFF;
|
||||
}
|
||||
if (state.p2_wacn != 0 && state.p2_sysid != 0 && state.p2_cc != 0)
|
||||
{
|
||||
state.p2_hardset = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'G': //Set rtl device gain
|
||||
sscanf (optarg, "%d", &opts.rtl_gain_value); //multiple value by ten to make it consitent with the way rtl_fm really works
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user