Commit Graph

1123 Commits

Author SHA1 Message Date
ilyacodes e8ec4022dd EDACS: voice channel update emergency refactor 2024-03-26 10:51:59 -04:00
ilyacodes 36d546a87b EDACS EA: Identify calls as voice for display 2024-03-26 09:26:13 -04:00
ilyacodes 8a4677e945 EDACS: fix conditions for refreshing the display source 2024-03-26 09:25:54 -04:00
ilyacodes bb14950c80 EDACS: fix build break 2024-03-25 22:53:55 -04:00
ilyacodes 537b9674cd EDACS: properly identify emergency on channel updates 2024-03-25 22:31:13 -04:00
ilyacodes 10321e556d EDACS: tune all-calls on Standard 2024-03-25 22:20:14 -04:00
ilyacodes 48695509dd EDACS: tune individual calls on Standard 2024-03-25 22:16:42 -04:00
ilyacodes a34ca79651 EDACS: show state for data calls 2024-03-25 22:11:45 -04:00
ilyacodes a604ff794a EDACS: RE some differences from Standard spec 2024-03-25 22:07:45 -04:00
ilyacodes 5fe175f3c2 EDACS: pass call state via new state struct field 2024-03-25 22:06:02 -04:00
ilyacodes ee5b7364c7 EDACS: deduplicate ncurses printing logic 2024-03-25 14:21:02 -04:00
ilyacodes 32e3ce9ad3 EDACS EA: Fix reversed TDMA/data calls 2024-03-25 10:40:14 -04:00
ilyacodes c8d00846b1
EDACS: Display cached call source on Standard, tune group calls on assignment (#241)
* Trim trailing whitespace

* EDACS: Display cached call source on Standard

The logic in `edacs-fme.c` didn't work, in retrospect, because it would have depended on getting back-to-back messages for the same call. In practice, that is unlikely even on an idle system as system state gets displayed.

Instead, cache on the display end, for a "better" user experience.

* EDACS: Pad channel freq to "000.000000 MHz"

* EDACS: Process/tune group calls on assignment
2024-03-24 17:48:46 -04:00
ilyacodes 8d432e8b3e
EDACS: ESK fixes, RE of standard channel assignments, cleanups (#238)
* EDACS: Make i-calls very obvious on standard

* EDACS: abstract target for Interconnect Channel Assignment

* EDACS: little shortcut example updates

* EDACS: Apply ESK to both FR1 and FR4

* EDACS: Group channel assignment by mode

* EDACS: Merge MT-A 0/1 and 2/3 cases
2024-03-24 12:29:22 -04:00
lwvmobile 0440dea1de EDACS: Fix Call History For Standard Maybe; 2024-03-24 02:47:09 -04:00
ilyacodes 208f188e55
EDACS: Speculative RE of MT-A value 0, pretty colours (#231)
* EDACS: fix log formatting

* EDACS: Speculative RE of MT-A value 0

* EDACS: CC message pretty colours

* EDACS: little formatting

* EDACS: eh make interconnect magenta
2024-03-23 21:35:42 -04:00
ilyacodes 36f76a7e21
EDACS: Fix copy/paste error (#230)
I went through by hand and I'm confident this is the last of the `get_lcn_status_string()` errors.
2024-03-23 17:35:45 -04:00
ilyacodes 4bc73d8c68
EDACS: Rewrite Standard/Networked parsing per TIA/EIA TSB 69.3 (#229)
* EDACS EA: refactor log messages for consistency

* EDACS: Log LCN status values

* EDACS EA: channel assignment vs update

* EDACS: Implement TIA/EIA TSB 69.3

* EDACS: clean up Site ID message

* EDACS: Actually process call for Channel Update

* EDACS: Update display for Standard calls

* EDACS: Format of Voice Group Channel Assignment

* EDACS Standard: Log LCN status values

* EDACS: Rebase and fix some issues

* EDACS: Fix copy/paste error
2024-03-23 17:24:32 -04:00
ilyacodes 03507055a4
EDACS: add EA messages / start mass Standard refactor (#226)
* EDACS EA: refactor log messages for consistency

* EDACS EA: channel assignment command (unknown data)

* EDACS EA: status/message command

* EDACS Standard: Refactor variable declarations

* EDACS Standard: log raw payloads for debugging

* EDACS: Fix typing

* EDACS EA: update status/message CC command

* EDACS: Log LCN status values

* EDACS: String format

* EDACS EA: channel assignment vs update

* EDACS: fix syntax error

* EDACS: change string for reserved LCN status
2024-03-23 16:05:09 -04:00
ilyacodes fbe5fd2093
EDACS EA: emergency calls, MT1 fixes, logging improvements (#221)
* EDACS EA: Fix i-call MT1 after ESK changes

* EDACS EA: Fix all-call ncurses display

* EDACS EA: Make detailed log slightly more readable

* EDACS EA: Improve colours in logs

* EDACS EA: Space in logs for consistency

* EDACS EA: Fix MT1 for analog group voice after ESK change

* EDACS EA: add parsing for emergency calls
2024-03-22 15:26:50 -04:00
lwvmobile 413e5f76a2
Merge pull request #220 from lwvmobile/edacs_manual_modes
Edacs manual modes
2024-03-22 06:59:31 -04:00
lwvmobile 388a57d8fc EDACS: Re-enable the -9 switch to maintain user compatability; Fix Missing Bracket on non color mode; 2024-03-22 05:28:11 -04:00
lwvmobile 058099f1aa EDACS: Tweak Mode Toggle Display; Add Frame Dump on No Mode Set; 2024-03-22 03:24:57 -04:00
lwvmobile 68aa6b018e EDACS: Update Docs to Reflect Changes; 2024-03-22 02:19:38 -04:00
lwvmobile c404f3c48c EDACS: Ncurses Display Working Mode Tweaks; 2024-03-22 02:01:09 -04:00
lwvmobile b2d1608eb7 EDACS: Toggle Keys A and S for Mode Selection; 2024-03-22 01:08:28 -04:00
lwvmobile a4553a0a0a EDACS: Remove Auto Detect Code; Make CLI Switches; 2024-03-22 00:45:37 -04:00
ilyacodes de9127cfb4
EDACS: support for EA system all-calls (#214)
* Refactor debug printing a bit

* Clean up group call logic

* Minor changes to debug printing

* EDACS EA: support for system all-calls

* EDACS: split out MT1 for TDMA call since we can't decode it anyway

* Refactor identifying call mode (digital/analog)

* Maintain consistent indentation for all MT1

* EDACS: Fix Compiler Error.

Had an extra right bracket on line 383

---------

Co-authored-by: lwvmobile <59371473+lwvmobile@users.noreply.github.com>
2024-03-21 21:02:53 -04:00
lwvmobile c85dd60399 EDACS: NET/STD LCN > 0 Check; 2024-03-19 17:38:30 -04:00
lwvmobile bed766a86e EDACS: STD/NET Don't Tune Unless CC LCN Set; 2024-03-19 09:34:10 -04:00
ilyacodes 69f532a022
EDACS: EA I-Call decoding improvements (#205)
* EDACS: formatting nit

* EDACS: add name to credits

* EDACS: Handle initial grant vs grant update for i-call

* EDACS: consistency for group vs i-call

* EDACS: file naming for i-call recordings

* EDACS: EA refactor when MT1 is 0x1F

* EDACS: check we know CC LCN before leaving it

* EDACS: fix breaking change for Standard

Revert mistake in f68367c4f3

* Fix patent number

* EDACS: Fix Compiler Error 1;

Fix Rogue Copy Paste

* EDACS: Add MT1, MT2, and FR1 and FR4 Dumps on Payload;

---------

Co-authored-by: lwvmobile <59371473+lwvmobile@users.noreply.github.com>
2024-03-18 11:41:58 -04:00
ilyacodes a7de24c47b
EDACS: fixes and improvements to EA analog and i-call parsing (#204)
* Fix MT1 math given esk_mask value is 0xA0

* EDACS: Clean up formatting for I-Calls

* EDACS: typo, fix the TGID for group calls

Fix copy-pasta

* EDACS: Fix MT2 for I-Calls

Incorrectly copied decimal values as hex - obviously MT2 is only 4 bits so it cannot be greater than 15.

* EDACS: check LCN is > 0 before trying to tune

An EA CC sometimes includes commands that parse as LCN 0 - but otherwise valid - analog call voice grants for TG 1. Since LCN 0 is not valid, ensure that we don't try to tune to them while we try to figure out what they're about.

* EDACS: Process "login" message on CC

Log "login" messages sent on the CC. Verified behaviour against UniTrunker.
2024-03-18 07:47:34 -04:00
ilyacodes 10eacd99cc
EDACS: Clean up formatting for I-Calls (#203)
* Fix MT1 math given esk_mask value is 0xA0

* EDACS: Clean up formatting for I-Calls
2024-03-17 18:56:41 -04:00
ilyacodes ebe6e8fc65
Fix MT1 math given esk_mask value is 0xA0 (#202) 2024-03-17 18:02:12 -04:00
lwvmobile 8619612b76 EDACS: Setup Analog Calls and WAVs on EA and ICALL; 2024-03-16 22:42:44 -04:00
ilyacodes 9ac1573f0b
EDACS: Add MT1 value / logging for analog group calls (#198)
* Add MT1 value / logging for analog group calls

* Respect user preference for tuning to group calls

* Revert "Respect user preference for tuning to group calls"

This reverts commit 83ac8feab7.
2024-03-16 17:17:14 -04:00
ilyacodes 0aa01a45ef
EDACS: Respect user preference for tuning to group calls (#201) 2024-03-16 17:16:52 -04:00
ilyacodes f68367c4f3
EDACS: Add parsing for individual calls (#200)
* EDACS: Add parsing for individual calls

This change adds parsing for I-Calls on EA systems. Both analog and ProVoice modes are parsed and processed. See related issue for discussion.

* Respect user preference for tuning to private calls

* EDACS: Respect user preference for tuning to private calls

* EDACS: Handle i-call target in ProVoice logging

* EDACS: Show i-calls distinctly from group calls
2024-03-16 17:16:20 -04:00
lwvmobile 3a44affc63 Fix/Simplify/Trash Legacy 48k Upsample Functions; 2024-03-15 22:22:06 -04:00
lwvmobile 19be1db46c M17 - IP Frame WIP2; 2024-03-15 19:16:44 -04:00
lwvmobile 7101c3588a M17 - Enable Vox Mode for Voice Stream (testing); 2024-03-15 17:43:53 -04:00
lwvmobile 5573244583 M17 - Transmuting Examples; Add Passive Analog Monitor Mode -fA; 2024-03-15 13:09:56 -04:00
lwvmobile ad1db34c86 M17 - Make Input Rate Configurable via -M M17 User String. 2024-03-15 11:31:33 -04:00
lwvmobile 379cc25099 M17 - Update Example Page to Include Using M17 Encoder/Decoder; 2024-03-14 19:58:41 -04:00
lwvmobile df6a6ce066 M17 - Persistent TCP Retry When M17 Decoding Enabled; 2024-03-14 19:32:07 -04:00
lwvmobile 27735ccc01
Merge pull request #197 from LZ2DMV/patch-1
Update Example_Usage.md
2024-03-14 17:48:14 -04:00
LZ2DMV d614eb088e
Update Example_Usage.md
Add example for recording 48k/1 audio with rtl_fm
2024-03-14 22:47:29 +02:00
lwvmobile f1088e9471 M17 - Fix Symbol Stream to be compatible with m17-packet-encode.c from m17_implelemtations; 2024-03-14 07:10:43 -04:00
lwvmobile f6b8cc71cc M17 - Fix Binary Output to Append; 2024-03-13 10:29:13 -04:00
lwvmobile d35144e0e9 M17 - Fix PKT CRC +1 on len value; Output Binary Bitstream to file with -Q option; 2024-03-13 10:22:55 -04:00