Call Alert (-a or toggle on/off in ncurses)
--beep sound on radio id change when using ncurses terminal (tied to call history array)
---need to copy tone8.wav and tone24.wav files to /usr/share/ directory and chmod 777 them.
---updated all auto install scripts to copy and chmod as appropriate
----iz4tow, need to update windows tutorials for the wav files, else they won't play
Tweaks/Bug Fix to Call History (specifically DMR) to only set src ids on voice sync, and not on data sync
Manually Set P2 Parameters at CLI (-X BEE00ABC123)
-- use -X (capital X) and then enter WACN/SYSID/CC altogether
--- feature already available in ncurses terminal menu
Update Linux Install Instructions and auto installers to copy/paste wav files into /usr/share/ directory
Other Minor Tweaks
Experimental Symbol Capture Bin Input Throttle
--throttle read speed when reading capture bin files that are still being written to by OP25, quick easy piggyback (-n).
Readme tweaks
Minor tweaks
Phase 2 Audio Decoding Implemented
XDMA decoder class implemented and set to default (-ft)
--decoder class includes P25 1, 2, DMR BS/MS, and X2-TDMA
-- -fr -T option reworked, -T now for Per Call, use -ft (default)
Force Privacy Key
--force privacy key use over system FID and SVC options.
Per call now works on XDMA decoding and NXDN decoding
Limited Phase 1 TSBK and Phase 2 LCCH handling (for Network Status Broadcast)
--Need to get WACN, SYSID, and CC values for Phase 2 descrambling
Fix most of the compiler warnings
Serpen'tera' Privacy now supports 10/32/64 character modes (have to use ncurses terminal to enter 32 or 64 char values)
NXDN Scrambler LFSR
Odd and End Terminal Tweaks
--Easier to use key entry for privacy modes
---Serpen'tera' 10 mode now available
--Slightly improved dmr dibit buffering/inverted dibit buffering
--Tweaks to console and ncurses output regarding FID, SVC, and privacy key values
--fix for RTL optional support (think I have all the ifdef covered now)
--TGT, SRC, FID, SVC, now set on Voice LC Header (not sure why I wasn't before)
--other misc tweaks that I can't recall
Encrypted DMR muted by default now; Can be toggled in Terminal; Will still dump payload on request. Fix Bug in DMR Stereo 'muddy sound' caused by appending audio errs to both left and right channel each pass instead of only when using left or right.
--will not playback audio or write wav files or mbe files when muted
Fix errs and errsR to only append/set in MBE when on that slot, not always
Cleanup the code in the dmr_sync.c file, fix minor code errors.
Include the dsd-fme-qgis-map file for opening with QGIS and importing LRRP data dumped to ~/lrrp.txt
Update the Readme file.
--NCurses Menu (no more tedious CLI options)
--Save/Read Capture Bin (WIP!)
--Read OP25 Capture Bin (WIP!)
--Per Call WAV saving on DMR Stereo
--Revampled Data Header and 1/2, 3/4 Data LRRP
--Dump LRRP Data to text file, import into QGIS
--Included QGIS Map File with layers set up
--DMR CACH and Burst FEC
--No more Port Audio or OSS...ever.
--Switch to 8Khz/1Ch for most decode types due to crisper sound
---DMR Stereo remains at 24/2, will look into revampint upsampe for cleaner sound
Seperate MBE Payload Printing from MBE Saving
--seperate the MBE Payload Printing functions from MBE Saving Function
--no longer need to use -d ./MBE/ to print a MBE Payload
--is currently using -Z for payload printing, may further seperate, make new user switch in future
DMR Stereo Payload Printing
--new method to print voice payloads
--dump DMR Stereo payloads without needing to use -d ./MBE/
--rework how DMR Stereo voice is handled and add extra features to it
--general code cleanup
DMR Stereo TDMA
--play voice in both TDMA slots with the -T option (dsd -fr -T)
--Improved MS voice (mostly working) and data handling (hit or miss)
--pretty pretty colors on the console log output
--rate 3/4 data decoding partially working
Fix Raw Audio Monitoring
--Still crashes Pulse Audio server on Ubuntu/Linux Mint
--PULSE_LATENCY_MSEC=1000 or high value mitigates problem for brief moment, but still crashes
---Issue with Latency, or maybe writing garbage values to pa_simple_write
General Code Cleanup
Tweak NCURSES Printer
Tweak STDERR Printouts
DMR PI Header, NCurses Tweaks, Fun Stuff
--Add PI Header handler, print DMR ALG, KEY, and MI values
--NCurses updates to reflect new DMR and NXDN info available
--Other Fun Stuff a.k.a. Stuff I might have broken or can't remember what I did now
More DMR Staging, Fix MI to Hex in P25
-switch back to 7 octets on AMB payloads
--will break compatibility with 6 octets
-Print MI values as Hex now, not as binary strings
resetState and Minor Ncurses Printer tweak
don't run with -n yet, resets state, using to test to fix when input type changes, but won't decode properly
Add Github Build Version
Work on Pulse Audio System (Testing 2 Channel Stereo Output)
Work on NCurses Terminal (Still Work to Do)
Include install.sh and rebuild.sh scripts
Initial NCURSES Support
Its in there, and can be called with -N, but it doesn't display much yet aside from program name, mbelib, and time.
Just want to upload it so I can test it vs autobuild with cmake requiring ncurses libraries again
More Pulse Audio Tinkering
Had to disable Monitor Source Input
(Was working in Arch, but with some latency/buffer issues, makes LM pulse server crash/restart?)
Add Source Audio Monitoring - But its a Work in Progress
Seriously, though, depending on which setting you have on, it sounds terrible.
Also, make ncurses no longer a requirement for the time being. Still want to work that into this version eventually.
NXDN48 Voice Decoding is Good Now
Just use squelch if using SDR++ or GQRX to feed it. RTL-SDR input mode and NXDN still makes tons of false positives, and doesn't work well at all. May just be a bad signal issue but still think the RTLSDR input uses wrong center freq/tuned freq/"optimizations", need to get back to that some time, maybe also implement squelch settings on rtl_fm mode.
Thanks to LouisErigHerve for his 'Improved NXDN Detection' update on his version, implemented it and works SO MUCH BETTER!
May still disable the if ((state->lastsynctype == 9) || (state->lastsynctype == 17)) condition in dsd_frame_sync.c if I think it leads to more consistent decoding vs false positives. USE SQUELCH!