paneldiag

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package paneldiag maps the tested Waveshare driver to source-free EPS2 diagnostics. Keep physical phase/step values stable within profile version 1.

Index

Constants

View Source
const (
	Unknown uint8 = iota + 1
	BusyTimeout
	SPIWrite
	Configuration
	FrameSize
	InUse
)

Variables

This section is empty.

Functions

func Describe

func Describe(err error) screenwire.Diagnostic

Describe preserves errors.As/Is evidence through cleanup errors.Join without formatting the underlying error (which may contain device-specific text).

Types

type Trace

type Trace struct {
	// contains filtered or unexported fields
}

Trace observes one serialized panel owner. It retains no pixels, errors, tokens or transaction identities. Snapshot never calls hardware or the clock.

func NewTrace

func NewTrace(now func() time.Time) *Trace

func (*Trace) Snapshot

func (t *Trace) Snapshot() screenwire.PanelStatus

func (*Trace) WrapIO

func (t *Trace) WrapIO(io panel.IO) panel.IO

WrapIO preserves every pin/write/delay callback and forwards each BUSY read exactly once. Only reads inside existing driver waits are counted; a zero LOW count says nothing about the pin during command delays or visible pixels. Exact sequence: https://github.com/waveshareteam/Pico_ePaper_Code/blob/c9bcd84db5adf5f085353649a8a5c31492bc5fb8/c/lib/e-Paper/EPD_7in5_V2.c

func (*Trace) WrapSink

func (t *Trace) WrapSink(sink streamrx.Sink) streamrx.Sink

WrapSink shares this recorder with WrapIO; configure both before owner starts. sink and clock are required, trusted composition dependencies.

Jump to

Keyboard shortcuts

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