diff --git a/dsd-fme2.png b/dsd-fme2.png index be534d7..c5d7f13 100644 Binary files a/dsd-fme2.png and b/dsd-fme2.png differ diff --git a/dsd-fme3.png b/dsd-fme3.png index aaf2562..f86c082 100644 Binary files a/dsd-fme3.png and b/dsd-fme3.png differ diff --git a/examples/Example_Usage.md b/examples/Example_Usage.md index ed04c07..767a99f 100644 --- a/examples/Example_Usage.md +++ b/examples/Example_Usage.md @@ -171,7 +171,7 @@ Some Keyboard Shortcuts have been implemented for testing to see how users like esc or arrow keys - ncurses menu q - quit c - toggle compact mode -h - toggle call history +h - toggle event history z - toggle console payloads a - toggle call alert beep 4 - force privacy/scrambler key assertion over enc identifiers (dmr and nxdn) @@ -216,6 +216,10 @@ V - Toggle Low Pass Filter on Analog Voice or Raw Signal Monitoring B - Toggle High Pass Filter on Analog Voice or Raw Signal Monitoring N - Toggle Passband Filter on Analog Voice or Raw Signal Monitoring +[ - Scroll backwards through Event History +] - Scroll forwards through Event History +\ - Switch between Slot 1 and Slot 2 Event History + v - Cycle RTL Input Volume Multiplier 1X, 2X, 3X (lower v) ``` diff --git a/examples/cygwin_bat/complete_usage_options.txt b/examples/cygwin_bat/complete_usage_options.txt index 29c3039..ed0610c 100644 --- a/examples/cygwin_bat/complete_usage_options.txt +++ b/examples/cygwin_bat/complete_usage_options.txt @@ -1,10 +1,14 @@ +Build Version: AW 2025-131-g680b792 +MBElib Version: 1.3.4 +CODEC2 Support Enabled + Usage: dsd-fme [options] Decoder/Trunking Mode or: dsd-fme [options] -r Read/Play saved mbe data from file(s) or: dsd-fme -h Show help Display Options: -N Use NCurses Terminal - dsd-fme -N 2> log.ans + dsd-fme -N 2> console_log.txt -Z Log MBE/PDU Payloads to console Device Options: @@ -40,7 +44,6 @@ Input/Output options: -g Audio Digital Output Gain (Default: 0 = Auto; ) (Manual: 1 = 2%; 50 = 100%) -n Audio Analog Output Gain (Default: 0 = Auto; 0-100% ) - -w Output synthesized speech to a .wav file, FDMA modes only. -6 Output raw audio .wav file (48K/1). (WARNING! Large File Sizes 1 Hour ~= 360 MB) -7 Create/Use Custom directory for Per Call decoded .wav file saving. (Use ./folder for Nested Directory!) @@ -53,13 +56,15 @@ Input/Output options: (Running in console will use static wav files) -a Enable Call Alert Beep (NCurses Terminal Only) (Warning! Might be annoying.) + -J Specify Filename for Event Log Output. -L Specify Filename for LRRP Data Output. -Q Specify Filename for OK-DMRlib Structured File Output. (placed in DSP folder) -Q Specify Filename for M17 Float Stream Output. (placed in DSP folder) -c Output symbol capture to .bin file -q Reverse Mute - Mute Unencrypted Voice and Unmute Encrypted Voice -V Enable TDMA Voice Synthesis on Slot 1 (1), Slot 2 (2), or Both (3); Default is 3; - If using /dev/dsp input and output at 48k1, launch two instances of DSD-FME w -V 1 and -V 2 if needed -z Set TDMA Voice Slot Preference when using /dev/dsp audio output (prevent lag and stuttering) + If using /dev/dsp input and output at 48k1, launch two instances of DSD-FME w -V 1 and -V 2 if needed + -z Set TDMA Voice Slot Preference when using /dev/dsp audio output (prevent lag and stuttering) -y Enable Experimental Pulse Audio Float Audio Output -v Set Filtering Bitmap Options (Advanced Option) 1 1 1 1 (0xF): PBF/LPF/HPF/HPFD on @@ -79,10 +84,10 @@ RTL-SDR options: Encoder options: -fZ M17 Stream Voice Encoder - Example: dsd-fme -fZ -M M17:9:DSD-FME:LWVMOBILE -i pulse -6 m17signal.wav -8 -N 2> m17encoderlog.ans + Example: dsd-fme -fZ -M M17:9:DSD-FME:LWVMOBILE -i pulse -6 m17signal.wav -8 -N 2> m17encoderlog.txt Run M17 Encoding, listening to pulse audio server, with internal decode/playback and output to 48k/1 wav file - Example: dsd-fme -fZ -M M17:9:DSD-FME:LWVMOBILE -i tcp -o pulse -8 -N 2> m17encoderlog.ans + Example: dsd-fme -fZ -M M17:9:DSD-FME:LWVMOBILE -i tcp -o pulse -8 -N 2> m17encoderlog.txt Run M17 Encoding, listening to default tcp input, without internal decode/playback and output to 48k/1 analog output device -fP M17 Packet Encoder @@ -153,24 +158,33 @@ Advanced Decoder options: -b Manually Enter Basic Privacy Key (Decimal Value of Key Number) (NOTE: This used to be the 'K' option! - -H Manually Enter **tera 10/32/64 Char Basic Privacy Hex Key (see example below) + -H Manually Enter Hytera 10/32/64 Char Basic Privacy Hex Key (see example below) Encapulate in Single Quotation Marks; Space every 16 chars. -H 0B57935150 -H '736B9A9C5645288B 243AD5CB8701EF8A' -H '20029736A5D91042 C923EB0697484433 005EFC58A1905195 E28E9C7836AA2DB8' + -H Manually Enter AES-128 or AES-256 Hex Key (see example below) + Encapulate in Single Quotation Marks; Space every 16 chars. + -H '736B9A9C5645288B 243AD5CB8701EF8A' + -H '20029736A5D91042 C923EB0697484433 005EFC58A1905195 E28E9C7836AA2DB8' + -R Manually Enter dPMR or NXDN EHR Scrambler Key Value (Decimal Value) - -1 Manually Enter RC4 Key Value (DMR, P25) (Hex Value) + -1 Manually Enter RC4 or DES Key Value (DMR, P25, NXDN) (Hex Value) + + -2 Manually Enter TYT and Enforce 16-bit BP Key Value (DMR) (Hex Value) + + -5 Manually Enter 48-bit BP Key Value (DMR) (Hex Value) -k Import Key List from csv file (Decimal Format) -- Lower Case 'k'. Only supports NXDN, DMR Basic Privacy (decimal value). - (dPMR and **tera 32/64 char not supported, DMR uses TG value as key id -- EXPERIMENTAL!!). + (dPMR and Hytera 32/64 char not supported, DMR uses TG value as key id -- EXPERIMENTAL!!). -K Import Key List from csv file (Hexidecimal Format) -- Capital 'K'. - Use for Hex Value **tera 10-char BP keys and RC4 10-Char Hex Keys. + Use for Hex Value Hytera 10-char BP keys, RC4 10-char, DES 16-char Hex Keys, and AES128/256 32/64-char keys. - -4 Force Privacy Key over Encryption Identifiers (DMR BP and NXDN Scrambler) + -4 Force Privacy Key over Encryption Identifiers (DMR MBP/HBP and NXDN Scrambler) -0 Force RC4 Key over Missing PI header/LE Encryption Identifiers (DMR) @@ -198,5 +212,5 @@ Advanced Decoder options: May vary based on system stregnth, etc. -t Set Trunking or Scan Speed VC/sync loss hangtime in seconds. (default = 1 second) - Trunking Example TCP: dsd-fme -fs -i tcp -U 4532 -T -C dmr_t3_chan.csv -G group.csv -N 2> log.ans - Trunking Example RTL: dsd-fme -fs -i rtl:0:450M:26:-2:8 -T -C connect_plus_chan.csv -G group.csv -N 2> log.ans + Trunking Example TCP: dsd-fme -fs -i tcp -U 4532 -T -C dmr_t3_chan.csv -G group.csv -N 2> log.txt + Trunking Example RTL: dsd-fme -fs -i rtl:0:450M:26:-2:8 -T -C connect_plus_chan.csv -G group.csv -N 2> log.txt \ No newline at end of file diff --git a/src/dsd_main.c b/src/dsd_main.c index aa16a2e..43fbf86 100644 --- a/src/dsd_main.c +++ b/src/dsd_main.c @@ -1424,10 +1424,9 @@ printf (" -c Output symbol capture to .bin file\n"); printf (" -q Reverse Mute - Mute Unencrypted Voice and Unmute Encrypted Voice\n"); printf (" -V Enable TDMA Voice Synthesis on Slot 1 (1), Slot 2 (2), or Both (3); Default is 3; \n"); - // #ifdef __CYGWIN__ - 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"); + #ifdef __CYGWIN__ + printf (" If using /dev/dsp input and output at 48k1, launch two instances of DSD-FME w -V 1 and -V 2 if needed\n"); + #endif 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 (" -v Set Filtering Bitmap Options (Advanced Option)\n"); @@ -1449,10 +1448,10 @@ printf ("\n"); printf ("Encoder options:\n"); printf (" -fZ M17 Stream Voice Encoder\n"); - printf (" Example: dsd-fme -fZ -M M17:9:DSD-FME:LWVMOBILE -i pulse -6 m17signal.wav -8 -N 2> m17encoderlog.ans\n"); + printf (" Example: dsd-fme -fZ -M M17:9:DSD-FME:LWVMOBILE -i pulse -6 m17signal.wav -8 -N 2> m17encoderlog.txt\n"); printf (" Run M17 Encoding, listening to pulse audio server, with internal decode/playback and output to 48k/1 wav file\n"); printf ("\n"); - printf (" Example: dsd-fme -fZ -M M17:9:DSD-FME:LWVMOBILE -i tcp -o pulse -8 -N 2> m17encoderlog.ans\n"); + printf (" Example: dsd-fme -fZ -M M17:9:DSD-FME:LWVMOBILE -i tcp -o pulse -8 -N 2> m17encoderlog.txt\n"); printf (" Run M17 Encoding, listening to default tcp input, without internal decode/playback and output to 48k/1 analog output device\n"); printf ("\n"); printf (" -fP M17 Packet Encoder\n"); @@ -1583,8 +1582,8 @@ printf (" May vary based on system stregnth, etc.\n"); printf (" -t Set Trunking or Scan Speed VC/sync loss hangtime in seconds. (default = 1 second)\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"); - printf (" Trunking Example RTL: dsd-fme -fs -i rtl:0:450M:26:-2:8 -T -C connect_plus_chan.csv -G group.csv -N 2> log.ans\n"); + printf (" Trunking Example TCP: dsd-fme -fs -i tcp -U 4532 -T -C dmr_t3_chan.csv -G group.csv -N 2> log.txt\n"); + printf (" Trunking Example RTL: dsd-fme -fs -i rtl:0:450M:26:-2:8 -T -C connect_plus_chan.csv -G group.csv -N 2> log.txt\n"); printf ("\n"); exit (0); }