Versions in this module Expand all Collapse all v0 v0.6.0 Jun 14, 2026 Changes in this version + type Config struct + Clock func() time.Time + GlobalMinInterval time.Duration + type DeviceView struct + Bus string + DeviceClass uint8 + DeviceFunction uint8 + DeviceInstance uint8 + Manufacturer string + ManufacturerCode uint16 + ModelID string + NAMEHex string + ProductCode uint16 + Source uint8 + type Engine struct + func New(cfg Config) *Engine + func (e *Engine) AddRule(r Rule) error + func (e *Engine) InterestingPGNs() map[uint32]struct{} + func (e *Engine) OnDeviceOffline(bus string, src uint8) + func (e *Engine) OnDeviceOnline(d DeviceView) []Request + func (e *Engine) OnFrame(bus string, src uint8, pgn uint32, data []byte) []Request + func (e *Engine) Tick() []Request + type Match struct + Bus string + DeviceClass *uint8 + DeviceFunction *uint8 + Manufacturer string + ManufacturerCode uint16 + ModelID string + Name string + Source *uint8 + type Request struct + Bus string + Data []byte + Dst uint8 + PGN uint32 + Priority uint8 + Rule string + Via Via + Want Want + type Rule struct + Dst uint8 + FramePGN uint32 + FramePriority uint8 + FrameTemplate []byte + InvalidateOn []uint32 + Match Match + MaxAge time.Duration + MinInterval time.Duration + Name string + OnOnline bool + SubKeyReadLen int + SubKeyReadOff int + SubKeyWriteLen int + SubKeyWriteOff int + ToDevice bool + Via Via + Wants []Want + type Via int + const ViaFrame + const ViaISORequest + type Want struct + HasSubKey bool + PGN uint32 + SubKey uint32