LedController  2.0.2
A library for the MAX7219 and the MAX7221 Led display drivers.
sakurajin::controller_configuration< columns, rows > Template-Klassenreferenz

Diese Klasse wird zur Konfiguration des sakurajin::LedController verwendet. Mehr ...

#include <LedController_config.hpp>

Zusammengehörigkeiten von sakurajin::controller_configuration< columns, rows >:
Collaboration graph

Öffentliche Methoden

controller_configuration< columns, rows > copy () const noexcept
 Diese Funktion gibt eine Kopie dieser Konfiguration zurück. Mehr ...
 
unsigned int getColumn (unsigned int segmentNumber) const noexcept
 Diese Funktion berechnet die Spalte aus der Segmentnummer. Mehr ...
 
unsigned int getRow (unsigned int segmentNumber) const noexcept
 Diese Funktion berechnet die Zeile aus der Segmentnummer. Mehr ...
 
unsigned int getRowLen () const noexcept
 Gibt die Länge einer Zeile zurück. Mehr ...
 
unsigned int getSegmentNumber (unsigned int column, unsigned int row) const noexcept
 Berechne die Segmentnummer/-index aus den Coordinaten. Mehr ...
 
bool isValid () const noexcept
 Prüft ob diese Konfiguration gültig ist. Mehr ...
 
unsigned int SegmentCount () const noexcept
 Gibt die Anzahl der Segmente zurück (Zeilen*Spalten). Mehr ...
 

Öffentliche, statische Methoden

static bool isValidConfig (const controller_configuration< columns, rows > &conf) noexcept
 Prüfe ob die gegebene Konfiguration gültig ist. Mehr ...
 

Öffentliche Attribute

bool debug_output = false
 Wenn das true ist, werden debug informationen ausgegeben. Mehr ...
 
unsigned int IntensityLevel = 1
 Die aktuelle Helligkeit der LEDs. Mehr ...
 
bool onlySendOnChange = true
 Nur Daten übertragen wenn sich etwas geändert hat. Mehr ...
 
unsigned int row_SPI_CS [rows]
 Dieses Array bestimmt welcher CS Pin für welche Reihe verwendet wird. Mehr ...
 
unsigned int SPI_CLK = 0
 Der pin für das clock Signal (CLK). Mehr ...
 
unsigned int SPI_CS = 0
 Der pin für das chip select Signal (CS). Mehr ...
 
unsigned int SPI_MOSI = 0
 Der pin für das data transfer Signal (MOSI am Board und DIN an der Matrix). Mehr ...
 
uint64_t spiTransferSpeed = 8000000
 Die Geschwindigkeit mit der hardware SPI die Daten übertragen soll. Mehr ...
 
