internal/

directory
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2026 License: Apache-2.0

Directories

Path Synopsis
api
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 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.
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.
dsp
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.
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.
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 metrics exposes a Prometheus collector for GopherTrunk.
Package metrics exposes a Prometheus collector for GopherTrunk.
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.
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/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/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/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.
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.
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.
sdr
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.
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.
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.
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 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.
tui
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.
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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL