Directories
¶
| Path | Synopsis |
|---|---|
|
Package api exposes GopherTrunk's read + write control surface, the streaming events feed, and the gRPC mirror of the same state.
|
Package api exposes GopherTrunk's read + write control surface, the streaming events feed, and the gRPC mirror of the same state. |
|
rigctld
Package rigctld implements a subset of Hamlib's rigctld TCP wire protocol so external amateur-radio tooling (Cloudlog, N1MM, GridTracker, PSTRotator, satellite trackers, logging programs) can read and set the frequency of one of GopherTrunk's SDRs over the network.
|
Package rigctld implements a subset of Hamlib's rigctld TCP wire protocol so external amateur-radio tooling (Cloudlog, N1MM, GridTracker, PSTRotator, satellite trackers, logging programs) can read and set the frequency of one of GopherTrunk's SDRs over the network. |
|
Package autotune tracks the per-dongle carrier-frequency error of an SDR source and turns it into a digital tuning correction, ported in concept from trunk-recorder's AutotuneManager (trunk-recorder/autotune.cc).
|
Package autotune tracks the per-dongle carrier-frequency error of an SDR source and turns it into a digital tuning correction, ported in concept from trunk-recorder's AutotuneManager (trunk-recorder/autotune.cc). |
|
Package broadcast streams completed trunked-radio calls to external call aggregators — Broadcastify Calls, RdioScanner, OpenMHz — and to live Icecast/ShoutCast audio servers.
|
Package broadcast streams completed trunked-radio calls to external call aggregators — Broadcastify Calls, RdioScanner, OpenMHz — and to live Icecast/ShoutCast audio servers. |
|
Package carriers holds protocol-neutral carrier-discovery primitives: finding candidate carriers in a power spectrum and snapping them onto the standard land-mobile channel rasters.
|
Package carriers holds protocol-neutral carrier-discovery primitives: finding candidate carriers in a power spectrum and snapping them onto the standard land-mobile channel rasters. |
|
Package configbuilder holds the HTTP-free core shared by the web Config Builder (internal/api) and the terminal Config Builder (internal/configtui): talkgroup CSV sidecar IO, the RadioReference→config projection, the canonical section list + validation-error section bucketing, frequency formatting, and the AdvancedJSON field allow-list.
|
Package configbuilder holds the HTTP-free core shared by the web Config Builder (internal/api) and the terminal Config Builder (internal/configtui): talkgroup CSV sidecar IO, the RadioReference→config projection, the canonical section list + validation-error section bucketing, frequency formatting, and the AdvancedJSON field allow-list. |
|
Package configtui is a standalone Bubble Tea terminal Config Builder/Editor that mirrors the web Config Builder (web/configbuilder).
|
Package configtui is a standalone Bubble Tea terminal Config Builder/Editor that mirrors the web Config Builder (web/configbuilder). |
|
crypto
|
|
|
rc4
Package rc4 implements the RC4 stream cipher (also known as ARC4, "alleged RC4") as a keystream generator.
|
Package rc4 implements the RC4 stream cipher (also known as ARC4, "alleged RC4") as a keystream generator. |
|
Package cryptolab is GopherTrunk's optional cryptographic-research toolkit: a set of byte-oriented analysis and brute-force tools for the kinds of obfuscation and weak/keyless ciphers found in RF traffic.
|
Package cryptolab is GopherTrunk's optional cryptographic-research toolkit: a set of byte-oriented analysis and brute-force tools for the kinds of obfuscation and weak/keyless ciphers found in RF traffic. |
|
engine/assess
Package assess is a cryptographic security-test harness for captured RF ciphertext.
|
Package assess is a cryptographic security-test harness for captured RF ciphertext. |
|
engine/brute
Package brute is the toolkit's generic keyspace brute-force engine: pluggable Cipher, KeySpace, and Scorer interfaces driving an ordered, resumable sweep that keeps the top-scoring candidates.
|
Package brute is the toolkit's generic keyspace brute-force engine: pluggable Cipher, KeySpace, and Scorer interfaces driving an ordered, resumable sweep that keeps the top-scoring candidates. |
|
engine/cipherinfo
Package cipherinfo is a knowledge base of the link-layer encryption algorithms used across the trunking protocols GopherTrunk decodes (P25, TETRA, DMR) and their published cryptographic weaknesses.
|
Package cipherinfo is a knowledge base of the link-layer encryption algorithms used across the trunking protocols GopherTrunk decodes (P25, TETRA, DMR) and their published cryptographic weaknesses. |
|
engine/crc
Package crc provides parameterized CRC computation and recovery of CRC parameters from sample (data, crc) frames — the kind of task that comes up identifying the framing/FEC check on an unfamiliar RF protocol.
|
Package crc provides parameterized CRC computation and recovery of CRC parameters from sample (data, crc) frames — the kind of task that comes up identifying the framing/FEC check on an unfamiliar RF protocol. |
|
engine/dmrcrypto
Package dmrcrypto generates the keystreams DMR's link-layer privacy algorithms produce, so the assessment harness and recipe pipeline can attempt DMR decryption the same way p25crypto handles P25.
|
Package dmrcrypto generates the keystreams DMR's link-layer privacy algorithms produce, so the assessment harness and recipe pipeline can attempt DMR decryption the same way p25crypto handles P25. |
|
engine/extcipher
Package extcipher bridges to an external, operator-supplied cipher program so the toolkit can decrypt and brute-force ciphers it does not (and should not) bundle itself — most importantly TETRA TEA1, whose only public implementations are licence-incompatible (AGPL) with this Apache-2.0 project and which must not be re-authored unverified inside a security-test tool.
|
Package extcipher bridges to an external, operator-supplied cipher program so the toolkit can decrypt and brute-force ciphers it does not (and should not) bundle itself — most importantly TETRA TEA1, whose only public implementations are licence-incompatible (AGPL) with this Apache-2.0 project and which must not be re-authored unverified inside a security-test tool. |
|
engine/fit
Package fit holds closed-form byte-function fitters over Z/256: given observed (input → output) byte pairs, find the affine coefficients that best explain them and report how many observations conflict.
|
Package fit holds closed-form byte-function fitters over Z/256: given observed (input → output) byte pairs, find the affine coefficients that best explain them and report how many observations conflict. |
|
engine/gauge
Package gauge models the global affine gauge ambiguity that shows up when a byte-oriented obfuscator's state is recovered from output only: the recovered high byte and multiplier are pinned just up to an affine change of coordinates (Mg·x + Cg with Mg odd, hence invertible mod 256).
|
Package gauge models the global affine gauge ambiguity that shows up when a byte-oriented obfuscator's state is recovered from output only: the recovered high byte and multiplier are pinned just up to an affine change of coordinates (Mg·x + Cg with Mg odd, hence invertible mod 256). |
|
engine/keystream
Package keystream implements keystream-reuse / many-time-pad analysis — the real-world break against additive stream ciphers (P25 DES-OFB and ADP/RC4, TETRA AIE) when a transmitter reuses an initialisation vector.
|
Package keystream implements keystream-reuse / many-time-pad analysis — the real-world break against additive stream ciphers (P25 DES-OFB and ADP/RC4, TETRA AIE) when a transmitter reuses an initialisation vector. |
|
engine/lang
Package lang holds a small embedded English language model used to score candidate plaintexts during cipher solving (e.g.
|
Package lang holds a small embedded English language model used to score candidate plaintexts during cipher solving (e.g. |
|
engine/lfsr
Package lfsr provides stream-cipher / LFSR analysis primitives relevant to RF scramblers and keystream study: Berlekamp–Massey recovery of the shortest LFSR that produces an observed bit sequence, Fibonacci-LFSR generation, and known-plaintext keystream extraction.
|
Package lfsr provides stream-cipher / LFSR analysis primitives relevant to RF scramblers and keystream study: Berlekamp–Massey recovery of the shortest LFSR that produces an observed bit sequence, Fibonacci-LFSR generation, and known-plaintext keystream extraction. |
|
engine/p25crypto
Package p25crypto generates the keystreams P25's link-layer encryption algorithms produce from a key and a Message Indicator (IV).
|
Package p25crypto generates the keystreams P25's link-layer encryption algorithms produce from a key and a Message Indicator (IV). |
|
engine/propagate
Package propagate is the toolkit's fast constraint propagator for the "is the next state a table lookup of some combined index?" family of hypotheses.
|
Package propagate is the toolkit's fast constraint propagator for the "is the next state a table lookup of some combined index?" family of hypotheses. |
|
engine/randomness
Package randomness implements a battery of statistical randomness tests drawn from NIST SP 800-22 (the "STS" suite), specialised for the question an RF analyst actually asks of a captured payload or a recovered keystream: is this stream indistinguishable from random (strong keyed encryption — no weak structure to exploit), or does it carry exploitable structure (a keyless scrambler, a short LFSR, a biased generator)?
|
Package randomness implements a battery of statistical randomness tests drawn from NIST SP 800-22 (the "STS" suite), specialised for the question an RF analyst actually asks of a captured payload or a recovered keystream: is this stream indistinguishable from random (strong keyed encryption — no weak structure to exploit), or does it carry exploitable structure (a keyless scrambler, a short LFSR, a biased generator)? |
|
engine/recipe
Package recipe is a CyberChef-style operation pipeline for RF payloads.
|
Package recipe is a CyberChef-style operation pipeline for RF payloads. |
|
engine/stats
Package stats holds the cipher-agnostic statistical primitives the toolkit uses to triage a captured payload: is it plaintext, a weak classical cipher, an obfuscation, or strong encryption? Plus the repeating-key-XOR key-length estimators (Friedman/Hamming) and a crib-dragging helper for many-time-pad / keystream-reuse analysis.
|
Package stats holds the cipher-agnostic statistical primitives the toolkit uses to triage a captured payload: is it plaintext, a weak classical cipher, an obfuscation, or strong encryption? Plus the repeating-key-XOR key-length estimators (Friedman/Hamming) and a crib-dragging helper for many-time-pad / keystream-reuse analysis. |
|
engine/subst
Package subst solves monoalphabetic substitution ciphers by hill-climbing over the 26! key space, scored by an embedded English n-gram model.
|
Package subst solves monoalphabetic substitution ciphers by hill-climbing over the 26! key space, scored by an embedded English n-gram model. |
|
engine/voice
Package voice provides analog voice-privacy descramblers — the keyless / weak-key spectral schemes still found on RF voice channels.
|
Package voice provides analog voice-privacy descramblers — the keyless / weak-key spectral schemes still found on RF voice channels. |
|
progress
Package progress provides the shared progress-logging and resumable checkpoint helpers used by every cryptolab tool: throttled structured logging for high-volume search loops, an append-only JSONL survivor log, and an atomically-written JSON checkpoint so multi-hour runs survive a kill and resume where they left off.
|
Package progress provides the shared progress-logging and resumable checkpoint helpers used by every cryptolab tool: throttled structured logging for high-volume search loops, an append-only JSONL survivor log, and an atomically-written JSON checkpoint so multi-hour runs survive a kill and resume where they left off. |
|
subjects/motorola
Package motorola implements a cryptolab subject for a length-seeded, keyless, byte-oriented alias obfuscator: the output substitution table and the per-character decode equation are established, while the per-character state update is not.
|
Package motorola implements a cryptolab subject for a length-seeded, keyless, byte-oriented alias obfuscator: the output substitution table and the per-character decode equation are established, while the per-character state update is not. |
|
subjects/nxdn
Package nxdn is a cryptolab subject: it descrambles NXDN's optional 15-bit scrambler and brute-forces the scrambling key.
|
Package nxdn is a cryptolab subject: it descrambles NXDN's optional 15-bit scrambler and brute-forces the scrambling key. |
|
tools
Package tools registers the generic (cipher-agnostic) cryptolab tools — statistical triage, keyspace brute force, LFSR/keystream analysis, CRC parameter recovery, and analog voice descrambling — into the cryptolab registry.
|
Package tools registers the generic (cipher-agnostic) cryptolab tools — statistical triage, keyspace brute force, LFSR/keystream analysis, CRC parameter recovery, and analog voice descrambling — into the cryptolab registry. |
|
webserver
Package webserver is the optional cryptolab web console backend: a self-contained HTTP server that stages uploaded files, runs a selected cryptolab tool/mode with form-supplied settings, streams progress, and returns the structured Result and any artifacts.
|
Package webserver is the optional cryptolab web console backend: a self-contained HTTP server that stages uploaded files, runs a selected cryptolab tool/mode with form-supplied settings, streams progress, and returns the structured Result and any artifacts. |
|
Package diag produces the diagnostic banner and verbose error traces that GopherTrunk prepends to every error surface (CLI, daemon log, HTTP/gRPC API, web UI).
|
Package diag produces the diagnostic banner and verbose error traces that GopherTrunk prepends to every error surface (CLI, daemon log, HTTP/gRPC API, web UI). |
|
blind
Package blind estimates the symbol/baud rate and a coarse modulation class of an unknown carrier directly from its channelized IQ, with no protocol decoder.
|
Package blind estimates the symbol/baud rate and a coarse modulation class of an unknown carrier directly from its channelized IQ, with no protocol decoder. |
|
channelizer
Package channelizer implements an M-channel critically-sampled polyphase channelizer.
|
Package channelizer implements an M-channel critically-sampled polyphase channelizer. |
|
demod
Package demod contains baseband demodulators that convert IQ streams into real-valued symbol streams (or audio, for FM).
|
Package demod contains baseband demodulators that convert IQ streams into real-valued symbol streams (or audio, for FM). |
|
diag
Package diag provides developer/diagnostic helpers — IQ-sample decimation, energy + bandwidth estimation — that feed the web console's Constellation panel.
|
Package diag provides developer/diagnostic helpers — IQ-sample decimation, energy + bandwidth estimation — that feed the web console's Constellation panel. |
|
diversity
Package diversity combines IQ streams from N receivers tuned to the same frequency into a single per-sample IQ stream that's stronger and less faded than any one source.
|
Package diversity combines IQ streams from N receivers tuned to the same frequency into a single per-sample IQ stream that's stronger and less faded than any one source. |
|
equalizer
Package equalizer implements adaptive channel equalizers used to fight simulcast distortion — the inter-symbol interference produced when multiple transmitters cover the same frequency at slightly different arrival delays at the receiver.
|
Package equalizer implements adaptive channel equalizers used to fight simulcast distortion — the inter-symbol interference produced when multiple transmitters cover the same frequency at slightly different arrival delays at the receiver. |
|
fft
Package fft provides a swappable FFT abstraction.
|
Package fft provides a swappable FFT abstraction. |
|
filter
Package filter implements the FIR/CIC/halfband primitives used by the DSP pipeline.
|
Package filter implements the FIR/CIC/halfband primitives used by the DSP pipeline. |
|
iqpower
Package iqpower holds the small, reusable IQ signal-level helpers shared by the decode engines for operator-facing diagnostics: a window-averaged dBFS power measure plus the "looks dead" threshold.
|
Package iqpower holds the small, reusable IQ signal-level helpers shared by the decode engines for operator-facing diagnostics: a window-averaged dBFS power measure plus the "looks dead" threshold. |
|
loudness
Package loudness implements ITU-R BS.1770-4 / EBU R128 integrated loudness measurement and the gain math used for per-call loudness normalization.
|
Package loudness implements ITU-R BS.1770-4 / EBU R128 integrated loudness measurement and the gain math used for per-call loudness normalization. |
|
phase
Package phase holds the small phase-domain helpers the rotation analyses use — the native Go equivalents of numpy.unwrap and the per-symbol differential phase that makes a π/4-DQPSK constellation's rotation visible.
|
Package phase holds the small phase-domain helpers the rotation analyses use — the native Go equivalents of numpy.unwrap and the per-symbol differential phase that makes a π/4-DQPSK constellation's rotation visible. |
|
spectrum
Package spectrum produces frame-rate-limited windowed FFT magnitude frames from a stream of IQ chunks.
|
Package spectrum produces frame-rate-limited windowed FFT magnitude frames from a stream of IQ chunks. |
|
stats
Package stats provides small, dependency-free numerical helpers — the descriptive statistics, histogram, mode, argmax, normalized cross-correlation and peak-finding that the signal-analysis paths reach for.
|
Package stats provides small, dependency-free numerical helpers — the descriptive statistics, histogram, mode, argmax, normalized cross-correlation and peak-finding that the signal-analysis paths reach for. |
|
sync
Package sync provides symbol-time recovery and frame sync correlators.
|
Package sync provides symbol-time recovery and frame sync correlators. |
|
tuner
Package tuner extracts narrow-band baseband IQ for one or more frequency offsets from a single wide-band SDR IQ stream.
|
Package tuner extracts narrow-band baseband IQ for one or more frequency offsets from a single wide-band SDR IQ stream. |
|
window
Package window provides standard window functions for FIR design and FFT pre-processing.
|
Package window provides standard window functions for FIR design and FFT pre-processing. |
|
Package events implements an in-process pub/sub bus used by the engine to publish trunking events.
|
Package events implements an in-process pub/sub bus used by the engine to publish trunking events. |
|
Package hunt is GopherTrunk's site/system "hunting" layer: it turns the output of the signal-lab decoders into a DiscoveredSystem — a structured map of a trunked radio system observed off the air (or from a capture) — and exports that map to standardized files plus a RadioReference.com submission package.
|
Package hunt is GopherTrunk's site/system "hunting" layer: it turns the output of the signal-lab decoders into a DiscoveredSystem — a structured map of a trunked radio system observed off the air (or from a capture) — and exports that map to standardized files plus a RadioReference.com submission package. |
|
Package huntrr cross-references a discovered trunked system against RadioReference: duplicate-system hints plus a frequency/talkgroup diff (offsets and items not yet in RR).
|
Package huntrr cross-references a discovered trunked system against RadioReference: duplicate-system hints plus a frequency/talkgroup diff (offsets and items not yet in RR). |
|
Package metrics exposes a Prometheus collector for GopherTrunk.
|
Package metrics exposes a Prometheus collector for GopherTrunk. |
|
Package pathutil holds filesystem-path helpers shared across the daemon without pulling in any other internal package, so packages like internal/config and internal/configbuilder can both depend on it without an import cycle.
|
Package pathutil holds filesystem-path helpers shared across the daemon without pulling in any other internal package, so packages like internal/config and internal/configbuilder can both depend on it without an import cycle. |
|
radio
|
|
|
adsb
Package adsb decodes Mode S extended-squitter messages transmitted by aircraft transponders on 1090 MHz.
|
Package adsb decodes Mode S extended-squitter messages transmitted by aircraft transponders on 1090 MHz. |
|
adsb/beast
Package beast implements a client for the BEAST binary protocol — the de-facto wire format dump1090, readsb, dump1090-fa, BeastSplitter, and every commercial ADS-B hub speak.
|
Package beast implements a client for the BEAST binary protocol — the de-facto wire format dump1090, readsb, dump1090-fa, BeastSplitter, and every commercial ADS-B hub speak. |
|
adsb/ppm
Package ppm is the native 1090 MHz Mode-S / ADS-B receiver: it demodulates the pulse-position-modulated downlink directly from an IQ stream, with no external dump1090 / readsb required.
|
Package ppm is the native 1090 MHz Mode-S / ADS-B receiver: it demodulates the pulse-position-modulated downlink directly from an IQ stream, with no external dump1090 / readsb required. |
|
ais
Package ais decodes the Automatic Identification System messages commercial vessels broadcast on marine VHF channels 87B / 88B (161.975 / 162.025 MHz).
|
Package ais decodes the Automatic Identification System messages commercial vessels broadcast on marine VHF channels 87B / 88B (161.975 / 162.025 MHz). |
|
ais/gmsk
Package gmsk wires the AIS DSP pipeline together: an IQ stream from the iqtap broker becomes 9600 Bd GMSK audio, then a pre-NRZI bit stream, then HDLC frame bodies, then AIS messages on the events bus.
|
Package gmsk wires the AIS DSP pipeline together: an IQ stream from the iqtap broker becomes 9600 Bd GMSK audio, then a pre-NRZI bit stream, then HDLC frame bodies, then AIS messages on the events bus. |
|
ais/receiver
Package receiver wires the AIS pipeline together: HDLC framer reads bits, validates the trailing CRC-CCITT, unpacks the payload bytes into the MSB-first bit slice the AIS message parser expects, and publishes one events.KindAISMessage per successfully-parsed message.
|
Package receiver wires the AIS pipeline together: HDLC framer reads bits, validates the trailing CRC-CCITT, unpacks the payload bytes into the MSB-first bit slice the AIS message parser expects, and publishes one events.KindAISMessage per successfully-parsed message. |
|
aprs
Package aprs decodes the APRS info-field payload that rides on top of AX.25 (the link layer in package aprs/ax25).
|
Package aprs decodes the APRS info-field payload that rides on top of AX.25 (the link layer in package aprs/ax25). |
|
aprs/afsk
Package afsk wires the APRS DSP pipeline together: an IQ stream from the iqtap broker becomes Bell-202 AFSK audio, then a pre-NRZI bit stream, then HDLC frame bodies, then APRS packets on the events bus.
|
Package afsk wires the APRS DSP pipeline together: an IQ stream from the iqtap broker becomes Bell-202 AFSK audio, then a pre-NRZI bit stream, then HDLC frame bodies, then APRS packets on the events bus. |
|
aprs/ax25
Package ax25 decodes the AX.25 link-layer frames APRS rides on top of.
|
Package ax25 decodes the AX.25 link-layer frames APRS rides on top of. |
|
aprs/hdlc
Package hdlc implements the High-level Data Link Control framing AX.25 (and therefore APRS) wraps its bytes in.
|
Package hdlc implements the High-level Data Link Control framing AX.25 (and therefore APRS) wraps its bytes in. |
|
aprs/receiver
Package receiver wires the APRS pipeline together: HDLC framer reads bits, hands frame bodies to the AX.25 parser, the APRS info-field decoder turns each parsed frame into a typed packet, and the receiver publishes one events.KindAPRSPacket per successfully-parsed UI frame.
|
Package receiver wires the APRS pipeline together: HDLC framer reads bits, hands frame bodies to the AX.25 parser, the APRS info-field decoder turns each parsed frame into a typed packet, and the receiver publishes one events.KindAPRSPacket per successfully-parsed UI frame. |
|
dmr
Package dmr decodes ETSI TS 102 361 (DMR) burst structure: sync patterns, slot-type fields, and Tier II / III control signaling.
|
Package dmr decodes ETSI TS 102 361 (DMR) burst structure: sync patterns, slot-type fields, and Tier II / III control signaling. |
|
dmr/receiver
Package receiver wires the IQ → C4FM dibit chain that feeds the DMR control-channel state machines (Tier II conventional + Tier III trunked).
|
Package receiver wires the IQ → C4FM dibit chain that feeds the DMR control-channel state machines (Tier II conventional + Tier III trunked). |
|
dmr/tier2
Package tier2 decodes DMR Tier II conventional traffic.
|
Package tier2 decodes DMR Tier II conventional traffic. |
|
dmr/tier3
Package tier3 decodes DMR Tier III (trunked-mode) Control Signaling Blocks.
|
Package tier3 decodes DMR Tier III (trunked-mode) Control Signaling Blocks. |
|
dmr/voice
Package voice decodes the DMR voice path: it recognises voice superframes in a dibit stream and extracts the AMBE+2 frames they carry.
|
Package voice decodes the DMR voice path: it recognises voice superframes in a dibit stream and extracts the AMBE+2 frames they carry. |
|
dpmr
Package dpmr decodes dPMR (digital PMR446 / ETSI TS 102 658) Mode 3 trunking signalling.
|
Package dpmr decodes dPMR (digital PMR446 / ETSI TS 102 658) Mode 3 trunking signalling. |
|
dpmr/receiver
Package receiver wires the IQ → C4FM dibit chain that feeds the dPMR Mode 3 control-channel state machine.
|
Package receiver wires the IQ → C4FM dibit chain that feeds the dPMR Mode 3 control-channel state machine. |
|
dsc
Package dsc decodes Digital Selective Calling messages transmitted on marine VHF channel 70 (156.525 MHz) and medium / high-frequency DSC channels (2.187.5 kHz, 8.414.5 kHz, etc.).
|
Package dsc decodes Digital Selective Calling messages transmitted on marine VHF channel 70 (156.525 MHz) and medium / high-frequency DSC channels (2.187.5 kHz, 8.414.5 kHz, etc.). |
|
dsc/ffsk
Package ffsk wires the DSC DSP pipeline together: an IQ stream from the iqtap broker becomes 1200-baud FFSK audio, then a direct-FSK bit stream, then decoded DSC sequences on the events bus.
|
Package ffsk wires the DSC DSP pipeline together: an IQ stream from the iqtap broker becomes 1200-baud FFSK audio, then a direct-FSK bit stream, then decoded DSC sequences on the events bus. |
|
dsc/receiver
Package receiver frames a demodulated DSC bit stream: it slides a 10-bit window through the bits, uses the BCH(10,7) syndrome check to lock onto the phasing-sequence DX characters (value 125, repeating every 20 bits), then samples the DX cadence to recover the 7-bit data symbols, detects the end-of-sequence character, and hands the symbol run to internal/radio/dsc.Decode.
|
Package receiver frames a demodulated DSC bit stream: it slides a 10-bit window through the bits, uses the BCH(10,7) syndrome check to lock onto the phasing-sequence DX characters (value 125, repeating every 20 bits), then samples the DX cadence to recover the 7-bit data symbols, detects the end-of-sequence character, and hands the symbol run to internal/radio/dsc.Decode. |
|
dstar
Package dstar decodes D-STAR (Digital Smart Technology for Amateur Radio) signalling per the JARL D-STAR specification, freely published by the Japanese Amateur Radio League.
|
Package dstar decodes D-STAR (Digital Smart Technology for Amateur Radio) signalling per the JARL D-STAR specification, freely published by the Japanese Amateur Radio League. |
|
dstar/receiver
Package receiver wires the IQ → GMSK bit chain that feeds the D-STAR repeater-channel state machine.
|
Package receiver wires the IQ → GMSK bit chain that feeds the D-STAR repeater-channel state machine. |
|
edacs
Package edacs decodes Enhanced Digital Access Communications System trunked control channels (also marketed as GE-Marc / Ericsson EDACS).
|
Package edacs decodes Enhanced Digital Access Communications System trunked control channels (also marketed as GE-Marc / Ericsson EDACS). |
|
edacs/receiver
Package receiver wires the IQ → GFSK bit chain that feeds the EDACS / GE-Marc control-channel state machine.
|
Package receiver wires the IQ → GFSK bit chain that feeds the EDACS / GE-Marc control-channel state machine. |
|
framing
Package framing provides the bit-level primitives shared across P25, DMR, and NXDN: bit packing, CRC, Hamming, Golay, and convolutional/Viterbi decoders.
|
Package framing provides the bit-level primitives shared across P25, DMR, and NXDN: bit packing, CRC, Hamming, Golay, and convolutional/Viterbi decoders. |
|
location
Package location decodes geographic positions reported over the air by trunked-radio subscriber units — P25 Motorola Unit GPS, L3Harris Talker GPS, and DMR LRRP all ultimately carry a latitude/longitude pair, and several (Tait CCDI, many MOTOTRBO GPS profiles) transport it as a verbatim NMEA-0183 sentence.
|
Package location decodes geographic positions reported over the air by trunked-radio subscriber units — P25 Motorola Unit GPS, L3Harris Talker GPS, and DMR LRRP all ultimately carry a latitude/longitude pair, and several (Tait CCDI, many MOTOTRBO GPS profiles) transport it as a verbatim NMEA-0183 sentence. |
|
lora
Package lora implements a pure-Go LoRa (Semtech CSS) physical-layer modem: chirp synthesis, dechirp/FFT demodulation, the symbol -> bit forward-error-correction chain (Gray, diagonal interleaver, Hamming, whitening, CRC), an explicit-header codec, and a matching modulator used to synthesise test IQ.
|
Package lora implements a pure-Go LoRa (Semtech CSS) physical-layer modem: chirp synthesis, dechirp/FFT demodulation, the symbol -> bit forward-error-correction chain (Gray, diagonal interleaver, Hamming, whitening, CRC), an explicit-header codec, and a matching modulator used to synthesise test IQ. |
|
lora/lorawan
Package lorawan parses the LoRaWAN MAC layer carried in a decoded LoRa PHY payload and, when the operator supplies the device session keys, verifies the message integrity code and decrypts the frame payload.
|
Package lorawan parses the LoRaWAN MAC layer carried in a decoded LoRa PHY payload and, when the operator supplies the device session keys, verifies the message integrity code and decrypts the frame payload. |
|
lora/receiver
Package receiver wires the LoRa PHY decoder onto a live wide-band IQ stream.
|
Package receiver wires the LoRa PHY decoder onto a live wide-band IQ stream. |
|
ltr
Package ltr decodes Logic Trunked Radio (LTR) — the legacy distributed-trunking system invented by E.F. Johnson in the 1970s and still in deployment for utility / industrial fleets.
|
Package ltr decodes Logic Trunked Radio (LTR) — the legacy distributed-trunking system invented by E.F. Johnson in the 1970s and still in deployment for utility / industrial fleets. |
|
ltr/receiver
Package receiver wires the IQ → sub-audible bit chain that feeds the LTR per-repeater state machine.
|
Package receiver wires the IQ → sub-audible bit chain that feeds the LTR per-repeater state machine. |
|
m17
Package m17 decodes the link layer of the M17 digital voice/data protocol — an open, Codec2-based amateur mode (4FSK, 4800 sym/s).
|
Package m17 decodes the link layer of the M17 digital voice/data protocol — an open, Codec2-based amateur mode (4FSK, 4800 sym/s). |
|
m17/receiver
Package receiver wires the M17 link-layer decoder onto a live IQ stream from the iqtap broker.
|
Package receiver wires the M17 link-layer decoder onto a live IQ stream from the iqtap broker. |
|
mdc1200
Package mdc1200 decodes Motorola MDC1200 signaling bursts.
|
Package mdc1200 decodes Motorola MDC1200 signaling bursts. |
|
mdc1200/afsk
Package afsk wires the MDC1200 DSP pipeline together: an IQ stream from the iqtap broker becomes 1200-baud FFSK audio, then an NRZ bit stream, then framed MDC1200 bursts on the events bus.
|
Package afsk wires the MDC1200 DSP pipeline together: an IQ stream from the iqtap broker becomes 1200-baud FFSK audio, then an NRZ bit stream, then framed MDC1200 bursts on the events bus. |
|
mdc1200/receiver
Package receiver frames a demodulated MDC1200 bit stream: it hunts the 40-bit sync word, captures the 112-bit data block(s) that follow, hands each block to internal/radio/mdc1200 for decode, and publishes one events.KindMDC1200Message per burst.
|
Package receiver frames a demodulated MDC1200 bit stream: it hunts the 40-bit sync word, captures the 112-bit data block(s) that follow, hands each block to internal/radio/mdc1200 for decode, and publishes one events.KindMDC1200Message per burst. |
|
motorola
Package motorola decodes Motorola Type II / SmartZone trunked control channels.
|
Package motorola decodes Motorola Type II / SmartZone trunked control channels. |
|
motorola/receiver
Package receiver wires the IQ → MSK bit chain that feeds the Motorola Type II / SmartZone control-channel state machine.
|
Package receiver wires the IQ → MSK bit chain that feeds the Motorola Type II / SmartZone control-channel state machine. |
|
mpt1327
Package mpt1327 decodes MPT 1327 trunked control-channel signaling — the UK / Commonwealth utility trunking system standardised by the UK Department of Trade and Industry's Code of Practice MPT 1327 (1988).
|
Package mpt1327 decodes MPT 1327 trunked control-channel signaling — the UK / Commonwealth utility trunking system standardised by the UK Department of Trade and Industry's Code of Practice MPT 1327 (1988). |
|
mpt1327/receiver
Package receiver wires the IQ → FFSK bit chain that feeds the MPT 1327 control-channel state machine.
|
Package receiver wires the IQ → FFSK bit chain that feeds the MPT 1327 control-channel state machine. |
|
nxdn
Package nxdn decodes NXDN frame structure (TIA-102.AABG / NXDN technical specification rev 1.4).
|
Package nxdn decodes NXDN frame structure (TIA-102.AABG / NXDN technical specification rev 1.4). |
|
nxdn/receiver
Package receiver wires the IQ → C4FM dibit chain that feeds the NXDN control-channel state machine for the 9600-baud 4-FSK variant (the most common deployment; the 4800-baud BFSK variant uses a 2-level slicer and lives in a follow-up).
|
Package receiver wires the IQ → C4FM dibit chain that feeds the NXDN control-channel state machine for the 9600-baud 4-FSK variant (the most common deployment; the 4800-baud BFSK variant uses a 2-level slicer and lives in a follow-up). |
|
p25
Package p25 holds protocol-neutral helpers shared by the P25 Phase 1 and Phase 2 packages.
|
Package p25 holds protocol-neutral helpers shared by the P25 Phase 1 and Phase 2 packages. |
|
p25/motorola
Package motorola holds the Motorola proprietary talker-alias decode shared by the P25 Phase 1 (voice-channel / TDULC link control) and Phase 2 (FACCH-S MAC) paths.
|
Package motorola holds the Motorola proprietary talker-alias decode shared by the P25 Phase 1 (voice-channel / TDULC link control) and Phase 2 (FACCH-S MAC) paths. |
|
p25/phase1
Package phase1 decodes the P25 Phase 1 (C4FM, FDMA) frame structure.
|
Package phase1 decodes the P25 Phase 1 (C4FM, FDMA) frame structure. |
|
p25/phase1/metrics
Package metrics measures P25 Phase 1 demodulator quality.
|
Package metrics measures P25 Phase 1 demodulator quality. |
|
p25/phase1/receiver
Package receiver wires the IQ → dibit chain that feeds either the P25 Phase 1 LDU assembler (voice path) or the control-channel state machine (CC path) — or both at once.
|
Package receiver wires the IQ → dibit chain that feeds either the P25 Phase 1 LDU assembler (voice path) or the control-channel state machine (CC path) — or both at once. |
|
p25/phase1/refcompare
Package refcompare cross-checks GopherTrunk's P25 Phase 1 decode against an external reference decoder (OP25 / DSD-FME) run on the *same* IQ capture.
|
Package refcompare cross-checks GopherTrunk's P25 Phase 1 decode against an external reference decoder (OP25 / DSD-FME) run on the *same* IQ capture. |
|
p25/phase2
Package phase2 decodes P25 Phase 2 traffic-channel framing per TIA-102.BBAB / BBAC.
|
Package phase2 decodes P25 Phase 2 traffic-channel framing per TIA-102.BBAB / BBAC. |
|
p25/phase2/receiver
Package receiver wires the IQ → H-DQPSK dibit chain that feeds the P25 Phase 2 control-channel state machine.
|
Package receiver wires the IQ → H-DQPSK dibit chain that feeds the P25 Phase 2 control-channel state machine. |
|
pager/flex
Package flex decodes Motorola FLEX paging — the high-throughput successor to POCSAG used by most modern paging networks (hospital / EMS dispatch, commercial carriers).
|
Package flex decodes Motorola FLEX paging — the high-throughput successor to POCSAG used by most modern paging networks (hospital / EMS dispatch, commercial carriers). |
|
pager/flex/receiver
Package receiver wires the FLEX protocol layer (sync acquisition, frame-info word, block de-interleaving, BCH, page assembly) onto a live IQ stream from the iqtap broker.
|
Package receiver wires the FLEX protocol layer (sync acquisition, frame-info word, block de-interleaving, BCH, page assembly) onto a live IQ stream from the iqtap broker. |
|
pager/pocsag
Package pocsag decodes POCSAG paging traffic — the dominant wireline FSK paging protocol used by fire / EMS dispatch (Knox tone-out boxes often forward POCSAG text to crews), commercial paging services (now mostly dead in NA but very alive in EU / JP / hospital paging), and amateur DAPNET.
|
Package pocsag decodes POCSAG paging traffic — the dominant wireline FSK paging protocol used by fire / EMS dispatch (Knox tone-out boxes often forward POCSAG text to crews), commercial paging services (now mostly dead in NA but very alive in EU / JP / hospital paging), and amateur DAPNET. |
|
pager/pocsag/receiver
Package receiver wires the POCSAG protocol layer (sync detection, codeword parsing, page assembly) onto a live IQ stream coming off the iqtap broker.
|
Package receiver wires the POCSAG protocol layer (sync detection, codeword parsing, page assembly) onto a live IQ stream coming off the iqtap broker. |
|
tetra
Package tetra decodes TETRA (Terrestrial Trunked Radio) Trunked- Mode Operation (TMO) signalling per ETSI EN 300 392-2.
|
Package tetra decodes TETRA (Terrestrial Trunked Radio) Trunked- Mode Operation (TMO) signalling per ETSI EN 300 392-2. |
|
tetra/receiver
Package receiver wires the IQ → π/4-DQPSK dibit chain that feeds the TETRA TMO control-channel state machine.
|
Package receiver wires the IQ → π/4-DQPSK dibit chain that feeds the TETRA TMO control-channel state machine. |
|
ysf
Package ysf decodes the wire format of Yaesu System Fusion, the amateur-radio digital mode.
|
Package ysf decodes the wire format of Yaesu System Fusion, the amateur-radio digital mode. |
|
ysf/receiver
Package receiver wires the IQ → C4FM dibit chain that feeds the YSF control-channel state machine.
|
Package receiver wires the IQ → C4FM dibit chain that feeds the YSF control-channel state machine. |
|
Package radioreference is a read-only client for RadioReference.com's SOAP web service, used by `gophertrunk hunt` to check whether a discovered trunked system already exists in RadioReference before an operator submits it.
|
Package radioreference is a read-only client for RadioReference.com's SOAP web service, used by `gophertrunk hunt` to check whether a discovered trunked system already exists in RadioReference before an operator submits it. |
|
Package rfscope is protocol-agnostic RF network analysis — "Wireshark for the RF physical layer".
|
Package rfscope is protocol-agnostic RF network analysis — "Wireshark for the RF physical layer". |
|
webserver
Package webserver is the optional rfscope web console backend: a self-contained HTTP server that stages an uploaded IQ capture, runs the rfscope segmentation + analyzers over it, and returns the structured Scene (plus a cryptolab `ks` frames file for any unknown payloads).
|
Package webserver is the optional rfscope web console backend: a self-contained HTTP server that stages an uploaded IQ capture, runs the rfscope segmentation + analyzers over it, and returns the structured Scene (plus a cryptolab `ks` frames file for any unknown payloads). |
|
scanner
|
|
|
ccdecoder
Package ccdecoder is the connector that closes the IQ → control- channel decoder gap listed in the README "Status & known gaps".
|
Package ccdecoder is the connector that closes the IQ → control- channel decoder gap listed in the README "Status & known gaps". |
|
cchunt
Package cchunt is the multi-system control-channel scanner.
|
Package cchunt is the multi-system control-channel scanner. |
|
conventional
Package conventional is the fixed-frequency analog FM scanner.
|
Package conventional is the fixed-frequency analog FM scanner. |
|
dmrlcn
Package dmrlcn implements DMR Tier III trunk autoconfiguration: it learns the LCN→downlink-frequency band plan of a trunked system from observed voice grants (which carry only a Logical Channel Number) and the RF carriers that key up in response, then hot-swaps the learned plan into the running control channel.
|
Package dmrlcn implements DMR Tier III trunk autoconfiguration: it learns the LCN→downlink-frequency band plan of a trunked system from observed voice grants (which carry only a Logical Channel Number) and the RF carriers that key up in response, then hot-swaps the learned plan into the running control channel. |
|
symbolscope
Package symbolscope recovers a live stream of demodulated symbols (the pre-slicer soft waveform plus the sliced dibit decisions) from a wideband IQ feed, for the web console's "Symbol" scope — GopherTrunk's take on OP25's Symbol plot.
|
Package symbolscope recovers a live stream of demodulated symbols (the pre-slicer soft waveform plus the sliced dibit decisions) from a wideband IQ feed, for the web console's "Symbol" scope — GopherTrunk's take on OP25's Symbol plot. |
|
widebandt2
Package widebandt2 monitors several trunked / conventional carriers with a single SDR dongle.
|
Package widebandt2 monitors several trunked / conventional carriers with a single SDR dongle. |
|
Package sdr defines the abstract Device interface for IQ sources and the pool that supervises a fleet of dongles.
|
Package sdr defines the abstract Device interface for IQ sources and the pool that supervises a fleet of dongles. |
|
airspy
Package airspy is a pure-Go driver for the Airspy R2 / Airspy Mini software-defined radios, implementing sdr.Driver and sdr.Device.
|
Package airspy is a pure-Go driver for the Airspy R2 / Airspy Mini software-defined radios, implementing sdr.Driver and sdr.Device. |
|
airspyhf
Package airspyhf is a pure-Go driver for the Airspy HF+ family (Discovery, Dual Port, and the legacy HF+), implementing sdr.Driver and sdr.Device.
|
Package airspyhf is a pure-Go driver for the Airspy HF+ family (Discovery, Dual Port, and the legacy HF+), implementing sdr.Driver and sdr.Device. |
|
baseband
Package baseband adds wideband IQ recording and offline replay to the SDR layer.
|
Package baseband adds wideband IQ recording and offline replay to the SDR layer. |
|
hackrf
Package hackrf is a pure-Go driver for the Great Scott Gadgets HackRF One software-defined radio, implementing the sdr.Driver and sdr.Device interfaces.
|
Package hackrf is a pure-Go driver for the Great Scott Gadgets HackRF One software-defined radio, implementing the sdr.Driver and sdr.Device interfaces. |
|
iqtap
Package iqtap fans an SDR's IQ stream out to additional observers without disturbing the primary consumer's StreamIQ contract.
|
Package iqtap fans an SDR's IQ stream out to additional observers without disturbing the primary consumer's StreamIQ contract. |
|
ka9qradio
Package ka9qradio implements an sdr.Driver that consumes a channel from a remote ka9q-radio `radiod` instance over IP multicast, in pure Go with no CGO.
|
Package ka9qradio implements an sdr.Driver that consumes a channel from a remote ka9q-radio `radiod` instance over IP multicast, in pure Go with no CGO. |
|
rtlsdr/purego
Package purego is the pure-Go RTL-SDR driver — the sdr.Device / sdr.Driver implementation that composes the platform USB transport (internal/sdr/rtlsdr/usb), the RTL2832U register layer (internal/sdr/rtlsdr/rtl2832u), and the per-chip tuner drivers (internal/sdr/rtlsdr/tuners).
|
Package purego is the pure-Go RTL-SDR driver — the sdr.Device / sdr.Driver implementation that composes the platform USB transport (internal/sdr/rtlsdr/usb), the RTL2832U register layer (internal/sdr/rtlsdr/rtl2832u), and the per-chip tuner drivers (internal/sdr/rtlsdr/tuners). |
|
rtlsdr/rtl2832u
Package rtl2832u is the pure-Go register / I2C-bridge layer that sits between the platform USB transport (internal/sdr/rtlsdr/usb) and the per-tuner drivers.
|
Package rtl2832u is the pure-Go register / I2C-bridge layer that sits between the platform USB transport (internal/sdr/rtlsdr/usb) and the per-tuner drivers. |
|
rtlsdr/tuners
Package tuners houses the per-chip tuner drivers that sit between the RTL2832U register layer (internal/sdr/rtlsdr/rtl2832u) and the top-level [sdr.Device].
|
Package tuners houses the per-chip tuner drivers that sit between the RTL2832U register layer (internal/sdr/rtlsdr/rtl2832u) and the top-level [sdr.Device]. |
|
rtlsdr/usb
Package usb is the platform-abstraction layer that the pure-Go RTL-SDR driver speaks to.
|
Package usb is the platform-abstraction layer that the pure-Go RTL-SDR driver speaks to. |
|
rtltcp
Package rtltcp implements an sdr.Driver that talks to a remote rtl_tcp server.
|
Package rtltcp implements an sdr.Driver that talks to a remote rtl_tcp server. |
|
soapyremote
Package soapyremote implements an sdr.Driver that talks to a remote SoapySDRServer (from pothosware/SoapyRemote) in pure Go, with no CGO and no SoapySDR C libraries.
|
Package soapyremote implements an sdr.Driver that talks to a remote SoapySDRServer (from pothosware/SoapyRemote) in pure Go, with no CGO and no SoapySDR C libraries. |
|
wbvoice
Package wbvoice puts P25 / DMR voice grants on the same SDR that's hosting a trunked control channel via the wideband channelizer.
|
Package wbvoice puts P25 / DMR voice grants on the same SDR that's hosting a trunked control channel via the wideband channelizer. |
|
Package sigfollow decodes the MAC signalling that rides a P25 Phase 2 traffic channel — talker alias, in-call source / encryption — off the channel's signalling stream, independent of whether a voice tuner is recording the call.
|
Package sigfollow decodes the MAC signalling that rides a P25 Phase 2 traffic channel — talker alias, in-call source / encryption — off the channel's signalling stream, independent of whether a voice tuner is recording the call. |
|
Package siglab is the offline signal replay / testing / analysis core shared by the gophertrunk replay, analyze, gen, test and siglab-TUI subcommands.
|
Package siglab is the offline signal replay / testing / analysis core shared by the gophertrunk replay, analyze, gen, test and siglab-TUI subcommands. |
|
sigref
Package sigref is SigLab's offline signal-identification reference database — a small, curated catalog (Artemis / sigidwiki in spirit) that names a carrier by its band, bandwidth, modulation, and symbol rate even when no decoder locks.
|
Package sigref is SigLab's offline signal-identification reference database — a small, curated catalog (Artemis / sigidwiki in spirit) that names a carrier by its band, bandwidth, modulation, and symbol rate even when no decoder locks. |
|
ADS-B / aircraft log writer — drains KindAircraftReport events off the shared bus and writes one row per decoded Mode-S frame to the SQLite aircraft_log table.
|
ADS-B / aircraft log writer — drains KindAircraftReport events off the shared bus and writes one row per decoded Mode-S frame to the SQLite aircraft_log table. |
|
Package survey turns a detected carrier into a classified signal.
|
Package survey turns a detected carrier into a classified signal. |
|
Package trunking holds the cross-protocol orchestration: System definitions, control-channel hunting, talkgroup priority, voice grant following, and (later) multi-site neighbor tracking.
|
Package trunking holds the cross-protocol orchestration: System definitions, control-channel hunting, talkgroup priority, voice grant following, and (later) multi-site neighbor tracking. |
|
Package tui is the GopherTrunk TUI — a read-only operator view over the daemon's REST + SSE API.
|
Package tui is the GopherTrunk TUI — a read-only operator view over the daemon's REST + SSE API. |
|
client
Package client is the TUI's network layer.
|
Package client is the TUI's network layer. |
|
panels
Package panels contains the eight read-only panels rendered by the TUI.
|
Package panels contains the eight read-only panels rendered by the TUI. |
|
state
Package state holds the SharedState struct and PanelKind enum so the root tui package and panels sub-package can both import it without an import cycle.
|
Package state holds the SharedState struct and PanelKind enum so the root tui package and panels sub-package can both import it without an import cycle. |
|
theme
Package theme owns the TUI's semantic colour palette and the derived high-level lipgloss styles.
|
Package theme owns the TUI's semantic colour palette and the derived high-level lipgloss styles. |
|
Package version exposes build metadata injected at link time via `go build -ldflags "-X ...Version=..." -ldflags "-X ...Commit=..." -ldflags "-X ...BuildTime=..."`.
|
Package version exposes build metadata injected at link time via `go build -ldflags "-X ...Version=..." -ldflags "-X ...Commit=..." -ldflags "-X ...BuildTime=..."`. |
|
Package voice provides the voice-decoding plumbing that sits between the trunking engine and the audio output / recording layer.
|
Package voice provides the voice-decoding plumbing that sits between the trunking engine and the audio output / recording layer. |
|
ambe2
Package ambe2 is the in-progress pure-Go AMBE+2 2400 bps voice decoder used by P25 Phase 2, DMR (Tier II / III), and NXDN voice frames.
|
Package ambe2 is the in-progress pure-Go AMBE+2 2400 bps voice decoder used by P25 Phase 2, DMR (Tier II / III), and NXDN voice frames. |
|
calibrate
Package calibrate compares an in-tree Vocoder's PCM output against a reference WAV (typically produced by DSD-FME or OP25) from the same raw vocoder-frame source.
|
Package calibrate compares an in-tree Vocoder's PCM output against a reference WAV (typically produced by DSD-FME or OP25) from the same raw vocoder-frame source. |
|
composer
Package composer bridges the trunking engine's CallStart events to the per-call demod chain that turns IQ samples on a freshly-tuned Voice device into 16-bit PCM the recorder can write.
|
Package composer bridges the trunking engine's CallStart events to the per-call demod chain that turns IQ samples on a freshly-tuned Voice device into 16-bit PCM the recorder can write. |
|
cryptocap
Package cryptocap is the bridge from GopherTrunk's live decoders to the offline cryptolab toolkit.
|
Package cryptocap is the bridge from GopherTrunk's live decoders to the offline cryptolab toolkit. |
|
dvsi
Package dvsi implements the DVSI USB-3000 / AMBE-3003 hardware vocoder backend.
|
Package dvsi implements the DVSI USB-3000 / AMBE-3003 hardware vocoder backend. |
|
imbe
Package imbe is the pure-Go IMBE 4400 bps voice decoder used by P25 Phase 1 LDU1 / LDU2 frames.
|
Package imbe is the pure-Go IMBE 4400 bps voice decoder used by P25 Phase 1 LDU1 / LDU2 frames. |
|
mbe
Package mbe is the shared Multi-Band Excitation synthesis core used by GopherTrunk's IMBE 4400 (P25 Phase 1) and AMBE+2 2400 (P25 Phase 2 / DMR / NXDN) decoders.
|
Package mbe is the shared Multi-Band Excitation synthesis core used by GopherTrunk's IMBE 4400 (P25 Phase 1) and AMBE+2 2400 (P25 Phase 2 / DMR / NXDN) decoders. |
|
mp3
Package mp3 provides a pure-Go MP3 encoder used to compress completed call audio before it is streamed to broadcast aggregators (Broadcastify Calls, RdioScanner, OpenMHz, Icecast).
|
Package mp3 provides a pure-Go MP3 encoder used to compress completed call audio before it is streamed to broadcast aggregators (Broadcastify Calls, RdioScanner, OpenMHz, Icecast). |
|
player
Package player is the live-audio sink that turns int16 PCM coming out of the per-call composer / conventional scanner into sound out of the host's speakers.
|
Package player is the live-audio sink that turns int16 PCM coming out of the per-call composer / conventional scanner into sound out of the host's speakers. |
|
toneout
Package toneout detects fire/EMS paging tones — Two-Tone Sequential (Motorola Quick Call II), single-tone, and DTMF — over the PCM stream produced by the voice composer, and emits events.KindToneAlert when a configured profile matches.
|
Package toneout detects fire/EMS paging tones — Two-Tone Sequential (Motorola Quick Call II), single-tone, and DTMF — over the PCM stream produced by the voice composer, and emits events.KindToneAlert when a configured profile matches. |
Click to show internal directories.
Click to hide internal directories.