diff --git a/examples/Example_Usage.md b/examples/Example_Usage.md index 943280f..a9946c6 100644 --- a/examples/Example_Usage.md +++ b/examples/Example_Usage.md @@ -17,10 +17,10 @@ -fy YSF ``` -## Conventional Frequency "Fast Scanner" -This feature is used to allow DSD-FME to use RIGCTL or RTL input and cycle through frequencies as fast as possible to attain a frame sync. +## Conventional Frequency Scanner +This feature is used to allow DSD-FME to use RIGCTL or RTL input and cycle through frequencies to attain a frame sync. -This works almost identically to how the trunkng methods work, but instead of locking onto a control channel and tuning based on its decoding, it rapidly tunes through all loaded frequencies in a CSV file and stops when it finds a frame sync. This method is meant for loading a bunch of conventional non-trunking frequencies that signal only when voice or short data bursts are present (DMR T2, Conventional P25 P1, Conventional NXDN, etc) and decode them until the frame sync stops and then resume its scan. This method uses SDR++ RIGCTL, or RTL internal handling to go through signal. -Y is the fast scanner switch. +This works almost identically to how the trunkng methods work, but instead of locking onto a control channel and tuning based on its decoding, it tunes through all loaded frequencies in a CSV file and stops when it finds a frame sync. This method is meant for loading a bunch of conventional non-trunking frequencies that signal only when voice or short data bursts are present (DMR T2, Conventional P25 P1, Conventional NXDN, etc) and decode them until the frame sync stops and then resume its scan. This method uses SDR++ RIGCTL, or RTL internal handling to go through signal. -Y is the scan switch. Note: This method will perform at a level rivaling a real hardware scanner, SDR tuning is not nearly as fast or reliable at locking onto signal. To scan through a mixture of DMR and P25 Conventional, use: `dsd-fme -i tcp -C channel_map.csv -G group.csv -Y -U 4532 -N 2> log.ans` @@ -33,7 +33,7 @@ To scan through NXDN96 only conventional, use: The Channel Map setup will be identical to any of the channel maps found for trunking systems, channel numbers do not matter and can be arbitrarily organized, and frequencies can be duplicated to be 'scanned' more frequently in larger CSV files. Scan speed by default is 1 second, and is most stable at that speed. This can be adjusted by using the `-t 2` option, for example, to specify 2 seconds of hang time per frequency. ~~If activity occurs on a frequency, an additional 2 seconds of 'hangtime' will occur on that frequency for any follow up voice activity.~~ -Please Note: DMR Simplex may not behave well on fast scan, I have not been able to test it as such, but given the nature of the on-off timeslot signalling on DMR Simplex, missed frame syncs and skipping/resuming scan may occur. +Please Note: DMR Simplex may not behave well on scan, I have not been able to test it as such, but given the nature of the on-off timeslot signalling on DMR Simplex, missed frame syncs and skipping/resuming scan may occur. ## Trunking Examples Please see trunking.sh for sample start up scripts or scroll down to the bottom for more explanation. diff --git a/src/dsd_main.c b/src/dsd_main.c index 61a9be6..e4581ac 100644 --- a/src/dsd_main.c +++ b/src/dsd_main.c @@ -1334,7 +1334,7 @@ usage () printf (" -G Import Group List Allow/Block and Label from csv file.\n"); printf (" (See group.csv for example)\n"); printf (" -T Enable Trunking Features (NXDN/P25/EDACS/DMR) with RIGCTL/TCP or RTL Input\n"); - printf (" -Y Enable Fast Scanning Mode with RIGCTL/TCP or RTL Input (Lower z) \n"); + printf (" -Y Enable Scanning Mode with RIGCTL/TCP or RTL Input (Lower z) \n"); printf (" Experimental -- Can only scan for sync with enabled decoders, don't mix NXDN and DMR/P25!\n"); printf (" This is not a Trunking Feature, just scans through conventional frequencies fast!\n"); printf (" -W Use Imported Group List as a Trunking Allow/White List -- Only Tune with Mode A\n"); @@ -1347,7 +1347,7 @@ usage () printf (" -B Set RIGCTL Setmod Bandwidth in Hertz (0 - default - OFF)\n"); printf (" P25 - 7000-12000; P25 (QPSK) - 12000; NXDN48 - 7000; NXDN96: 9000; DMR - 7000; EDACS/PV - 12500;\n"); printf (" May vary based on system stregnth, etc.\n"); - printf (" -t Set Trunking or Fast Scan VC/sync loss hangtime in seconds. (default = 1 second)\n"); + printf (" -t Set Trunking or Scan Speed VC/sync loss hangtime in seconds. (default = 1 second)\n"); printf (" -9 Force Enable EDACS Standard or Networked Mode on Systems without a netcmd (temp fix) \n"); printf ("\n"); printf (" Trunking Example TCP: dsd-fme -fs -i tcp -U 4532 -T -C dmr_t3_chan.csv -G group.csv -N 2> log.ans\n"); @@ -1754,7 +1754,7 @@ main (int argc, char **argv) case 't': //New letter assignment for Trunk Hangtime, flow down to allow temp numbers sscanf (optarg, "%f", &opts.trunk_hangtime); //updated for float/decimal values - fprintf (stderr, "Trunking or Fast Scanner Hang Time set to: %.02f sec\n", opts.trunk_hangtime); + fprintf (stderr, "Trunking or Scanner Speed/Hang Time set to: %.02f sec\n", opts.trunk_hangtime); break; case 'q': //New letter assignment for Reverse Mute, flow down to allow temp numbers diff --git a/src/dsd_ncurses.c b/src/dsd_ncurses.c index be72ea3..ae81d73 100644 --- a/src/dsd_ncurses.c +++ b/src/dsd_ncurses.c @@ -2490,7 +2490,7 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state) if (opts->scanner_mode == 1) { - printw ("| Fast Scan Mode: "); + printw ("| Scan Mode: "); if (state->lcn_freq_roll != 0) printw (" Frequency: %.06lf Mhz", (double)state->trunk_lcn_freq[state->lcn_freq_roll-1]/1000000); printw (" Speed: %.02lf sec \n", opts->trunk_hangtime); //not sure values less than 1 make a difference, may be system/environment dependent diff --git a/src/dsd_symbol.c b/src/dsd_symbol.c index da812b2..ddfdf3d 100644 --- a/src/dsd_symbol.c +++ b/src/dsd_symbol.c @@ -309,7 +309,7 @@ getSymbol (dsd_opts * opts, dsd_state * state, int have_sync) // if (opts->audio_out_type == 2 && opts->pulse_digi_rate_out == 48000 && opts->pulse_digi_out_channels == 1) // write (opts->audio_out_fd, state->analog_out, 960*2); - //test updating the sync time, so we can hold here while trunking or fast scanning + //test updating the sync time, so we can hold here while trunking or scanning state->last_cc_sync_time = time(NULL); state->last_vc_sync_time = time(NULL); }