Versions in this module Expand all Collapse all v0 v0.5.0 Jul 27, 2026 v0.4.2 Jul 21, 2026 Changes in this version type P2VoiceFrame + Total int + Uncorrectable int type VoiceCWResult + C0Uncorrectable bool v0.4.1 Jul 20, 2026 v0.4.0 Jul 20, 2026 v0.3.0 Jul 17, 2026 v0.2.0 Jul 14, 2026 v0.1.0 Jul 13, 2026 Changes in this version + const BurstDibits + const DUIDPos0 + const DUIDPos1 + const DUIDPos2 + const DUIDPos3 + const ESSDibits + const ESSOffset + const MACOpActive + const MACOpEndPTT + const MACOpHangtime + const MACOpIdle + const MACOpPTT + const MACOpSignal + const PayloadDibitsPerBurst + const PayloadOffset + const SuperframeBursts + const SuperframeDibits + const SymbolRate + const SyncBits + const SyncDibits + const SyncErrorThreshold + const SyncMagic + const SyncMask + const VCW1Offset + const VCW2Offset + const VCW3Offset + const VCW4Offset + const VoiceCWDibits + var WhichSlot = [SuperframeBursts]int + func GenerateXORMask(nac uint16, sysid uint16, wacn uint32) [SuperframeDibits]p25.Dibit + func PackAMBE(u [4]uint16) [49]uint8 + func PackCW(u [4]uint16) [7]byte + func UnpackCW(cw [7]byte) [4]uint16 + type ACCHType int + const ACCHFacch + const ACCHLcch + const ACCHSacch + type Burst struct + DUID uint8 + Dibits [BurstDibits]p25.Dibit + ISCH ISCHInfo + Raw [BurstDibits]p25.Dibit + Type BurstType + func Descramble(b Burst, mask [SuperframeDibits]p25.Dibit) Burst + type BurstType int + const Burst2V + const Burst4V + const BurstFACCH + const BurstLCCH + const BurstSACCH + const BurstUnknown + func Classify(b Burst) BurstType + func ClassifyByFEC(dibits [BurstDibits]p25.Dibit) BurstType + type Decoder struct + BurstsTotal int + BurstsValid int + VoiceFrames int + func NewDecoder(sampleRate float64) *Decoder + func (d *Decoder) Close() + func (d *Decoder) EVM() float64 + func (d *Decoder) HasKey(algID uint8, keyID uint16) bool + func (d *Decoder) Process(iq []complex64) ([]Burst, []P2VoiceFrame) + func (d *Decoder) Reset() + func (d *Decoder) ResetStats() + func (d *Decoder) SetKeyLookup(fn KeyLookupFunc) + func (d *Decoder) SetScrambleParams(nac uint16, sysid uint16, wacn uint32) + type ESSState struct + AlgID uint8 + KeyID uint16 + MI [9]byte + Valid bool + func NewESSState() *ESSState + func (e *ESSState) BurstPosition() int + func (e *ESSState) Encrypted() bool + func (e *ESSState) Feed(burstType BurstType, dibits [BurstDibits]p25.Dibit) + func (e *ESSState) Reset() + type Framer struct + func NewFramer() *Framer + func (f *Framer) Feed(dibits []p25.Dibit) []Burst + type HDQPSKDemod struct + func NewHDQPSKDemod(sampleRate float64) *HDQPSKDemod + func (d *HDQPSKDemod) CarrierPhase() float64 + func (d *HDQPSKDemod) EVM() float64 + func (d *HDQPSKDemod) Process(in []complex64) []p25.Dibit + func (d *HDQPSKDemod) ResetStats() + type ISCHInfo struct + IsSISCH bool + Location int + Slot int + Valid bool + func DecodeISCH(dibits [SyncDibits]p25.Dibit) ISCHInfo + type KeyLookupFunc func(algID uint8, keyID uint16) (key []byte, ok bool) + type MACPDU struct + AlgID uint8 + Bytes []byte + GPS p25.GPSPosition + GPSOK bool + HasEncryption bool + HasIdentity bool + KeyID uint16 + MI [9]byte + Offset uint8 + Opcode uint8 + ServiceOpts uint8 + SourceID uint32 + Talkgroup uint16 + func DecodeACCH(dibits [BurstDibits]p25.Dibit, typ ACCHType) (*MACPDU, bool) + type P2VoiceFrame struct + AlgID uint8 + ControlOnly bool + Decrypted bool + Encrypted bool + Errs int + GPS p25.GPSPosition + GPSOK bool + IdentityFromMAC bool + KeyID uint16 + MACOpcode uint8 + MI [9]byte + PCM []float32 + ServiceOpts uint8 + Slot int + SourceID uint32 + TalkerAlias string + TalkerAliasTGID uint16 + TalkerAliasUnit uint32 + Talkgroup uint16 + type TDMAProcessor struct + func NewTDMAProcessor() *TDMAProcessor + func (t *TDMAProcessor) Close() + func (t *TDMAProcessor) HasKey(algID uint8, keyID uint16) bool + func (t *TDMAProcessor) ProcessBurst(b Burst) *P2VoiceFrame + func (t *TDMAProcessor) ResetSlot(slot int) + func (t *TDMAProcessor) SetKeyLookup(fn KeyLookupFunc) + func (t *TDMAProcessor) SetScrambleParams(nac uint16, sysid uint16, wacn uint32) + func (t *TDMAProcessor) SetXORMask(mask [SuperframeDibits]p25.Dibit) + type VoiceCWResult struct + Errs int + OK bool + U [4]uint16 + func DecodeVoiceCW(dibits []p25.Dibit) VoiceCWResult