ledgrid

package module
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	LedColorModel color.Model = color.ModelFunc(ledColorModel)
)

Das zum Typ LedColor zugehoerende ColorModel.

Functions

This section is empty.

Types

type LedColor

type LedColor struct {
	R, G, B uint8
}

Dieser Typ wird fuer die Farbwerte verwendet, welche via SPI zu den LED's gesendet werden. Die Daten sind _nicht_ gamma-korrigiert, dies wird erst auf dem Panel-Empfaenger gemacht (pixelcontroller-slave). LedColor implementiert das color.Color Interface.

func (LedColor) Interpolate

func (c LedColor) Interpolate(d LedColor, t float64) LedColor

Berechnet eine RGB-Farbe, welche 'zwischen' den Farben c und d liegt, so dass bei t=0 der Farbwert c und bei t=1 der Farbwert d retourniert wird. t wird vorgaengig auf das Interval [0,1] eingeschraenkt.

func (LedColor) RGB

func (c LedColor) RGB() (r, g, b uint8)

Dient dem schnelleren Zugriff auf das Trippel der drei Farbwerte.

func (LedColor) RGBA

func (c LedColor) RGBA() (r, g, b, a uint32)

RGBA ist Teil des color.Color Interfaces.

type LedGrid

type LedGrid struct {
	// Groesse des LedGrids. Falls dieses LedGrid Teil eines groesseren
	// Panels sein sollte, dann muss Rect.Min nicht unbegingt {0, 0} sein.
	Rect image.Rectangle
	// Enthaelt die Farbwerte red, green, blue (RGB) fuer jede LED, welche
	// das LedGrid ausmachen. Die Reihenfolge entspricht dabei der
	// technischen Umsetzung, d.h. sie beginnt links oben mit der LED Nr. 0,
	// geht dann nach rechts und auf der zweiten Zeile wieder nach links und
	// so schlangenfoermig weiter.
	Pix []uint8
}

Entspricht dem Bild, welches auf einem LED-Panel angezeigt werden kann. Implementiert die Interfaces image.Image und draw.Image, also die Methoden ColorModel, Bounds, At und Set.

func NewLedGrid

func NewLedGrid(r image.Rectangle) *LedGrid

func (*LedGrid) At

func (g *LedGrid) At(x, y int) color.Color

func (*LedGrid) Bounds

func (g *LedGrid) Bounds() image.Rectangle

func (*LedGrid) ColorModel

func (g *LedGrid) ColorModel() color.Model

func (*LedGrid) LedColorAt

func (g *LedGrid) LedColorAt(x, y int) LedColor

Dient dem schnelleren Zugriff auf den Farbwert einer bestimmten Zelle, resp. einer bestimmten LED. Analog zu At(), retourniert den Farbwert jedoch als LedColor-Typ.

func (*LedGrid) PixOffset

func (g *LedGrid) PixOffset(x, y int) int

Damit wird der Offset eines bestimmten Farbwerts innerhalb des Slices Pix berechnet. Dabei wird beruecksichtigt, dass das die LED's im LedGrid schlangenfoermig angeordnet sind, wobei die Reihe mit der LED links oben beginnt.

func (*LedGrid) Set

func (g *LedGrid) Set(x, y int, c color.Color)

func (*LedGrid) SetLedColor

func (g *LedGrid) SetLedColor(x, y int, c LedColor)

Analoge Methode zu Set(), jedoch ohne zeitaufwaendige Konvertierung.

type PixelCtrl

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

Dieser Typ wird client-seitig fuer die Ansteuerung des LedGrid verwendet. Im Wesentlichen ist dies eine Abstraktion der Ansteuerung via UDP.

func NewPixelCtrl

func NewPixelCtrl(host string, port uint) *PixelCtrl

Erzeugt ein neues Controller-Objekt, welches das LedGrid ueber die Adresse in Host und den UDP-Port in Port anspricht.

func (*PixelCtrl) Close

func (p *PixelCtrl) Close()

Schliesst die Verbindung zum Controller.

func (*PixelCtrl) Send

func (p *PixelCtrl) Send(b []byte)

Sendet die Daten im Buffer b zum Controller.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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