Remove the portable release builder code from download-and-install-cygwin.sh script, call cyg_portable.sh from said script instead (simplify);

Remove old .bat files or rename pulseaudio ones in case of need for referencing them;

Include a simple example_options.txt file so users can get an idea of options to pass to dsd-fme as opposed to having a bunch of bat files;
This commit is contained in:
lwvmobile
2025-03-03 06:17:52 -05:00
parent ec8d74fabd
commit f551952bf6
15 changed files with 308 additions and 651 deletions

View File

@@ -70,7 +70,9 @@ if [ "$RELEASE" = "y" ]; then
cp .profile dsd-fme-portable/dsd-fme/
#move (cut) the bat files to the portable folder root and delete the other ones so users won't get confused
mv dsd-fme-portable/dsd-fme/examples/cygwin_bat/*.bat dsd-fme-portable/
mv dsd-fme-portable/dsd-fme/examples/cygwin_bat/start-dsd-fme.bat dsd-fme-portable/
mv dsd-fme-portable/dsd-fme/examples/cygwin_bat/example_options.txt dsd-fme-portable/
mv dsd-fme-portable/dsd-fme/examples/cygwin_bat/complete_usage_options.txt dsd-fme-portable/
rm -rf dsd-fme-portable/dsd-fme/examples/cygwin_bat
#change .bat files permissions to be read/write/executable by all users (for some reason, this is not preserved)

View File

@@ -79,245 +79,8 @@ if [ "$ANSWER" = "y" ]; then
make install
cd $cdir
#ask user if they want to make a portable release copy
read -p "Do you want to make a portable copy? y/N " RELEASE
RELEASE=$(printf "$RELEASE"|tr '[:upper:]' '[:lower:]')
if [ "$RELEASE" = "y" ]; then
printf "Copying files to dsd-fme-portable folder and making zip file. Please wait!\n"
#create a dsd-fme-portable folder and copy all the needed items for a portable release version
mkdir dsd-fme-portable
cd dsd-fme-portable
mkdir sourcecode
mkdir bin
mkdir dev
cd dev
mkdir shm
cd ..
mkdir dsd-fme
mkdir logs
mkdir WAV
mkdir etc
mkdir home
mkdir lib
mkdir tmp
mkdir usr
cd usr
mkdir share
cd share
mkdir terminfo
cd $cdir
#start copying things
#terminfo is needed for ncurses
cp -r /usr/share/terminfo/* dsd-fme-portable/usr/share/terminfo
#copy required items from the root bin folder to release bin folder
cp /bin/ls.exe dsd-fme-portable/bin/
cp /bin/bash.exe dsd-fme-portable/bin/
cp /bin/ncurses6-config dsd-fme-portable/bin/
cp /bin/ncursesw6-config dsd-fme-portable/bin/
cp /bin/pacat.exe dsd-fme-portable/bin/
cp /bin/pactl.exe dsd-fme-portable/bin/
cp /bin/padsp dsd-fme-portable/bin/
cp /bin/pamon dsd-fme-portable/bin/
cp /bin/paplay dsd-fme-portable/bin/
cp /bin/parec dsd-fme-portable/bin/
cp /bin/parecord dsd-fme-portable/bin/
cp /bin/pulseaudio.exe dsd-fme-portable/bin/
cp /bin/tty.exe dsd-fme-portable/bin/
#start copying things from the etc folder
cp -r /etc/pulse/ dsd-fme-portable/etc/
#start copying things to the lib folder
cp -r /lib/pulseaudio/ dsd-fme-portable/lib/
#start copying things into the dsd-fme folder
cp dsd-fme/build/dsd-fme.exe dsd-fme-portable/dsd-fme/
cp -r dsd-fme/examples dsd-fme-portable/dsd-fme/
cp .bash_profile dsd-fme-portable/dsd-fme/
cp .bashrc dsd-fme-portable/dsd-fme/
cp .inputrc dsd-fme-portable/dsd-fme/
cp .profile dsd-fme-portable/dsd-fme/
#move (cut) the bat files to the portable folder root and delete the other ones so users won't get confused
mv dsd-fme-portable/dsd-fme/examples/cygwin_bat/*.bat dsd-fme-portable/
rm -rf dsd-fme-portable/dsd-fme/examples/cygwin_bat
#change .bat files permissions to be read/write/executable by all users (for some reason, this is not preserved)
chmod 777 dsd-fme-portable/*.bat
#copy the license, copyright, source code, and things that should be included in all portable releases
cp dsd-fme/COPYRIGHT dsd-fme-portable/sourcecode/
cp dsd-fme/DSD_Author.pgp dsd-fme-portable/sourcecode/
cp dsd-fme/dsd-fme-qgis-map.qgz dsd-fme-portable/sourcecode/
cp dsd-fme/README.md dsd-fme-portable/sourcecode/
cp dsd-fme/dsd-fme2.png dsd-fme-portable/sourcecode/
cp dsd-fme/dsd-fme3.png dsd-fme-portable/sourcecode/
cp dsd-fme/CMakeLists.txt dsd-fme-portable/sourcecode/
cp -r dsd-fme/src dsd-fme-portable/sourcecode/
cp -r dsd-fme/include dsd-fme-portable/sourcecode/
cp -r dsd-fme/cmake dsd-fme-portable/sourcecode/
cp -r dsd-fme/patch dsd-fme-portable/sourcecode/
#compiled items into release dsd-fme folder
cp codec2/build/src/cygcodec2* dsd-fme-portable/dsd-fme/
cp itpp-4.3.1/build/itpp/cygitpp* dsd-fme-portable/dsd-fme/
cp rtl-sdr/build/src/cyg* dsd-fme-portable/dsd-fme/
cp mbelib/build/cygmbe* dsd-fme-portable/dsd-fme/
#bin items into release dsd-fme folder (uisng * where version numbering may exist, those may be upgraded if hard coded)
cp /bin/bash.exe dsd-fme-portable/dsd-fme/
cp /bin/cut.exe dsd-fme-portable/dsd-fme/
cp /bin/cygao* dsd-fme-portable/dsd-fme/
cp /bin/cygarchive* dsd-fme-portable/dsd-fme/
cp /bin/cygargp* dsd-fme-portable/dsd-fme/
cp /bin/cygassuan* dsd-fme-portable/dsd-fme/
cp /bin/cygasyncns* dsd-fme-portable/dsd-fme/
cp /bin/cygatomic* dsd-fme-portable/dsd-fme/
cp /bin/cygattr* dsd-fme-portable/dsd-fme/
cp /bin/cygavahi-client* dsd-fme-portable/dsd-fme/
cp /bin/cygavahi-common* dsd-fme-portable/dsd-fme/
cp /bin/cygavahi-wrap* dsd-fme-portable/dsd-fme/
cp /bin/cygblkid* dsd-fme-portable/dsd-fme/
cp /bin/cygbrotlicommon* dsd-fme-portable/dsd-fme/
cp /bin/cygbrotlidec* dsd-fme-portable/dsd-fme/
cp /bin/cygbz2* dsd-fme-portable/dsd-fme/
cp /bin/cygcares* dsd-fme-portable/dsd-fme/
cp /bin/cygcheck.exe dsd-fme-portable/dsd-fme/
cp /bin/cygcli.dll dsd-fme-portable/dsd-fme/
cp /bin/cygcom_err* dsd-fme-portable/dsd-fme/
cp /bin/cygcrypt* dsd-fme-portable/dsd-fme/
cp /bin/cygcrypto* dsd-fme-portable/dsd-fme/
cp /bin/cygcurl* dsd-fme-portable/dsd-fme/
cp /bin/cygdb_cxx* dsd-fme-portable/dsd-fme/
cp /bin/cygdb_sql* dsd-fme-portable/dsd-fme/
cp /bin/cygdb* dsd-fme-portable/dsd-fme/
cp /bin/cygdbus* dsd-fme-portable/dsd-fme/
cp /bin/cygedit* dsd-fme-portable/dsd-fme/
cp /bin/cygexpat* dsd-fme-portable/dsd-fme/
cp /bin/cygfam* dsd-fme-portable/dsd-fme/
cp /bin/cygfdisk* dsd-fme-portable/dsd-fme/
cp /bin/cygffi* dsd-fme-portable/dsd-fme/
cp /bin/cygfftw3_threads* dsd-fme-portable/dsd-fme/
cp /bin/cygfftw3* dsd-fme-portable/dsd-fme/
cp /bin/cygfftw3f_threads* dsd-fme-portable/dsd-fme/
cp /bin/cygfftw3f* dsd-fme-portable/dsd-fme/
cp /bin/cygfftw3l_threads* dsd-fme-portable/dsd-fme/
cp /bin/cygfftw3l* dsd-fme-portable/dsd-fme/
cp /bin/cygfido2* dsd-fme-portable/dsd-fme/
cp /bin/cygFLAC* dsd-fme-portable/dsd-fme/
cp /bin/cygformw* dsd-fme-portable/dsd-fme/
cp /bin/cyggc* dsd-fme-portable/dsd-fme/
cp /bin/cyggdbm_compat* dsd-fme-portable/dsd-fme/
cp /bin/cyggdbm*.dll dsd-fme-portable/dsd-fme/
cp /bin/cyggio* dsd-fme-portable/dsd-fme/
cp /bin/cygglib* dsd-fme-portable/dsd-fme/
cp /bin/cyggmodule* dsd-fme-portable/dsd-fme/
cp /bin/cyggmp* dsd-fme-portable/dsd-fme/
cp /bin/cyggnutls* dsd-fme-portable/dsd-fme/
cp /bin/cyggobject* dsd-fme-portable/dsd-fme/
cp /bin/cyggomp* dsd-fme-portable/dsd-fme/
cp /bin/cyggpg-error* dsd-fme-portable/dsd-fme/
cp /bin/cyggpgme* dsd-fme-portable/dsd-fme/
cp /bin/cyggsasl* dsd-fme-portable/dsd-fme/
cp /bin/cyggsm* dsd-fme-portable/dsd-fme/
cp /bin/cyggssapi_krb5* dsd-fme-portable/dsd-fme/
cp /bin/cyggthread* dsd-fme-portable/dsd-fme/
cp /bin/cygguile* dsd-fme-portable/dsd-fme/
cp /bin/cyghistory* dsd-fme-portable/dsd-fme/
cp /bin/cyghogweed* dsd-fme-portable/dsd-fme/
cp /bin/cygICE* dsd-fme-portable/dsd-fme/
cp /bin/cygiconv* dsd-fme-portable/dsd-fme/
cp /bin/cygid3tag* dsd-fme-portable/dsd-fme/
cp /bin/cygidn* dsd-fme-portable/dsd-fme/
cp /bin/cygintl* dsd-fme-portable/dsd-fme/
cp /bin/cygisl* dsd-fme-portable/dsd-fme/
cp /bin/cygjsoncpp* dsd-fme-portable/dsd-fme/
cp /bin/cygk5crypto* dsd-fme-portable/dsd-fme/
cp /bin/cygkrb5* dsd-fme-portable/dsd-fme/
cp /bin/cyglber* dsd-fme-portable/dsd-fme/
cp /bin/cygldap* dsd-fme-portable/dsd-fme/
cp /bin/cygltdl* dsd-fme-portable/dsd-fme/
cp /bin/cyglz* dsd-fme-portable/dsd-fme/
cp /bin/cygma* dsd-fme-portable/dsd-fme/
cp /bin/cygmenuw* dsd-fme-portable/dsd-fme/
cp /bin/cygmeta* dsd-fme-portable/dsd-fme/
cp /bin/cygmp* dsd-fme-portable/dsd-fme/
cp /bin/cygncurses* dsd-fme-portable/dsd-fme/
cp /bin/cygnettle* dsd-fme-portable/dsd-fme/
cp /bin/cygnghttp* dsd-fme-portable/dsd-fme/
cp /bin/cygntlm* dsd-fme-portable/dsd-fme/
cp /bin/cygobjc* dsd-fme-portable/dsd-fme/
cp /bin/cygogg* dsd-fme-portable/dsd-fme/
cp /bin/cygopus* dsd-fme-portable/dsd-fme/
cp /bin/cygorc* dsd-fme-portable/dsd-fme/
cp /bin/cygp11* dsd-fme-portable/dsd-fme/
cp /bin/cygpanel* dsd-fme-portable/dsd-fme/
cp /bin/cygpath.exe dsd-fme-portable/dsd-fme/
cp /bin/cygpcre* dsd-fme-portable/dsd-fme/
cp /bin/cygperl* dsd-fme-portable/dsd-fme/
cp /bin/cygpipe* dsd-fme-portable/dsd-fme/
cp /bin/cygpkg* dsd-fme-portable/dsd-fme/
cp /bin/cygpng* dsd-fme-portable/dsd-fme/
cp /bin/cygpopt* dsd-fme-portable/dsd-fme/
cp /bin/cygprotocol* dsd-fme-portable/dsd-fme/
cp /bin/cygpsl* dsd-fme-portable/dsd-fme/
cp /bin/cygpulse* dsd-fme-portable/dsd-fme/
cp /bin/cygquadmath* dsd-fme-portable/dsd-fme/
cp /bin/cygreadline* dsd-fme-portable/dsd-fme/
cp /bin/cygrhash* dsd-fme-portable/dsd-fme/
cp /bin/cygrunsrv.exe dsd-fme-portable/dsd-fme/
cp /bin/cygsamplerate* dsd-fme-portable/dsd-fme/
cp /bin/cygsasl* dsd-fme-portable/dsd-fme/
cp /bin/cygserver* dsd-fme-portable/dsd-fme/
cp /bin/cygSM* dsd-fme-portable/dsd-fme/
cp /bin/cygsmart* dsd-fme-portable/dsd-fme/
cp /bin/cygsndfile* dsd-fme-portable/dsd-fme/
cp /bin/cygsox* dsd-fme-portable/dsd-fme/
cp /bin/cygspeex* dsd-fme-portable/dsd-fme/
cp /bin/cygsqlite* dsd-fme-portable/dsd-fme/
cp /bin/cygssh* dsd-fme-portable/dsd-fme/
cp /bin/cygssl* dsd-fme-portable/dsd-fme/
cp /bin/cygstart.exe dsd-fme-portable/dsd-fme/
cp /bin/cygstdc* dsd-fme-portable/dsd-fme/
cp /bin/cygtasn* dsd-fme-portable/dsd-fme/
cp /bin/cygtdb* dsd-fme-portable/dsd-fme/
cp /bin/cygticw* dsd-fme-portable/dsd-fme/
cp /bin/cygtwo* dsd-fme-portable/dsd-fme/
cp /bin/cygunistring* dsd-fme-portable/dsd-fme/
cp /bin/cygusb* dsd-fme-portable/dsd-fme/
cp /bin/cyguuid* dsd-fme-portable/dsd-fme/
cp /bin/cyguv* dsd-fme-portable/dsd-fme/
cp /bin/cygvorbis* dsd-fme-portable/dsd-fme/
cp /bin/cygwavpack* dsd-fme-portable/dsd-fme/
cp /bin/cygwin1.dll dsd-fme-portable/dsd-fme/
cp /bin/cygwrap* dsd-fme-portable/dsd-fme/
cp /bin/cygX* dsd-fme-portable/dsd-fme/
cp /bin/cygx* dsd-fme-portable/dsd-fme/
cp /bin/cygz* dsd-fme-portable/dsd-fme/
cp /bin/grep.exe dsd-fme-portable/dsd-fme/
cp /bin/ls.exe dsd-fme-portable/dsd-fme/
cp /bin/mintty.exe dsd-fme-portable/dsd-fme/
cp /bin/pacat.exe dsd-fme-portable/dsd-fme/
cp /bin/pacmd.exe dsd-fme-portable/dsd-fme/
cp /bin/pactl.exe dsd-fme-portable/dsd-fme/
cp /bin/padsp dsd-fme-portable/dsd-fme/
cp /bin/pamon dsd-fme-portable/dsd-fme/
cp /bin/paplay dsd-fme-portable/dsd-fme/
cp /bin/parec dsd-fme-portable/dsd-fme/
cp /bin/pulseaudio.exe dsd-fme-portable/dsd-fme/
cp /bin/tail.exe dsd-fme-portable/dsd-fme/
cp /bin/touch.exe dsd-fme-portable/dsd-fme/
cp /bin/tty.exe dsd-fme-portable/dsd-fme/
zip -r dsd-fme-x86-64-cygwin-portable.zip dsd-fme-portable
fi
#call the cyg_portable script
sh dsd-fme/cyg_portable.sh
printf "Any issues, Please report to either:\nhttps://github.com/lwvmobile/dsd-fme/issues or\nhttps://forums.radioreference.com/threads/dsd-fme.438137/\n\n"

View File

@@ -1,18 +0,0 @@
@REM Set the console / terminal to 90 columns, 50 lines
@REM mode con: cols=90 lines=50
@REM only run this command while running DSD-FME with pulse output in a stereo 2 channel configuration
@REM and only IF you have a stereo volume panning issue (this resolves a possibility that a user may have
@REM used an older supplied .bat file to pan channels left or right when two pulse output streams were used)
@REM change directory into the dsd-fme folder
cd dsd-fme
@REM Manually set output volume for left and right channel to 100%
@REM you can also adjust the value of 65535 (100%) to any value from 0 to 65535
@REM //dev//left//right
pactl.exe set-sink-input-volume 0 65535 65535
pactl.exe set-sink-input-volume 1 65535 65535
PAUSE

View File

@@ -1,75 +0,0 @@
@REM Set the console / terminal to 90 columns, 50 lines
@REM mode con: cols=90 lines=50
@REM change directory into the dsd-fme folder
cd dsd-fme
@REM Digital Speech Decoder: Florida Man Edition
@REM DSD-FME Cygwin Windows Portable Builds
@REM
@REM The source code of this software can be donwloaded here:
@REM https://github.com/lwvmobile/dsd-fme
@REM
@REM If you paid for, or were otherwise fleeced for this software, DEMAND YOUR MONEY BACK!
@REM
@REM This software is designed to be used with an SDR receiver (like SDR++ or SDR#) with TCP input,
@REM RTL Input, media file playback over virtual cables or null-sinks, or a Discriminator Tap input
@REM
@REM The complete option list can be seen by entering the following command:
@REM dsd-fme.exe -h
@REM
@REM Enjoy !
@REM
@REM Important! Make sure to route audio in with volume mixer after opening!
@REM You may need to restart the software after setting it up to monitor input
@REM of VB-Cables, or allowing the network traffic for TCP or RIGCTL
@REM See the 'source code\examples\Audio_Plumbing.md' file for more information
@REM
@REM Notice: DSD-FME will not auto-detect NXDN48/96, Provoice, M17, or dPMR signals,
@REM you will need to manually switch them on with the correct command.
@REM
@REM Notice: This .bat file contains numerous examples, it is recommended to find an
@REM an example that matches your use case, and use the @REM to disable the default
@REM or make your own .bat files with the examples provided here
@REM feel free to experiment and mix and match options, see what works best
@REM DMR with default /dev/dsp input and output, capture source to .wav file,
@REM per call wav files, ncurses terminal, payload dump to console
dsd-fme.exe -fs -6 dmrsource.wav -P -N -Z 2> log.ans
@REM NXDN48 with default /dev/dsp input and output, analog source audio monitor,
@REM per call wav files, ncurses terminal, payload dump to console
@REM dsd-fme.exe -fi -P -N -Z -8 2> log.ans
@REM P25 with pulse audio input and output, capture to .bin file,
@REM per call wav files, ncurses terminal, discard console log
@REM dsd-fme.exe -i pulse:input -o pulse:output -ft -P -N -c p25capture.bin 2> NUL
@REM P25 Phase 2 Traffic Channel Parking with SDR++ Network Sink input, pulse output,
@REM console payload dump, ncurses terminal, manually specify WACN/SYS/CC value
@REM dsd-fme.exe -f2 -i tcp:127.0.0.1:7355 -o pulse:output -X BEE00123ABC -Z -N 2> log.ans
@REM Auto Detect and Use 48k/1 .wav file for input (SDR++, DSD-FME)
@REM dsd-fme.exe -fa -i filename.wav -s 48000
@REM Auto Detect and Use 96k/1 .wav file for input (DSDPlus, GQRX)
@REM dsd-fme.exe -fa -i filename.wav -s 96000
@REM DMR/P25 TDMA and capture.bin format input (DSD-FME, OP25), payload to console
@REM dsd-fme.exe -ft -i capture.bin -Z
@REM -- Lima Zulu Specific Tweaks for NXDN48
@REM -- Run in With SDR++, TCP Network Audio Sink, RIGCTL on 4532, Scanner Mode,
@REM load keys from frequency during voice, force scrambler cipher
@REM dsd-fme-lz.exe -i tcp -U 4532 -Y -4 -t 1 -fi -Z -k examples\nxdn_sc_key.csv -C nxdn_chan_map.csv -N 2> log.ans
@REM -- Lima Zulu Specific Tweaks for NXDN96
@REM -- Run in With SDR++, TCP Network Audio Sink, RIGCTL on 4532, Scanner Mode,
@REM load keys from frequency during voice, force scrambler cipher
@REM dsd-fme-lz.exe -i tcp -U 4532 -Y -4 -t 1 -fn -Z -k examples\nxdn_sc_key.csv -C nxdn_chan_map.csv -N 2> log.ans
@REM ProVoice Conventional / Simplex from Disc Tap Input
@REM dsd-fme-pvc.exe -fp -Z
@REM PAUSE

View File

@@ -1,73 +0,0 @@
@REM Set the console / terminal to 90 columns, 50 lines
@REM mode con: cols=90 lines=50
@REM change directory into the dsd-fme folder
cd dsd-fme
@REM Digital Speech Decoder: Florida Man Edition
@REM DSD-FME Cygwin Windows Portable Builds
@REM
@REM The source code of this software can be donwloaded here:
@REM https://github.com/lwvmobile/dsd-fme
@REM
@REM If you paid for, or were otherwise fleeced for this software, DEMAND YOUR MONEY BACK!
@REM
@REM This software is designed to be used with an SDR receiver (like SDR++ or SDR#) with TCP input,
@REM RTL Input, media file playback over virtual cables or null-sinks, or a Discriminator Tap input
@REM
@REM The complete option list can be seen by entering the following command:
@REM dsd-fme.exe -h
@REM
@REM Enjoy !
@REM
@REM Important! Make sure to route audio in with volume mixer after opening!
@REM You may need to restart the software after setting it up to monitor input
@REM of VB-Cables, or allowing the network traffic for TCP or RIGCTL
@REM See the 'source code\examples\Audio_Plumbing.md' file for more information
@REM
@REM Notice: DSD-FME will not auto-detect NXDN48/96, Provoice, M17, or dPMR signals,
@REM you will need to manually switch them on with the correct command.
@REM
@REM Notice: This .bat file contains numerous examples, it is recommended to find an
@REM an example that matches your use case, and use the @REM to disable the default
@REM or make your own .bat files with the examples provided here
@REM feel free to experiment and mix and match options, see what works best
@REM DMR with default /dev/dsp input and output, use basic privacy key 70
dsd-fme.exe -fs -b 70
@REM DMR with default /dev/dsp input and output, load .csv file with decimal basic privacy keys loaded by TG value,
@REM dsd-fme.exe -fs -k examples\multi_key.csv
@REM DMR with default /dev/dsp input and output, use Hytera basic privacy key (10, 32, and 64 hex char versions)
@REM dsd-fme.exe -fs -H 1111111111
@REM dsd-fme.exe -fs -H '2222222222222222 3333333333333333'
@REM dsd-fme.exe -fs -H '2222222222222222 3333333333333333 4444444444444444 5555555555555555'
@REM DMR with default /dev/dsp input and output, use RC4 key 0x7777777777
@REM dsd-fme.exe -fs -1 7777777777
@REM DMR with default /dev/dsp input and output, use RC4 key 0x7777777777,
@REM Force RC4 Key over Missing PI header/LE Encryption Identifiers (-0)
@REM Disable Late Entry Encryption Signalling Identifiers (-3)
@REM dsd-fme.exe -fs -0 -3 -1 7777777777
@REM DMR with default /dev/dsp input and output, load RC4 and 10-char HBP keys from .csv file (hexidecimal format)
@REM dsd-fme.exe -fs -K examples\multi_key_hex.csv
@REM P25 with default /dev/dsp input and output, use RC4 key 0x7777777777
@REM dsd-fme.exe -ft -1 7777777777
@REM NXDN48 with default /dev/dsp input and output, use Scrambler key 32767
@REM dsd-fme.exe -fi -R 32767
@REM NXDN96 with default /dev/dsp input and output, use Scrambler key 15000
@REM dsd-fme.exe -fn -R 15000
@REM dPMR with default /dev/dsp input and output, use Scrambler key 32767
@REM dsd-fme.exe -fm -R 32767
@REM NXDN48 with default /dev/dsp input and output, load scrambler keys from .csv file (decimal format)
@REM dsd-fme.exe -fi -k examples\nxdn_sc_key.csv
@REM PAUSE

View File

@@ -1,49 +0,0 @@
@REM Set the console / terminal to 90 columns, 50 lines
@REM mode con: cols=90 lines=50
@REM change directory into the dsd-fme folder
cd dsd-fme
@REM Digital Speech Decoder: Florida Man Edition
@REM DSD-FME Cygwin Windows Portable Builds
@REM
@REM The source code of this software can be donwloaded here:
@REM https://github.com/lwvmobile/dsd-fme
@REM
@REM If you paid for, or were otherwise fleeced for this software, DEMAND YOUR MONEY BACK!
@REM
@REM This software is designed to be used with an SDR receiver (like SDR++ or SDR#) with TCP input,
@REM RTL Input, media file playback over virtual cables or null-sinks, or a Discriminator Tap input
@REM
@REM The complete option list can be seen by entering the following command:
@REM dsd-fme.exe -h
@REM
@REM Enjoy !
@REM
@REM Notice: This .bat file contains numerous examples, it is recommended to find an
@REM an example that matches your use case, and use the @REM to disable the default
@REM or make your own .bat files with the examples provided here
@REM feel free to experiment and mix and match options, see what works best
@REM
@REM Scanning will not perform quickly like a real scanner, but can be used with any
@REM supported decoding type and analog as well, and will require a channel_map to scan frequencies
@REM channel numbers do not matter, but use unique ones for each frequeny
@REM -t 0 will scan as fast as possible, but may miss frame sync, -t 1 is stable, but needs 1 second between tuning
@REM P25/DMR/Analog Scanning with RTL input, /dev/dsp output, channel map import,
@REM per call wav files, ncurses terminal, payload dump to console, raw audio signal monitoring
@REM dsd-fme.exe -ft -i rtl:0:450M:0:-2:12 -Y -t 1 -C examples\dmr_t3_chan.csv -P -8 -N -Z 2> log.ans
@REM P25/DMR/Analog Scanning with SDR++ input (use squelch), RIGCTL, /dev/dsp output, channel map import,
@REM per call wav files, ncurses terminal, payload dump to console, raw audio signal monitoring
@REM dsd-fme.exe -ft -i tcp:127.0.0.1:7355 -U 4532 -Y -t 1 -C examples\dmr_t3_chan.csv -P -8 -N -Z 2> log.ans
@REM NXDN48/Analog Scanning with SDR++ input (use squelch), RIGCTL, /dev/dsp output, channel map import,
@REM per call wav files, ncurses terminal, payload dump to console, raw audio signal monitoring
@REM dsd-fme.exe -fi -i tcp:127.0.0.1:7355 -U 4532 -Y -t 1-C examples\nxdn_chan_map.csv -P -8 -N -Z 2> log.ans
@REM Analog Scanning with SDR++ input (use squelch), RIGCTL, /dev/dsp output, channel map import
@REM dsd-fme.exe -fA -i tcp:127.0.0.1:7355 -U 4532 -Y -t 0 -C examples\nxdn_chan_map.csv -8
@REM PAUSE

View File

@@ -1,70 +0,0 @@
@REM Set the console / terminal to 90 columns, 50 lines
@REM mode con: cols=90 lines=50
@REM change directory into the dsd-fme folder
cd dsd-fme
@REM Digital Speech Decoder: Florida Man Edition
@REM DSD-FME Cygwin Windows Portable Builds
@REM
@REM The source code of this software can be donwloaded here:
@REM https://github.com/lwvmobile/dsd-fme
@REM
@REM If you paid for, or were otherwise fleeced for this software, DEMAND YOUR MONEY BACK!
@REM
@REM This software is designed to be used with an SDR receiver (like SDR++ or SDR#) with TCP input,
@REM RTL Input, media file playback over virtual cables or null-sinks, or a Discriminator Tap input
@REM
@REM The complete option list can be seen by entering the following command:
@REM dsd-fme.exe -h
@REM
@REM Enjoy !
@REM
@REM Notice: This .bat file contains numerous examples, it is recommended to find an
@REM an example that matches your use case, and use the @REM to disable the default
@REM or make your own .bat files with the examples provided here
@REM feel free to experiment and mix and match options, see what works best
@REM
@REM Consult examples\trunking.sh for more trunking examples, notes, and use case on tcp and rtl input switches
@REM Current Supported Trunking Types Include:
@REM P25: Phase 1 or Phase 2 (MAC_SIGNAL/TDMA) Trunking.
@REM DMR: Cap+, XPT, Con+, T3 (with channel map import)
@REM NXDN: Type C v1 with channel map import, v2 DFA, "Icom IDAS" Type D Trunking
@REM EDACS: Standard Network, and Extended Addressing (with and without ESK)
@REM
@REM Note: Simulcast P25 systems may perform poorly or not at all on DSD-FME, even with QPSK enabled.
@REM P25 (Phase 1 Control) Trunking with SDR++ Network Sink input, RIGCTL, /dev/dsp output,
@REM per call wav files, ncurses terminal
@REM dsd-fme.exe -ft -i tcp:127.0.0.1:7355 -U 4532 -T -P -N 2> log.ans
@REM P25 (Phase 2 Control) Trunking with SDR++ Network Sink input, RIGCTL, /dev/dsp output,
@REM per call wav files, ncurses terminal
@REM dsd-fme.exe -f2 -i tcp:127.0.0.1:7355 -U 4532 -T -P -N 2> log.ans
@REM DMR Trunking with RTL input, /dev/dsp output, channel map import,
@REM per call wav files, ncurses terminal, payload dump to console
@REM dsd-fme.exe -fs -i rtl:0:450M:0:-2:12 -T -C examples\dmr_t3_chan.csv -P -N -Z 2> log.ans
@REM DMR Trunking with SDR++ input, RIGCTL, /dev/dsp output, RAS enabled CSBK (-F),
@REM channel map import, per call wav files, ncurses terminal, payload dump to console
@REM dsd-fme.exe -fs -F -i tcp -U 4532 -T -C examples\capacity_plus_chan.csv -P -N -Z 2> log.ans
@REM NXDN48 v2.0 DFA (Direct Frequency Assignment) Trunking with SDR++ input, RIGCTL, /dev/dsp output,
@REM scrambler key import (decimal), per call wav files, ncurses terminal, payload dump to console
@REM dsd-fme.exe -fi -i tcp -U 4532 -T -P -N -Z -k examples\nxdn_sc_key.csv 2> log.ans
@REM NXDN96 Trunking with SDR++ input, RIGCTL, /dev/dsp output,
@REM channel map import, per call wav files, ncurses terminal, payload dump to console
@REM dsd-fme.exe -fn -i tcp -U 4532 -T -C examples\nxdn_chan_map.csv -P -N -Z 2> log.ans
@REM EDACS Standard Network Analog and Digital
@REM dsd-fme.exe -fh -i tcp -U 4532 -T -C edacs_channel_map.csv -G group.csv -N 2> log.ans
@REM dsd-fme.exe -fh -i rtl:0:850M:44:-2:24 -T -C edacs_channel_map.csv -G group.csv -N 2> log.ans
@REM EDACS Extended Address Analog and Digital (with ESK)
@REM dsd-fme -fE -i tcp:192.168.7.5:7355 -U 4532 -T -C edacs_channel_map.csv -G group.csv -N 2> log.ans
@REM dsd-fme -fE -i rtl:0:850M:44:-2:24 -T -C edacs_channel_map.csv -G group.csv -N 2> log.ans
@REM PAUSE

View File

@@ -1,108 +0,0 @@
@REM Set the console / terminal to 90 columns, 50 lines
@REM mode con: cols=90 lines=50
@REM change directory into the dsd-fme folder
cd dsd-fme
@REM Digital Speech Decoder: Florida Man Edition
@REM DSD-FME Cygwin Windows Portable Builds
@REM
@REM The source code of this software can be donwloaded here:
@REM https://github.com/lwvmobile/dsd-fme
@REM
@REM If you paid for, or were otherwise fleeced for this software, DEMAND YOUR MONEY BACK!
@REM
@REM This software is designed to be used with an SDR receiver (like SDR++ or SDR#) with TCP input,
@REM RTL Input, media file playback over virtual cables or null-sinks, or a Discriminator Tap input
@REM
@REM The complete option list can be seen by entering the following command:
@REM dsd-fme.exe -h
@REM
@REM Enjoy !
@REM
@REM Important! Make sure to route audio in with volume mixer after opening!
@REM You may need to restart the software after setting it up to monitor input
@REM of VB-Cables, or allowing the network traffic for TCP or RIGCTL
@REM See the 'source code\examples\Audio_Plumbing.md' file for more information
@REM
@REM Notice: DSD-FME will not auto-detect NXDN48/96, Provoice, M17, or dPMR signals,
@REM you will need to manually switch them on with the correct command.
@REM
@REM Notice: This .bat file contains numerous examples, it is recommended to find an
@REM an example that matches your use case, and use the @REM to disable the default
@REM or make your own .bat files with the examples provided here
@REM
@REM Notice: Run 0pa - start-pulse-audio-server.bat prior to using any examples here
@REM Pulse Audio Output is better tailored for TDMA voice when voice may occur on both slots
@REM but is not required when using any decoding.
@REM Default Decoders (DMR, P25, X2, DSTAR, YSF):
@REM -i pulse:input, -o pulse:output, and -fa are implied
@REM dsd-fme.exe -i pulse:input -o pulse:output
dsd-fme.exe -i pulse:input -o pulse:output -N 2> log.ans
@REM DMR
@REM dsd-fme.exe -i pulse:input -o pulse:output -fs
@REM dsd-fme.exe -i pulse:input -o pulse:output -fs -N 2> log.ans
@REM P25
@REM dsd-fme.exe -i pulse:input -o pulse:output -ft
@REM dsd-fme.exe -i pulse:input -o pulse:output -ft -N 2> log.ans
@REM P25 (Phase 2 Only, specify WACN/SYS/CC value, if not control channel)
@REM dsd-fme.exe -i pulse:input -o pulse:output -f2 -X BEE00ABC123
@REM dsd-fme.exe -i pulse:input -o pulse:output -f2 -X BEE00ABC123 -N 2> log.ans
@REM NXDN48
@REM dsd-fme.exe -i pulse:input -o pulse:output -fi
@REM dsd-fme.exe -i pulse:input -o pulse:output -fi -N 2> log.ans
@REM NXDN96
@REM dsd-fme.exe -i pulse:input -o pulse:output -fn
@REM dsd-fme.exe -i pulse:input -o pulse:output -fn -N 2> log.ans
@REM YSF
@REM dsd-fme.exe -i pulse:input -o pulse:output -fy
@REM dsd-fme.exe -i pulse:input -o pulse:output -fy -N 2> log.ans
@REM DSTAR
@REM dsd-fme.exe -i pulse:input -o pulse:output -fd
@REM dsd-fme.exe -i pulse:input -o pulse:output -fd -N 2> log.ans
@REM dPMR
@REM dsd-fme.exe -i pulse:input -o pulse:output -fm
@REM dsd-fme.exe -i pulse:input -o pulse:output -fm -N 2> log.ans
@REM dsd-fme.exe -i pulse:input -o pulse:output -fm -xd #(inverted polarity)
@REM M17
@REM dsd-fme.exe -i pulse:input -o pulse:output -fz
@REM dsd-fme.exe -i pulse:input -o pulse:output -fz -N 2> log.ans
@REM dsd-fme.exe -i pulse:input -o pulse:output -fz -xz #(inverted polarity)
@REM ProVoice
@REM dsd-fme.exe -i pulse:input -o pulse:output -fp
@REM dsd-fme.exe -i pulse:input -o pulse:output -fp -N 2> log.ans
@REM PAUSE

View File

@@ -1,14 +0,0 @@
@REM Set the console / terminal to 90 columns, 50 lines
@REM mode con: cols=90 lines=50
cd dsd-fme
@REM log.ans should refer to your log output file after '2>' i.e. '2> log.ans'
tail.exe -n 40 -f log.ans
@REM Alternatively, you can also grep out keywords or interest, see example below
@REM tail.exe -f log.ans | grep "Keyword1\|Keyword2\|Keyword3"
@REM tail.exe -f log.ans | grep "Grant\|C+\|Keyword3"
@REM
@REM PAUSE

View File

@@ -0,0 +1,202 @@
Usage: dsd-fme [options] Decoder/Trunking Mode
or: dsd-fme [options] -r <files> 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
-Z Log MBE/PDU Payloads to console
Device Options:
-O List All Pulse Audio Input Sources and Output Sinks (devices).
Input/Output options:
-i <device> Audio input device (default is pulse)
/dev/dsp for OSS audio (Depreciated: Will require padsp wrapper in Linux)
pulse for pulse audio signal input
pulse:6 or pulse:virtual_sink2.monitor for pulse audio signal input on virtual_sink2 (see -O)
rtl for rtl dongle (Default Values -- see below)
rtl:dev:freq:gain:ppm:bw:sq:vol for rtl dongle (see below)
tcp for tcp client SDR++/GNURadio Companion/Other (Port 7355)
tcp:192.168.7.5:7355 for custom address and port
m17udp for M17 UDP/IP socket bind input (default host 127.0.0.1; default port 17000)
m17udp:192.168.7.8:17001 for M17 UDP/IP bind input (Binding Address and Port
filename.bin for OP25/FME capture bin files
filename.wav for 48K/1 wav files (SDR++, GQRX)
filename.wav -s 96000 for 96K/1 wav files (DSDPlus)
(Use single quotes '/directory/audio file.wav' when directories/spaces are present)
-s <rate> Sample Rate of wav input files (48000 or 96000) Mono only!
-o <device> Audio output device (default is pulse)
/dev/dsp for OSS audio (Depreciated: Will require padsp wrapper in Linux)
pulse for pulse audio decoded voice or analog output
pulse:1 or pulse:alsa_output.pci-0000_0d_00.3.analog-stereo for pulse audio decoded voice or analog output on device (see -O)
null for no audio output
udp for UDP socket blaster output (default host 127.0.0.1; default port 23456)
udp:192.168.7.8:23470 for UDP socket blaster output (Target Address and Port
m17udp for M17 UDP/IP socket blaster output (default host 127.0.0.1; default port 17000)
m17udp:192.168.7.8:17001 for M17 UDP/IP blaster output (Target Address and Port
-d <dir> Create mbe data files, use this directory (TDMA version is experimental)
-r <files> Read/Play saved mbe data from file(s)
-g <float> Audio Digital Output Gain (Default: 0 = Auto; )
(Manual: 1 = 2%; 50 = 100%)
-n <float> Audio Analog Output Gain (Default: 0 = Auto; 0-100% )
-w <file> Output synthesized speech to a .wav file, FDMA modes only.
-6 <file> Output raw audio .wav file (48K/1). (WARNING! Large File Sizes 1 Hour ~= 360 MB)
-7 <dir> Create/Use Custom directory for Per Call decoded .wav file saving.
(Use ./folder for Nested Directory!)
(Use /path/to/folder for hard coded directory!)
(Use Before the -P option!)
-8 Enable Experimental Source Audio Monitor (Pulse Audio Output Only!)
(Its recommended to use Squelch in SDR++ or GQRX, etc, if monitoring mixed analog/digital)
-P Enable Per Call WAV file saving in AUTO and NXDN decoding classes
(Per Call can only be used in Ncurses Terminal!)
(Running in console will use static wav files)
-a Enable Call Alert Beep (NCurses Terminal Only)
(Warning! Might be annoying.)
-L <file> Specify Filename for LRRP Data Output.
-Q <file> Specify Filename for OK-DMRlib Structured File Output. (placed in DSP folder)
-Q <file> Specify Filename for M17 Float Stream Output. (placed in DSP folder)
-c <file> Output symbol capture to .bin file
-q Reverse Mute - Mute Unencrypted Voice and Unmute Encrypted Voice
-V <num> 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)
-y Enable Experimental Pulse Audio Float Audio Output
-v <hex> Set Filtering Bitmap Options (Advanced Option)
1 1 1 1 (0xF): PBF/LPF/HPF/HPFD on
RTL-SDR options:
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 or 8 Digit Serial Number, no strings! (default 0)
freq <num> RTL-SDR Frequency (851800000 or 851.8M)
gain <num> RTL-SDR Device Gain (0-49)(default = 0; Hardware AGC recommended)
ppm <num> RTL-SDR PPM Error (default = 0)
bw <num> RTL-SDR Bandwidth kHz (default = 12)(4, 6, 8, 12, 16, 24)
sq <num> RTL-SDR Squelch Level vs RMS Value (Optional)
vol <num> RTL-SDR Sample 'Volume' Multiplier (default = 2)(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
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
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
Run M17 Encoding, listening to default tcp input, without internal decode/playback and output to 48k/1 analog output device
-fP M17 Packet Encoder
Example: dsd-fme -fP -M M17:9:DSD-FME:LWVMOBILE -6 m17pkt.wav -8 -S 'Hello World'
-fB M17 BERT Encoder
Example: dsd-fme -fB -M M17:9:DSD-FME:LWVMOBILE -6 m17bert.wav -8
-M M17 Encoding User Configuration String: M17:CAN:SRC:DST:INPUT_RATE:VOX (see examples above).
CAN 1-15; SRC and DST have to be no more than 9 UPPER base40 characters.
BASE40: ' ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-/.'
Input Rate Default is 48000; Use Multiples of 8000 up to 48000.
VOX Enabled on 1; (Default = 0)
Values not entered into the M17: string are set to default values.
-S M17 Packet Encoder SMS String: No more than 772 chars, use single quotations (see example above).
-S M17 Stream Encoder SMS String: No more than 48 chars, activates 1600 voice (best if broken into six 8 char chunks).
Decoder options:
-fa Auto Detection
-fA Passive Analog Audio Monitor
-ft TDMA Trunking P25p1 Control and Voice, P25p2 Trunked Channels, and DMR
-fs DMR TDMA BS and MS Simplex
-f1 Decode only P25 Phase 1
-f2 Decode only P25 Phase 2 (6000 sps) **
-fd Decode only DSTAR
-fx Decode only X2-TDMA
-fy Decode only YSF
-fz Decode only M17*
-fU Decode only M17 UDP/IP Frame***
-fi Decode only NXDN48* (6.25 kHz) / IDAS*
-fn Decode only NXDN96* (12.5 kHz)
-fp Decode only ProVoice*
-fh Decode only EDACS Standard/ProVoice*
-fH Decode only EDACS Standard/ProVoice with ESK 0xA0*
-fh344 Decode only EDACS Standard/ProVoice and set AFS to 344 or similar custom 11-bit scheme*
-fH434 Decode only EDACS Standard/ProVoice and set AFS to custom 11-bit scheme with ESK 0xA0*
-fe Decode only EDACS EA/ProVoice*
-fE Decode only EDACS EA/ProVoice with ESK 0xA0*
-fm Decode only dPMR*
-l Disable DMR, dPMR, NXDN, M17 input filtering
-u <num> Unvoiced speech quality (default=3)
-xx Expect non-inverted X2-TDMA signal
-xr Expect inverted DMR signal
-xd Expect inverted ICOM dPMR signal
-xz Expect inverted M17 signal
* denotes frame types that cannot be auto-detected.
** Phase 2 Single Frequency may require user to manually set WACN/SYSID/CC parameters if MAC_SIGNAL not present.
*** configure UDP Input with -i m17:127.0.0.1:17000
Advanced Decoder options:
-X <hex> Manually Set P2 Parameters (WACN, SYSID, CC/NAC)
(-X BEE00ABC123)
-D <dec> Manually Set TIII DMR Location Area n bit len (0-10)(10 max)
(Value defaults to max n bit value for site model size)
(Setting 0 will show full Site ID, no area/subarea)
-ma Auto-select modulation optimizations
-mc Use only C4FM modulation optimizations (default)
-mg Use only GFSK modulation optimizations
-mq Use only QPSK modulation optimizations
-m2 Use P25p2 6000 sps QPSK modulation optimizations
-F Relax P25 Phase 2 MAC_SIGNAL CRC Checksum Pass/Fail
Use this feature to allow MAC_SIGNAL even if CRC errors.
-F Relax DMR RAS/CRC CSBK/DATA Pass/Fail
Enabling on some systems could lead to bad channel assignments/site data decoding if bad or marginal signal
-F Relax M17 LSF/PKT CRC Error Checking
-b <dec> Manually Enter Basic Privacy Key (Decimal Value of Key Number)
(NOTE: This used to be the 'K' option!
-H <hex> Manually Enter **tera 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'
-R <dec> Manually Enter dPMR or NXDN EHR Scrambler Key Value (Decimal Value)
-1 <hex> Manually Enter RC4 Key Value (DMR, P25) (Hex Value)
-k <file> 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!!).
-K <file> 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.
-4 Force Privacy Key over Encryption Identifiers (DMR BP and NXDN Scrambler)
-0 Force RC4 Key over Missing PI header/LE Encryption Identifiers (DMR)
-3 Disable DMR Late Entry Encryption Identifiers (VC6 Single Burst)
Note: Disable this if false positives on Voice ENC occur.
Trunking Options:
-C <file> Import Channel to Frequency Map (channum, freq) from csv file. (Capital C)
(See channel_map.csv for example)
-G <file> Import Group List Allow/Block and Label from csv file.
(See group.csv for example)
-T Enable Trunking Features (NXDN/P25/EDACS/DMR) with RIGCTL/TCP or RTL Input
-Y Enable Scanning Mode with RIGCTL/TCP or RTL Input
Experimental -- Can only scan for sync with enabled decoders, don't mix NXDN and DMR/P25!
This is not a Trunking Feature, just scans through conventional frequencies fast!
-W Use Imported Group List as a Trunking Allow/White List -- Only Tune with Mode A
-p Disable Tune to Private Calls (DMR TIII, P25, NXDN Type-C and Type-D)
-E Disable Tune to Group Calls (DMR TIII, Con+, Cap+, P25, NXDN Type-C, and Type-D)
-e Enable Tune to Data Calls (DMR TIII, Cap+, NXDN Type-C)
(NOTE: No Clear Distinction between Cap+ Private Voice Calls and Data Calls -- Both enabled with Data Calls
-I <dec> Specify TG to Hold During Trunking (DMR, P25, NXDN Type-C Trunking)
-U <port> Enable RIGCTL/TCP; Set TCP Port for RIGCTL. (4532 on SDR++)
-B <Hertz> Set RIGCTL Setmod Bandwidth in Hertz (0 - default - OFF)
P25 - 12000; NXDN48 - 7000; NXDN96: 12000; DMR - 7000-12000; EDACS/PV - 12000-24000;
May vary based on system stregnth, etc.
-t <secs> 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

View File

@@ -0,0 +1,97 @@
This example options contains numerous options put into the start-dsd-fme.bat file in the option string
feel free to experiment and mix and match example options for your bat files option string.
Trunking Option Examples:
P25 (Phase 1 Control) Trunking with SDR++ Network Sink input, RIGCTL, /dev/dsp output,
per call wav files, ncurses terminal
-ft -i tcp:127.0.0.1:7355 -U 4532 -T -P -N
P25 (Phase 2 Control) Trunking with SDR++ Network Sink input, RIGCTL, /dev/dsp output,
per call wav files, ncurses terminal
-f2 -i tcp:127.0.0.1:7355 -U 4532 -T -P -N
DMR Trunking with RTL input, /dev/dsp output, channel map import,
per call wav files, ncurses terminal, payload dump to console
-fs -i rtl:0:450M:0:-2:12 -T -C examples\dmr_t3_chan.csv -P -N -Z
DMR Trunking with SDR++ input, RIGCTL, /dev/dsp output, RAS enabled CSBK (-F),
channel map import, per call wav files, ncurses terminal, payload dump to console
-fs -F -i tcp -U 4532 -T -C examples\capacity_plus_chan.csv -P -N -Z
NXDN48 v2.0 DFA (Direct Frequency Assignment) Trunking with SDR++ input, RIGCTL, /dev/dsp output,
scrambler key import (decimal), per call wav files, ncurses terminal, payload dump to console
-fi -i tcp -U 4532 -T -P -N -Z -k examples\nxdn_sc_key.csv
NXDN96 Trunking with SDR++ input, RIGCTL, /dev/dsp output,
channel map import, per call wav files, ncurses terminal, payload dump to console
-fn -i tcp -U 4532 -T -C examples\nxdn_chan_map.csv -P -N -Z
EDACS Standard Network Analog and Digital
-fh -i tcp -U 4532 -T -C edacs_channel_map.csv -G group.csv -N
-fh -i rtl:0:850M:44:-2:24 -T -C edacs_channel_map.csv -G group.csv -N
EDACS Extended Address Analog and Digital (with ESK)
-fE -i tcp:192.168.7.5:7355 -U 4532 -T -C edacs_channel_map.csv -G group.csv -N
-fE -i rtl:0:850M:44:-2:24 -T -C edacs_channel_map.csv -G group.csv -N
Scanning Option Examples:
Scanning will not perform quickly like a real scanner, but can be used with any
supported decoding type and analog as well, and will require a channel_map to scan frequencies
channel numbers do not matter, but use unique ones for each frequeny
-t 0 will scan as fast as possible, but may miss frame sync, -t 1 is stable, but needs 1 second between tuning
P25/DMR/Analog Scanning with RTL input, /dev/dsp output, channel map import,
per call wav files, ncurses terminal, payload dump to console, raw audio signal monitoring
-ft -i rtl:0:450M:0:-2:12 -Y -t 1 -C examples\dmr_t3_chan.csv -P -8 -N -Z
P25/DMR/Analog Scanning with SDR++ input (use squelch), RIGCTL, /dev/dsp output, channel map import,
per call wav files, ncurses terminal, payload dump to console, raw audio signal monitoring
-ft -i tcp:127.0.0.1:7355 -U 4532 -Y -t 1 -C examples\dmr_t3_chan.csv -P -8 -N -Z
NXDN48/Analog Scanning with SDR++ input (use squelch), RIGCTL, /dev/dsp output, channel map import,
per call wav files, ncurses terminal, payload dump to console, raw audio signal monitoring
-fi -i tcp:127.0.0.1:7355 -U 4532 -Y -t 1-C examples\nxdn_chan_map.csv -P -8 -N -Z
Analog Scanning with SDR++ input (use squelch), RIGCTL, /dev/dsp output, channel map import
-fA -i tcp:127.0.0.1:7355 -U 4532 -Y -t 0 -C examples\nxdn_chan_map.csv -8
Encryption Option Examples:
DMR with default /dev/dsp input and output, use basic privacy key 70
-fs -b 70
DMR with default /dev/dsp input and output, load .csv file with decimal basic privacy keys loaded by TG value,
-fs -k examples\multi_key.csv
DMR with default /dev/dsp input and output, use Hytera basic privacy key (10, 32, and 64 hex char versions)
-fs -H 1111111111
-fs -H '2222222222222222 3333333333333333'
-fs -H '2222222222222222 3333333333333333 4444444444444444 5555555555555555'
DMR with default /dev/dsp input and output, use RC4 key 0x7777777777
-fs -1 7777777777
DMR with default /dev/dsp input and output, use RC4 key 0x7777777777,
Force RC4 Key over Missing PI header/LE Encryption Identifiers (-0)
Disable Late Entry Encryption Signalling Identifiers (-3)
-fs -0 -3 -1 7777777777
DMR with default /dev/dsp input and output, load RC4 and 10-char HBP keys from .csv file (hexidecimal format)
-fs -K dsd-fme\examples\multi_key_hex.csv
P25 with default /dev/dsp input and output, use RC4 key 0x7777777777
-ft -1 7777777777
NXDN48 with default /dev/dsp input and output, use Scrambler key 32767
-fi -R 32767
NXDN96 with default /dev/dsp input and output, use Scrambler key 15000
-fn -R 15000
dPMR with default /dev/dsp input and output, use Scrambler key 32767
-fm -R 32767
NXDN48 with default /dev/dsp input and output, load scrambler keys from .csv file (decimal format)
-fi -k dsd-fme\examples\nxdn_sc_key.csv

View File

@@ -1 +1 @@
These files are ONLY for use on the portable cygwin builds, do not use these in any other build environments!
These .bat files are ONLY for use on the portable cygwin builds, do not use these in any other build environments!

View File

@@ -9,8 +9,8 @@
@REM This software is designed to be used with an SDR receiver (like SDR++ or SDR#) with TCP input,
@REM RTL Input, media file playback over virtual cables or null-sinks, or a Discriminator Tap input
@REM
@REM The complete options list can be seen by entering the following command:
@REM dsd-fme.exe -h
@REM The complete options list can be seen by viewing complete_usage_options.txt
@REM Many examples can be found in example_options.txt
@REM
@REM Enjoy!
@@ -20,7 +20,7 @@
@REM Correct: set "options=-fs -N -Z"
@REM set options to pass to dsd-fme
set "options= -fs -N -Z "
set "options= -N -Z "
@REM Set Date Time for log (sourced from: https://stackoverflow.com/questions/1192476/format-date-and-time-in-a-windows-batch-script)
@echo off