Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
gophertrunk
command
|
|
|
voice-calibrate
command
Command voice-calibrate compares an in-tree Vocoder's PCM output against a reference WAV (DSD-FME, OP25, or similar) decoded from the same compressed-frame source.
|
Command voice-calibrate compares an in-tree Vocoder's PCM output against a reference WAV (DSD-FME, OP25, or similar) decoded from the same compressed-frame source. |
|
internal
|
|
|
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. |
|
api/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. |
|
broadcast
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. |
|
dsp/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). |
|
dsp/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. |
|
dsp/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. |
|
dsp/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. |
|
dsp/fft
Package fft provides a swappable FFT abstraction.
|
Package fft provides a swappable FFT abstraction. |
|
dsp/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. |
|
dsp/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. |
|
dsp/sync
Package sync provides symbol-time recovery and frame sync correlators.
|
Package sync provides symbol-time recovery and frame sync correlators. |
|
dsp/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. |
|
dsp/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. |
|
events
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. |
|
metrics
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. |
|
radio/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. |
|
radio/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. |
|
radio/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). |
|
radio/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. |
|
radio/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. |
|
radio/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). |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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). |
|
radio/dmr/tier2
Package tier2 decodes DMR Tier II conventional traffic.
|
Package tier2 decodes DMR Tier II conventional traffic. |
|
radio/dmr/tier3
Package tier3 decodes DMR Tier III (trunked-mode) Control Signaling Blocks.
|
Package tier3 decodes DMR Tier III (trunked-mode) Control Signaling Blocks. |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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.). |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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). |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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). |
|
radio/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. |
|
radio/mdc1200
Package mdc1200 decodes Motorola MDC1200 signaling bursts.
|
Package mdc1200 decodes Motorola MDC1200 signaling bursts. |
|
radio/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. |
|
radio/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. |
|
radio/motorola
Package motorola decodes Motorola Type II / SmartZone trunked control channels.
|
Package motorola decodes Motorola Type II / SmartZone trunked control channels. |
|
radio/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. |
|
radio/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). |
|
radio/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. |
|
radio/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). |
|
radio/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). |
|
radio/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. |
|
radio/p25/phase1
Package phase1 decodes the P25 Phase 1 (C4FM, FDMA) frame structure.
|
Package phase1 decodes the P25 Phase 1 (C4FM, FDMA) frame structure. |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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). |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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. |
|
radio/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". |
|
scanner/cchunt
Package cchunt is the multi-system control-channel scanner.
|
Package cchunt is the multi-system control-channel scanner. |
|
scanner/conventional
Package conventional is the fixed-frequency analog FM scanner.
|
Package conventional is the fixed-frequency analog FM scanner. |
|
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. |
|
sdr/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. |
|
sdr/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. |
|
sdr/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. |
|
sdr/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. |
|
sdr/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. |
|
sdr/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). |
|
sdr/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. |
|
sdr/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]. |
|
sdr/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. |
|
sdr/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. |
|
sdr/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. |
|
storage
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. |
|
trunking
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. |
|
tui/client
Package client is the TUI's network layer.
|
Package client is the TUI's network layer. |
|
tui/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. |
|
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. |
|
tui/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. |
|
version
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=..."`. |
|
voice
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. |
|
voice/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. |
|
voice/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. |
|
voice/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. |
|
voice/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. |
|
voice/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. |
|
voice/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. |
|
voice/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). |
|
voice/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. |
|
voice/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. |
|
samples
|
|
|
cmd/audio_smoketest
command
Audio-to-bits smoke-test harness for the MPT 1327 control channel.
|
Audio-to-bits smoke-test harness for the MPT 1327 control channel. |
|
Package web embeds the built SPA so the daemon binary can serve the operator console without a sibling `gophertrunk-web/` directory.
|
Package web embeds the built SPA so the daemon binary can serve the operator console without a sibling `gophertrunk-web/` directory. |
Click to show internal directories.
Click to hide internal directories.