bool useHardwareSpi = false
 true falls hardware SPI genutzt werden soll (schaue https://www.arduino.cc/en/Reference/SPI für die Pin Konfiguration). Mehr ...
 
bool virtual_multi_row = true
 Setze das auf false wenn jede Zeile einen eigenen CS Pin besitzt. Mehr ...
 

Ausführliche Beschreibung

template<size_t columns, size_t rows>
class sakurajin::controller_configuration< columns, rows >

Diese Klasse wird zur Konfiguration des sakurajin::LedController verwendet.

Template-Parameter
columnsDie Anzahl der Spalten, die diese Konfiguration hat.
rowsDie Anzahl der Zeilen, die diese Konfiguration hat.

Definiert in Zeile 31 der Datei LedController_config.hpp.

Dokumentation der Elementfunktionen

◆ copy()

◆ getColumn()

template<size_t columns, size_t rows>
unsigned int sakurajin::controller_configuration< columns, rows >::getColumn ( unsigned int  segmentNumber) const
inlinenoexcept

Diese Funktion berechnet die Spalte aus der Segmentnummer.

Parameter
segmentNumberDie Segmentnummer des gesuchten Segments.
Rückgabe
unsigned int Die Spalte in der das Segment ist.

Definiert in Zeile 215 der Datei LedController_config.hpp.

◆ getRow()

template<size_t columns, size_t rows>
unsigned int sakurajin::controller_configuration< columns, rows >::getRow ( unsigned int  segmentNumber) const
inlinenoexcept

Diese Funktion berechnet die Zeile aus der Segmentnummer.

Parameter
segmentNumberDie Segmentnummer des gesuchten Segments.
Rückgabe
unsigned int Die Zeile in der das Segment ist.

Definiert in Zeile 189 der Datei LedController_config.hpp.

◆ getRowLen()

template<size_t columns, size_t rows>
unsigned int sakurajin::controller_configuration< columns, rows >::getRowLen ( ) const
inlinenoexcept

Gibt die Länge einer Zeile zurück.

Rückgabe
unsigned int Die Länge einer Zeile

Definiert in Zeile 235 der Datei LedController_config.hpp.

◆ getSegmentNumber()

template<size_t columns, size_t rows>
unsigned int sakurajin::controller_configuration< columns, rows >::getSegmentNumber ( unsigned int  column,
unsigned int  row 
) const
inlinenoexcept

Berechne die Segmentnummer/-index aus den Coordinaten.

Parameter
columnDie Spalte in der das Segment ist
rowDie Zeile in der das Segment ist
Rückgabe
unsigned int Die Segmentnummer des segments

Definiert in Zeile 254 der Datei LedController_config.hpp.

◆ isValid()

template<size_t columns, size_t rows>
bool sakurajin::controller_configuration< columns, rows >::isValid ( ) const
inlinenoexcept

Prüft ob diese Konfiguration gültig ist.

Rückgabe
true Die Konfiguration ist gültig.
false Die Konfiguration ist ungültig.

Definiert in Zeile 172 der Datei LedController_config.hpp.

Benutzt sakurajin::controller_configuration< columns, rows >::isValidConfig().

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

◆ isValidConfig()

template<size_t columns, size_t rows>
static bool sakurajin::controller_configuration< columns, rows >::isValidConfig ( const controller_configuration< columns, rows > &  conf)
inlinestaticnoexcept

Prüfe ob die gegebene Konfiguration gültig ist.

Parameter
confDie Konfiguration die geprüft werden soll.
Rückgabe
true Die Konfiguration ist gültig.
false Die Konfiguration ist ungültig.

Definiert in Zeile 300 der Datei LedController_config.hpp.

Benutzt PRINTLN_IF.

◆ SegmentCount()

template<size_t columns, size_t rows>
unsigned int sakurajin::controller_configuration< columns, rows >::SegmentCount ( ) const
inlinenoexcept

Gibt die Anzahl der Segmente zurück (Zeilen*Spalten).

Rückgabe
unsigned int Die Anzahl der Segmente.

Definiert in Zeile 154 der Datei LedController_config.hpp.

Dokumentation der Datenelemente

◆ debug_output

template<size_t columns, size_t rows>
bool sakurajin::controller_configuration< columns, rows >::debug_output = false

Wenn das true ist, werden debug informationen ausgegeben.

Definiert in Zeile 130 der Datei LedController_config.hpp.

◆ IntensityLevel

template<size_t columns, size_t rows>
unsigned int sakurajin::controller_configuration< columns, rows >::IntensityLevel = 1

Die aktuelle Helligkeit der LEDs.

Zu beachten
Der Wert muss zwischen 0 und 15 sein (inklusive Grenzen).

Definiert in Zeile 89 der Datei LedController_config.hpp.

◆ onlySendOnChange

template<size_t columns, size_t rows>
bool sakurajin::controller_configuration< columns, rows >::onlySendOnChange = true

Nur Daten übertragen wenn sich etwas geändert hat.

Wenn dies auf true gesetzt ist, werden Daten nur übertragen, wenn diese von den gespeicherten abweichen.

Definiert in Zeile 112 der Datei LedController_config.hpp.

◆ row_SPI_CS

template<size_t columns, size_t rows>
unsigned int sakurajin::controller_configuration< columns, rows >::row_SPI_CS[rows]

Dieses Array bestimmt welcher CS Pin für welche Reihe verwendet wird.

Steuern von mehreren Zeilen

Warnung
Jeder Eintrag sollte eine einzigartige Nummer haben, wenn nicht kann es zu Problemen führen.

Definiert in Zeile 101 der Datei LedController_config.hpp.

◆ SPI_CLK

template<size_t columns, size_t rows>
unsigned int sakurajin::controller_configuration< columns, rows >::SPI_CLK = 0

Der pin für das clock Signal (CLK).

Warnung
Wenn das 0 ist und useHardwareSpi false ist, ist die Konfiguration ungültig.

Definiert in Zeile 65 der Datei LedController_config.hpp.

◆ SPI_CS

template<size_t columns, size_t rows>
unsigned int sakurajin::controller_configuration< columns, rows >::SPI_CS = 0

Der pin für das chip select Signal (CS).

Warnung
Wenn das 0 ist und useHardwareSpi false ist, ist die Konfiguration ungültig.

Definiert in Zeile 54 der Datei LedController_config.hpp.

◆ SPI_MOSI

template<size_t columns, size_t rows>
unsigned int sakurajin::controller_configuration< columns, rows >::SPI_MOSI = 0

Der pin für das data transfer Signal (MOSI am Board und DIN an der Matrix).

Warnung
Wenn das 0 ist und useHardwareSpi false ist, ist die Konfiguration ungültig.

Definiert in Zeile 43 der Datei LedController_config.hpp.

◆ spiTransferSpeed

template<size_t columns, size_t rows>
uint64_t sakurajin::controller_configuration< columns, rows >::spiTransferSpeed = 8000000

Die Geschwindigkeit mit der hardware SPI die Daten übertragen soll.

Definiert in Zeile 121 der Datei LedController_config.hpp.

◆ useHardwareSpi

template<size_t columns, size_t rows>
bool sakurajin::controller_configuration< columns, rows >::useHardwareSpi = false

true falls hardware SPI genutzt werden soll (schaue https://www.arduino.cc/en/Reference/SPI für die Pin Konfiguration).

Diese Einstellung ist zwar sehr viel schneller, dafür kann nicht jeder PIN für MOSI und CLK verwendet werden. SPI_MOSI und SPI_CLK werden automatisch gesetzt wenn diese Variable true ist

Definiert in Zeile 78 der Datei LedController_config.hpp.

◆ virtual_multi_row

template<size_t columns, size_t rows>
bool sakurajin::controller_configuration< columns, rows >::virtual_multi_row = true

Setze das auf false wenn jede Zeile einen eigenen CS Pin besitzt.

Standardmäßig ist es auf true gesetzt und es wird davon ausgegangen, dass alle Segemnte in Reihe geschaltet sind.

Definiert in Zeile 141 der Datei LedController_config.hpp.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: