mirror of
https://github.com/lwvmobile/dsd-fme.git
synced 2026-11-13 01:07:24 -05:00
Cygwin:
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:
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
202
examples/cygwin_bat/complete_usage_options.txt
Normal file
202
examples/cygwin_bat/complete_usage_options.txt
Normal 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
|
||||
97
examples/cygwin_bat/example_options.txt
Normal file
97
examples/cygwin_bat/example_options.txt
Normal 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
|
||||
@@ -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!
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user