Documentation ¶
Index ¶
- Variables
- type LedColor
- type LedGrid
- func (g *LedGrid) At(x, y int) color.Color
- func (g *LedGrid) Bounds() image.Rectangle
- func (g *LedGrid) ColorModel() color.Model
- func (g *LedGrid) LedColorAt(x, y int) LedColor
- func (g *LedGrid) PixOffset(x, y int) int
- func (g *LedGrid) Set(x, y int, c color.Color)
- func (g *LedGrid) SetLedColor(x, y int, c LedColor)
- type PixelCtrl
Constants ¶
This section is empty.
Variables ¶
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 ¶
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.
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 (*LedGrid) ColorModel ¶
func (*LedGrid) LedColorAt ¶
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 ¶
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) SetLedColor ¶
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 ¶
Erzeugt ein neues Controller-Objekt, welches das LedGrid ueber die Adresse in Host und den UDP-Port in Port anspricht.