mirror of
https://github.com/lwvmobile/dsd-fme.git
synced 2026-11-14 09:47:30 -05:00
Proof Reading; Tweaks;
Proof Read and tweak a few minor things. Add a few #ifdef USE_RTLSDR to make sure it still compiles when not using the rtl support.
This commit is contained in:
@@ -15,7 +15,7 @@ Virtually all the examples listed below can now be set up on the fly with the me
|
||||
|
||||
This release also has provisional support for playing back OP25 capture bin files, and the creation and playback of its own capture bin files as well (most likely not OP25 compatible). Mileage may vary. Be sure to choose the decoder option required when playing a bin file back, do not rely on auto-detect. Capture Bin files can be used to reliably replay P25, DMR BS, and NXDN decodings, and can replace the need for MBE file saving in the case of DMR Stereo, allowing for a complete replay of all events on a system, rather than just voice only.
|
||||
|
||||
Per Call wav file creation has been implemented, currently only for DMR Stereo. Complete audio decode wav is available for all over decoder types. LRRP has been revamped, working more consistently, and an option to dump LRRP data to ~/lrrp.txt in the user home directory now exists, and can be imported into open-source QGIS to provide mapping data for LRRP output. Simply open the newly included map file in QGIS and point it at your geographic region. (Be sure the lrrp.txt file exists, and has data populated in it prior to opening the map file in QGIS, otherwise, the map layer may not want to show back up!)
|
||||
Per Call wav file creation has been implemented, currently only for DMR Stereo. Complete audio decode wav is available for all other decoder types. LRRP has been revamped, working more consistently, and an option to dump LRRP data to ~/lrrp.txt in the user home directory now exists, and can be imported into open-source QGIS to provide mapping data for LRRP output. Simply open the newly included map file in QGIS and point it at your geographic region. (Be sure the lrrp.txt file exists, and has data populated in it prior to opening the map file in QGIS, otherwise, the map layer may not want to show back up!)
|
||||
|
||||
DMR Data Header decoding has been revamped, and most data burst decoding types tightened up and code cleaned. FEC error checking now implemented on CACH and Burst types, cleaning up some erroneous slot and burst errors.
|
||||
|
||||
@@ -47,8 +47,6 @@ and in a second terminal tab, same folder, run
|
||||
|
||||
`tail -n 40 -f voice.log`
|
||||
|
||||

|
||||
|
||||
Then you can open up your pavucontrol "Pulse Audio Volume Control" or "Volume Control" application and route input into DSD-FME from any application and DSD-FME output to the left and right speakers respectively. (unlock the channel in the application stream and adjust left and right independently)
|
||||
|
||||
## Example Usage - RTL2832 Dongle Input
|
||||
@@ -87,6 +85,8 @@ and in a second terminal tab, same folder, run
|
||||
|
||||
`tail -n 40 -f voice.log`
|
||||
|
||||

|
||||
|
||||
## Roadmap
|
||||
The Current list of objectives include:
|
||||
|
||||
@@ -208,7 +208,6 @@ Already have this branch, and just want to pull the latest build? You can run th
|
||||
git pull https://github.com/lwvmobile/dsd-fme pulseaudio
|
||||
##cd into your build folder##
|
||||
cd build
|
||||
##cmake usually isn't necesary, but could be if I update the cmakelist.txt
|
||||
cmake ..
|
||||
make -j `nproc`
|
||||
sudo make install
|
||||
|
||||
@@ -1952,6 +1952,7 @@ void ProcessDmrVoiceLcHeader(dsd_opts * opts, dsd_state * state, uint8_t info[19
|
||||
else if(IrrecoverableErrors == 0)
|
||||
{
|
||||
//FEC okay? Set SVCop code anyways
|
||||
TSVoiceSupFrame->FullLC.DataValidity = 0; //shouldn't matter in this context
|
||||
if (state->currentslot == 0)
|
||||
{
|
||||
state->dmr_so = TSVoiceSupFrame->FullLC.ServiceOptions;
|
||||
|
||||
@@ -200,7 +200,7 @@ char *choices[] = {
|
||||
"Decode D-STAR*",
|
||||
"Decode P25-P1*",
|
||||
"Decode DMR (STEREO BS/MS)",
|
||||
"Decode DMR* (LEH)", //better name
|
||||
"Decode DMR* (LEH)",
|
||||
"Decode dPMR",
|
||||
"Decode NXDN48",
|
||||
"Decode NXDN96",
|
||||
@@ -445,7 +445,7 @@ void ncursesMenu (dsd_opts * opts, dsd_state * state)
|
||||
}
|
||||
if (choicec == 4)
|
||||
{
|
||||
//still disabled until a fix is found
|
||||
//toggle all mutes
|
||||
if (opts->unmute_encrypted_p25 == 0)
|
||||
{
|
||||
opts->unmute_encrypted_p25 = 1;
|
||||
@@ -804,7 +804,7 @@ void ncursesMenu (dsd_opts * opts, dsd_state * state)
|
||||
//endwin(); //causes quick blink in and out of ncursesprinter, not required
|
||||
}
|
||||
|
||||
//Burger King
|
||||
//Cheat Code Entry
|
||||
if (choice == 13)
|
||||
{
|
||||
state->payload_keyid = 0;
|
||||
@@ -1169,7 +1169,7 @@ void ncursesMenu (dsd_opts * opts, dsd_state * state)
|
||||
{
|
||||
openPulseInput(opts);
|
||||
}
|
||||
|
||||
#ifdef USE_RTLSDR
|
||||
if (opts->audio_in_type == 3) //open rtl input if it is the specified input method
|
||||
{
|
||||
ncursesPrinter (opts, state); //run one rep to clear menu boxes out
|
||||
@@ -1180,6 +1180,7 @@ void ncursesMenu (dsd_opts * opts, dsd_state * state)
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
}
|
||||
@@ -1191,7 +1192,7 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state)
|
||||
int level = 0;
|
||||
int c = 0;
|
||||
|
||||
if (opts->audio_in_type != 1) //can't run getch/menues when using STDIN -
|
||||
if (opts->audio_in_type != 1) //can't run getch/menu when using STDIN -
|
||||
{
|
||||
timeout(0);
|
||||
c = getch();
|
||||
@@ -1199,6 +1200,7 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state)
|
||||
|
||||
//testing sending UDP commands to the socket inside of rtl_sdr_fm.cpp
|
||||
//this works, but we will want to make an init func open one time, and have sendto here
|
||||
#ifdef USE_RTLSDR
|
||||
if (temp_freq == opts->rtlsdr_center_freq)
|
||||
{
|
||||
handle = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
|
||||
@@ -1211,6 +1213,7 @@ ncursesPrinter (dsd_opts * opts, dsd_state * state)
|
||||
|
||||
temp_freq = -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
//Variable reset/set section
|
||||
|
||||
|
||||
Reference in New Issue
Block a user