Make adjustments to groupinfo struct; Misc tweaks to code using groupinfo items;
Move group_array from stack to heap; Calloc adequate memory for it;
Switch to strncpy to fix potential issues with large strings copying OOB and crashing;
NXDN: Initial GPS Report Commit;
NXDN: Don't assign GI, TG/RID in VCALL_ASSGN; Leads to duplicate entries in Event History, particularly when private call;
NMEA: Sentence Checker with start, end, checksum, and supplimentary string checks P25p1 Tier 1 Location Service and Also observed on old Type-D system;
LRRP: Fix LRRP.exe style reports to use date/time strings with colons and slashes;
NXDN: Tweak to DCALL to check for a selective retry when blk_num is not equal to pf_num and invalidate, we don't have the memory of the last PDU attempt (and may have successfully received it anyways, even if the radio did not);
NXDN: Fix Block Assembly on "idas" types, they do have the same blocking structure;
NXDN: Fix CRC32 and "total_bytes" when padding bytes are present;
NXDN: Add placeholder GPS function and reverse byte load for GPS location data found in certain DCALL messages;
DMR: Init AES keyloader arrays for PDU;
Misc cleanup and tweaks;
Use static array to hold facch1 message after recovery and compare when LICH type calls for 2 individual FACCH1 messages in an NXDN frame;
Zero out facch1_storage on SACCH or SCCH decode (happens first) and after potential comparison time in FACCH1 decode;
NXDN: Tweak to LICH Dibit "Dividing" Error Threshold (1 to 2);
NXDN: Change MessageType to 8-bit and Decoding to Include the F1 and F2 Flag; Make Tweaks for DCR/ARIB Messages to compensate;
NXDN: Frame Sync Tweaks to help reduce false sync patterns; Make Inverted NXDN user option; cmake enabled defines for Type-C, Type-D, and DCR decoding (all enabled by default);
NXDN: Decode DST_ID_INFO Message;
NXDN: Rework Code on Standard Caller Alias and add a 16bit alias variants for ASCII, SJIS, BIG5, or UTF16 alias decoding (configure via cmake, default is ASCII);
NXDN: Seperate PROP_FORM 0x3F from Alias via checkdown;
YSF: Soft Decision Viterbi;
YSF: Fix BUMBLEBEETUNA text string on partial decode;
P25p2: Fix Harris GPS MAC message to fixed len, or do not decode (observed bugfix);
P25p2: Add MFID90 Unknown 0x8F and 0xBF MAC Message;
DOCS: Update complete_usage_options; Remove M17 Encoding Section;
macOS has no OSS (/dev/dsp) support, but dsd-fme currently compiles and links OSS code unconditionally, leading to build and link failures.
This PR:
* disables OSS backend cleanly on macOS
* provides a no-op openOSSOutput() stub to satisfy callers
* guards OSS-specific headers and ioctl usage
* preserves existing behavior on Linux/OSS platforms
This allows dsd-fme to build and run correctly on macOS using PulseAudio/CoreAudio paths.
This does not include DES-XL due to needing to know HDU or LDU2 and complications of SDRtrunk P1 ESS handling, and also unknown Phase 2 method for XL.
Nor TDEA (never observed on P25 despite in spec);
NXDN: Redo NXDN VCALL_ARIB based on observed values and ARIB STD-B54;
Add UTF16 to UTF8 encoding for DMR Talker Alias when its UTF16;
Encoding Unicode / UTF16 to UTF8 Allows for display into Ncurses Terminal, Event History, etc when its CJK and not normal ISO7/ ASCII or UTF8 encoded as UTF16;
Might be beneficial to convert and run all encoded text through UTF8 encode in the future.
MBE: Make tweaks to audio and wav file handling, allow writing to static wav files even if audio out device is NULL (writeSynthesizedVoiceMS);
DSTAR: Fix Issue with DSTAR where double writes would occur in single static .wav files;
Adding a new method to allow a user to enter a generic keystream len and static keystream via a string that is loaded into a bit array to xor against ambe frames;
This method is intended to be used to allow
Reset static_ks_counter as various places in code;
Remove the static_ks_counter reset from KWD SCR link control and tweak SO bits;
Fix Forced KS application to work in both slots;
Allow Static Wav File or Per Call Wav File in SDRTrunk MBE format playback; #298
Same as above for .amb, .dmb, and .imb format playback;
Update Usage and Docs;
Fix Some GPS formats not writing to the event history gps_s string due to mismatching src values (UDT NMEA and LIP);
Fix bug in ComputeCrcCCITT16d where the len value cannot exceed 255 by recasting len as uint32_t instead of uint8_t; #288
Clarify when UDT Data Blocks (R12) is Confirmed or Unconfirmed Data;
Seperate dsd_ncurses.c into dsd_ncurses_printer.c , dsd_ncurses_menu.c , and dsd_ncurses_handler.c files;
Make adjustments as needed to accomodate above;
Work on Handling Special Escape Characters with Ncurses Input Handling to prevent rogue things from happening with scrool wheel, etc;
Prepare to Seperate Ncurses Code and Event History Code into seperate .c files; Move common items to a .h file;
Move event history code to dsd_events.c; Move AFS code to edacs-fme.c; Move beeper code to dsd_audio2.c
Include a simple sh file to startup dsd-fme with opts line, and open log files for multi linux terminal support;
Fix bug with P25p1 MPDU Trunking Blocks setting address values to trigger event history watchdog;
Add an internal string into event history to log internal events of note (ENC LO, errors, etc);
Add a watchdog during any ENC LO event so the event_history will log the call with ENC LO;
Disable AHOY and RSP PDU's from Event History (clogs up the event history with extra info);
Fix DMR p_clear trigger to zero out src and tg values when tuning away;
Fix Hytera Enhanced RC4 (verified working); Misc Tweaks Regarding;
Change the -~ switch to debug mode and -J to the event history file;
Pass slot and swrite value to write_event_to_log_file; Add Slot value to written event log file when swrite is 1 (DMR BS and P25p2);
Misc Consistency Nits;
M17, YSF, DSTAR to save wav files with src and dst as call sign string value and not a numerical value;
Add P25p1 Tier 1 Location and DMR Short Data LOCN Report to Event History; Add MNIS sourced LRRP to Event History;
Don't append truncated TEXT strings to Event String since its full display is directly below it in the Event History;
Add new items to Event History to accomodate above feature;
Tweak misc items regarding above;