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

Diese Klasse bietet ein Interface zur Steuerung von MAX7219 uns MAX7221 LED Displaytreibern. Mehr ...

#include <LedController_template.hpp>

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

Öffentliche Methoden

void activateAllSegments () noexcept
 Aktiviere alle Segmente. Mehr ...
 
void activateSegment (unsigned int segmentNumber) noexcept
 Aktiviere ein Segment. Mehr ...
 
void clearMatrix () noexcept
 leere alle Segmente (alle LEDs aus). Mehr ...
 
void clearSegment (unsigned int segmentNumber) noexcept
 leere ein Segment (alle LEDs aus). Mehr ...
 
void displayOnSegment (unsigned int column, unsigned int row_num, sakurajin::ByteBlock data) noexcept
 Zeige einen gegebenen sakurajin::ByteBlock auf einem Segemnt an (setzte alle 8 Zeilen). Mehr ...
 
void displayOnSegment (unsigned int segmentindex, sakurajin::ByteBlock data) noexcept
 Zeige einen gegebenen sakurajin::ByteBlock auf einem Segemnt an (setzte alle 8 Zeilen). Mehr ...
 
const sakurajin::controller_configuration< columns, rows > & getConfig () noexcept
 Hole die Konfiguration des LedController. Mehr ...
 
byte getRow (unsigned int segmentNumber, unsigned int row) noexcept
 Hole den Zustand einer Reihe eines Segments. Mehr ...
 
unsigned int getSegmentCount () noexcept
 Hole die geasmate Anzahl der konfigurierten Segmenten. Mehr ...
 
sakurajin::ByteBlock getSegmentData (unsigned int column, unsigned int row_num) noexcept
 Hole den Zustand eines Segments. Mehr ...
 
void getSegmentData (unsigned int column, unsigned int row_num, sakurajin::ByteBlock *resultLocation) noexcept
 
sakurajin::ByteBlock getSegmentData (unsigned int segmentindex) noexcept
 Hole den Zustand eines Segments. Mehr ...
 
void getSegmentData (unsigned int segmentindex, sakurajin::ByteBlock *resultLocation) noexcept
 
void init (const sakurajin::controller_configuration< columns, rows > &configuration) noexcept
 Initialisiere einen LedController mit einer gegebenen Konfiguration. Mehr ...
 
void init (unsigned int csPin) noexcept
 Initialisiere den LedController für Nutzung mit hardware SPI. Mehr ...
 
void init (unsigned int dataPin, unsigned int clkPin, unsigned int csPin, bool useHardwareSpi=false) noexcept
 Initialisiere einen LedController Objekt mit gegeben Pins. Mehr ...
 
bool isInitilized () noexcept
 gibt den Status des LedController zurück. Mehr ...
 
 LedController () noexcept
 Erstelle einen neuen LedController ohne etwas zu initialisieren. Mehr ...
 
 LedController (const LedController &other) noexcept
 Der Kopierkonstruktor für den LedController. Mehr ...
 
 LedController (const sakurajin::controller_configuration< columns, rows > &configuration) noexcept
 Erstelle ein neues LedController Objekt aus einer Konfiguration. Mehr ...
 
 LedController (unsigned int csPin) noexcept
 Erstelle einen neuen LedController für die Nutzung mit hardwareSPI. Mehr ...
 
 LedController (unsigned int dataPin, unsigned int clkPin, unsigned int csPin, bool useHardwareSpi=false) noexcept
 Konstruiere ein neues LedController Objekt mit gegeben Pins. Mehr ...
 
sakurajin::ByteBlock makeColumns (sakurajin::ByteBlock rowArray) noexcept
 Wandelt einen Block aus Zeilen in einen Block aus Spalten. Mehr ...
 
void makeColumns (sakurajin::ByteBlock rowArray, sakurajin::ByteBlock *columnArray) noexcept
 
byte moveColumnDown (byte shiftedInRow=0x00, unsigned int col_num=0) noexcept
 schiebt die Daten einer Spalte eins nach unten. Mehr ...
 
byte moveColumnUp (byte shiftedInRow=0x00, unsigned int col_num=0) noexcept
 schiebt die Daten einer Spalte eins nach oben. Mehr ...
 
sakurajin::ByteRow< columns > moveDown () noexcept
 Schibet die Daten eins nach unten und 0x00 wird oben reingeschoben. Mehr ...
 
sakurajin::ByteRow< columns > moveDown (const sakurajin::ByteRow< columns > &shiftedInColumn) noexcept
 Schiebt alle Splaten eins nach unten. Mehr ...
 
void moveDown (const sakurajin::ByteRow< columns > &shiftedInRow, sakurajin::ByteRow< columns > *shiftedOutRow) noexcept
 
void moveDown (sakurajin::ByteRow< columns > *shiftedOutRow) noexcept
 
sakurajin::ByteRow< rows > moveLeft () noexcept
 Schibet die Daten eins nach links und 0x00 wird recht reingeschoben. Mehr ...
 
byte moveLeft (byte shiftedInColumn) noexcept
 
sakurajin::ByteRow< rows > moveLeft (const sakurajin::ByteRow< rows > &shiftedInColumn) noexcept
 Schiebt alle Reihen eins nach links. Mehr ...
 
void moveLeft (const sakurajin::ByteRow< rows > &shiftedInColumn, sakurajin::ByteRow< rows > *shiftedOutColumn) noexcept
 
sakurajin::ByteRow< rows > moveRight () noexcept
 Schibet die Daten eins nach rechts und 0x00 wird links reingeschoben. Mehr ...
 
byte moveRight (byte shiftedInColumn) noexcept
 
sakurajin::ByteRow< rows > moveRight (const sakurajin::ByteRow< rows > &shiftedInColumn) noexcept
 Schiebt alle Reihen eins nach rechts. Mehr ...
 
void moveRight (const sakurajin::ByteRow< rows > &shiftedInColumn, sakurajin::ByteRow< rows > *shiftedOutColumn) noexcept
 
byte moveRowLeft (byte shiftedInColumn=0x00, unsigned int row_num=0) noexcept
 schiebt die Daten einer Zeile eins nach links. Mehr ...
 
byte moveRowRight (byte shiftedInColumn=0x00, unsigned int row_num=0) noexcept
 schiebt die Daten einer Zeile eins nach rechts. Mehr ...
 
sakurajin::ByteRow< columns > moveUp () noexcept
 Schibet die Daten eins nach oben und 0x00 wird unten reingeschoben. Mehr ...
 
sakurajin::ByteRow< columns > moveUp (const sakurajin::ByteRow< columns > &shiftedInColumn) noexcept
 Schiebt alle Splaten eins nach oben. Mehr ...
 
void moveUp (const sakurajin::ByteRow< columns > &shiftedInRow, sakurajin::ByteRow< columns > *shiftedOutRow) noexcept
 
void moveUp (sakurajin::ByteRow< columns > *shiftedOutRow) noexcept
 
void refreshSegment (unsigned int segmentNumber) noexcept
 Lädt eine Segment neu (zurücksetzten und dann updaten). Mehr ...
 
void refreshSegments () noexcept
 Lädt alle Segmente neu (zurücksetzten und dann updaten). Mehr ...
 
void resetMatrix () noexcept
 aktiviere alle Segmente, setzte alle auf die gleiche Helligkeit und leere den Inhalt. Mehr ...
 
byte reverse (byte input) noexcept
 Diese Funktion ändert die Bitreihnfolge eines Bytes bzw. Mehr ...
 
sakurajin::ByteBlock reverse (sakurajin::ByteBlock input) noexcept
 Diese Funktion kehrt die Reihnfolge der einzelnen Zeilen um (spiegeln in x-Richtung). Mehr ...
 
void reverse (sakurajin::ByteBlock input, sakurajin::ByteBlock *reversedInput) noexcept
 
sakurajin::ByteBlock rotate180 (sakurajin::ByteBlock input) noexcept
 rotiert einen sakurajin::ByteBlock um 180 Grad Mehr ...
 
void rotate180 (sakurajin::ByteBlock input, sakurajin::ByteBlock *rotatedInput) noexcept
 
void setChar (unsigned int segmentNumber, unsigned int digit, char value, boolean dp) noexcept
 Setzte ein Zeichen auf einem 7-Segment display. Mehr ...
 
void setColumn (unsigned int segmentNumber, unsigned int col, byte value) noexcept
 Setzte eine Spalte eines Segments. Mehr ...
 
void setDigit (unsigned int segmentNumber, unsigned int digit, byte value, boolean dp) noexcept
 Setzte eine Hexadecimalziffer auf einem 7-Segment Display. Mehr ...
 
void setIntensity (unsigned int newIntesityLevel) noexcept
 Setzt die Helligkeit der gesamten Matrix auf den gegebenen Wert. Mehr ...
 
void setLed (unsigned int segmentNumber, unsigned int row, unsigned int column, boolean state) noexcept
 Setzte eine einzalne Led auf einen bestimmten Wert. Mehr ...
 
void setRow (unsigned int segmentNumber, unsigned int row, byte value) noexcept
 Setze eine Reihe eines Segments. Mehr ...
 
void setScanLimit (unsigned int segmentNumber, unsigned int limit) noexcept
 Setzte die Anzahl der Zeilen/Stellen, die auf einem Segment angezeigt werden. Mehr ...
 
void shutdownAllSegments () noexcept
 Deaktiviere alle Segmente. Mehr ...
 
void shutdownSegment (unsigned int segmentNumber) noexcept
 Deaktiviere ein Segment. Mehr ...
 
void updateSegment (unsigned int segmentNumber) noexcept
 Lädt den Inhalt der internen Daten auf ein Segmente hoch. Mehr ...
 
void updateSegments () noexcept
 Lädt den Inhalt der internen Daten auf alle Segmente hoch. Mehr ...
 
 ~LedController () noexcept
 Zerstöre das Objekt und leere den Speicher. Mehr ...
 

Geschützte Methoden

void initConf () noexcept
 Initialisiere die Konfiguration. Mehr ...
 
void initSPI () noexcept
 Initialisiere die SPI Ausgabe. Mehr ...
 
void resetBuffers () noexcept
 Initialisiere die internen Puffer des LedController. Mehr ...
 
void setIntensity (unsigned int segmentNumber, unsigned int newIntesityLevel) noexcept
 Setzte die Helligkeit eines Segments. Mehr ...
 
void spiTransfer (unsigned int segment, byte opcode, byte data) noexcept
 Diese Funktion überträgt einen Befehl an das angeschlosssene Modul. Mehr ...
 

Geschützte Attribute

sakurajin::controller_configuration< columns, rows > conf
 Die Konfiguration des LedController. Mehr ...
 
bool initilized = false
 True wenn, der LedController vollständig initialisiert ist. Mehr ...
 
sakurajin::ByteBlock LedStates [columns *rows]
 Dieses Array beinhaltet den Status von allen LEDs. Mehr ...
 
byte spidata [rows *columns *2]
 Das Array was benötigt wird, um Daten auf das Gerät zu übertragen. Mehr ...
 

Ausführliche Beschreibung

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

Diese Klasse bietet ein Interface zur Steuerung von MAX7219 uns MAX7221 LED Displaytreibern.

Noch zu erledigen:
make it threading safe

Diese Steuerundsklasse fokusiert sich primär auf Led Matrizen bestehend aus mehr als einem Segment. Auch wenn sie 7-Segmentanzeigen steuern kann ist dies nicht getestet.

Warnung
Diese Klasses ist nicht therding-sicher.

Definiert in Zeile 40 der Datei LedController_template.hpp.

Beschreibung der Konstruktoren und Destruktoren

◆ LedController() [1/5]

template<size_t columns, size_t rows>
sakurajin::LedController< columns, rows >::LedController
noexcept

Erstelle einen neuen LedController ohne etwas zu initialisieren.

Definiert in Zeile 9 der Datei LedController_core.hpp.

◆ LedController() [2/5]

template<size_t columns, size_t rows>
sakurajin::LedController< columns, rows >::LedController ( unsigned int  csPin)
noexcept

Erstelle einen neuen LedController für die Nutzung mit hardwareSPI.

Zu beachten
Nur virtualMultiRow ist mit diesem Konstruktor möglich. Eine angepasste Konfiguration ist notwendig, um untersciedliche CS Pins für jede Zeile zu haben.
Parameter
csPinDer CS Pin über den die Matrix gesteuert wird.

Definiert in Zeile 12 der Datei LedController_core.hpp.

◆ LedController() [3/5]

template<size_t columns, size_t rows>
sakurajin::LedController< columns, rows >::LedController ( unsigned int  dataPin,
unsigned int  clkPin,
unsigned int  csPin,
bool  useHardwareSpi = false 
)
noexcept

Konstruiere ein neues LedController Objekt mit gegeben Pins.

Zu beachten
Nur virtualMultiRow ist mit diesem Konstruktor möglich. Eine angepasste Konfiguration ist notwendig, um untersciedliche CS Pins für jede Zeile zu haben.
Parameter
dataPinDer Pin an dem die Daten ausgegeben werden (DIN)
clkPinDer Pin für das Taktsignal (CLK)
csPinDer Pin zum auswählen der Matrix (CS)
useHardwareSpitrue wenn hardware SPI genutzt werden soll (schaue https://www.arduino.cc/en/Reference/SPI für die Pin Konfiguration)

Definiert in Zeile 17 der Datei LedController_core.hpp.

◆ LedController() [4/5]

template<size_t columns, size_t rows>
sakurajin::LedController< columns, rows >::LedController ( const sakurajin::controller_configuration< columns, rows > &  configuration)
noexcept

Erstelle ein neues LedController Objekt aus einer Konfiguration.

Parameter
configurationdie Konfiguration die zum erstellen verwendet werden soll.

Definiert in Zeile 23 der Datei LedController_core.hpp.

◆ ~LedController()

template<size_t columns, size_t rows>
sakurajin::LedController< columns, rows >::~LedController
noexcept

Zerstöre das Objekt und leere den Speicher.

Definiert in Zeile 4 der Datei LedController_core.hpp.

◆ LedController() [5/5]

template<size_t columns, size_t rows>
sakurajin::LedController< columns, rows >::LedController ( const LedController< columns, rows > &  other)
noexcept

Der Kopierkonstruktor für den LedController.

Parameter
otherder LedController, der kopiert werden soll.

Definiert in Zeile 28 der Datei LedController_core.hpp.

Dokumentation der Elementfunktionen

◆ activateAllSegments()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::activateAllSegments
noexcept

Aktiviere alle Segmente.

Definiert in Zeile 100 der Datei LedController_display.hpp.

◆ activateSegment()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::activateSegment ( unsigned int  segmentNumber)
noexcept

Aktiviere ein Segment.

Parameter
segmentNumberDie Nummer des gewünschten Segments.

Definiert in Zeile 80 der Datei LedController_display.hpp.

Benutzt sakurajin::MAX72XX::OP_SHUTDOWN.

◆ clearMatrix()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::clearMatrix
noexcept

leere alle Segmente (alle LEDs aus).

Definiert in Zeile 42 der Datei LedController_display.hpp.

◆ clearSegment()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::clearSegment ( unsigned int  segmentNumber)
noexcept

leere ein Segment (alle LEDs aus).

Parameter
segmentNumberDie Nummer des gewünschten Segments.

Definiert in Zeile 111 der Datei LedController_display.hpp.

◆ displayOnSegment() [1/2]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::displayOnSegment ( unsigned int  column,
unsigned int  row_num,
sakurajin::ByteBlock  data 
)
noexcept

Zeige einen gegebenen sakurajin::ByteBlock auf einem Segemnt an (setzte alle 8 Zeilen).

Parameter
columnDie Spalte in der das Segment ist.
row_numDie Zeile in der das Segment ist.
dataDie Daten, die angezeigt werden sollen.

Definiert in Zeile 65 der Datei LedController_display.hpp.

◆ displayOnSegment() [2/2]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::displayOnSegment ( unsigned int  segmentindex,
sakurajin::ByteBlock  data 
)
noexcept

Zeige einen gegebenen sakurajin::ByteBlock auf einem Segemnt an (setzte alle 8 Zeilen).

Parameter
segmentindexDie Nummer des gewünschten Segments
dataDie Daten, die angezeigt werden sollen.

Definiert in Zeile 53 der Datei LedController_display.hpp.

◆ getConfig()

template<size_t columns, size_t rows>
const sakurajin::controller_configuration< columns, rows > & sakurajin::LedController< columns, rows >::getConfig
noexcept

Hole die Konfiguration des LedController.

Rückgabe
controlller_configuration Die aktuelle Konfiguration

Definiert in Zeile 175 der Datei LedController_core.hpp.

◆ getRow()

template<size_t columns, size_t rows>
byte sakurajin::LedController< columns, rows >::getRow ( unsigned int  segmentNumber,
unsigned int  row 
)
noexcept

Hole den Zustand einer Reihe eines Segments.

Parameter
segmentNumberDie Nummer des gewünschten Segments
rowDie Reihe in dem Segment, welche gewünscht ist.
Rückgabe
byte Der Wert, der angezeigt wird.

Definiert in Zeile 135 der Datei LedController_display.hpp.

◆ getSegmentCount()

template<size_t columns, size_t rows>
unsigned int sakurajin::LedController< columns, rows >::getSegmentCount
noexcept

Hole die geasmate Anzahl der konfigurierten Segmenten.

Rückgabe
unsigned int Die Anzahl aller konfigurierten Segemente.

Definiert in Zeile 170 der Datei LedController_core.hpp.

◆ getSegmentData() [1/4]

template<size_t columns, size_t rows>
sakurajin::ByteBlock sakurajin::LedController< columns, rows >::getSegmentData ( unsigned int  column,
unsigned int  row_num 
)
noexcept

Hole den Zustand eines Segments.

Parameter
columnDie Spalte in der das Segment ist.
row_numDie Zeile in der das Segment ist.
Rückgabe
sakurajin::ByteBlock Die Daten, die in dem Segment angezeigt werden.

Definiert in Zeile 165 der Datei LedController_core.hpp.

◆ getSegmentData() [2/4]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::getSegmentData ( unsigned int  column,
unsigned int  row_num,
sakurajin::ByteBlock resultLocation 
)
noexcept
Veraltet:
the function with sakurajin::ByteBlock as return type should be used.

Will be removed in version 2.2.0

Noch zu erledigen:
remove function in version 2.2.0

Definiert in Zeile 140 der Datei LedController_core.hpp.

◆ getSegmentData() [3/4]

template<size_t columns, size_t rows>
sakurajin::ByteBlock sakurajin::LedController< columns, rows >::getSegmentData ( unsigned int  segmentindex)
noexcept

Hole den Zustand eines Segments.

Parameter
segmentindexDie Nummer des gewünschten Segments
Rückgabe
sakurajin::ByteBlock Die Daten, die in dem Segment angezeigt werden.

Definiert in Zeile 157 der Datei LedController_core.hpp.

◆ getSegmentData() [4/4]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::getSegmentData ( unsigned int  segmentindex,
sakurajin::ByteBlock resultLocation 
)
noexcept
Veraltet:
the function with sakurajin::ByteBlock as return type should be used.

Will be removed in version 2.2.0

Noch zu erledigen:
remove function in version 2.2.0

Definiert in Zeile 146 der Datei LedController_core.hpp.

◆ init() [1/3]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::init ( const sakurajin::controller_configuration< columns, rows > &  configuration)
noexcept

Initialisiere einen LedController mit einer gegebenen Konfiguration.

Parameter
configurationDie Konfiguration, die verwendet werden soll.

Definiert in Zeile 76 der Datei LedController_core.hpp.

◆ init() [2/3]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::init ( unsigned int  csPin)
noexcept

Initialisiere den LedController für Nutzung mit hardware SPI.

Zu beachten
Nur virtualMultiRow ist mit diesem Initialisieren möglich. Eine angepasste Konfiguration ist notwendig, um untersciedliche CS Pins für jede Zeile zu haben.
Parameter
csPinDer Pin um die LedMatrix auszuwählen.

Definiert in Zeile 49 der Datei LedController_core.hpp.

Benutzt sakurajin::controller_configuration< columns, rows >::SPI_CS und sakurajin::controller_configuration< columns, rows >::useHardwareSpi.

◆ init() [3/3]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::init ( unsigned int  dataPin,
unsigned int  clkPin,
unsigned int  csPin,
bool  useHardwareSpi = false 
)
noexcept

Initialisiere einen LedController Objekt mit gegeben Pins.

Zu beachten
Nur virtualMultiRow ist mit diesem Initialisieren möglich. Eine angepasste Konfiguration ist notwendig, um untersciedliche CS Pins für jede Zeile zu haben.
Parameter
dataPinDer Pin an dem die Daten ausgegeben werden (DIN)
clkPinDer Pin für das Taktsignal (CLK)
csPinDer Pin zum auswählen der Matrix (CS)
useHardwareSpitrue wenn hardware SPI genutzt werden soll (schaue https://www.arduino.cc/en/Reference/SPI für die Pin Konfiguration)

Definiert in Zeile 59 der Datei LedController_core.hpp.

Benutzt sakurajin::controller_configuration< columns, rows >::SPI_CLK, sakurajin::controller_configuration< columns, rows >::SPI_CS, sakurajin::controller_configuration< columns, rows >::SPI_MOSI und sakurajin::controller_configuration< columns, rows >::useHardwareSpi.

◆ initConf()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::initConf
protectednoexcept

Initialisiere die Konfiguration.

Definiert in Zeile 94 der Datei LedController_core.hpp.

◆ initSPI()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::initSPI
protectednoexcept

Initialisiere die SPI Ausgabe.

Definiert in Zeile 104 der Datei LedController_core.hpp.

◆ isInitilized()

template<size_t columns, size_t rows>
bool sakurajin::LedController< columns, rows >::isInitilized
noexcept

gibt den Status des LedController zurück.

Rückgabe
true der LedController ist initialisiert
false der LedController ist nicht initialisiert

Definiert in Zeile 134 der Datei LedController_core.hpp.

◆ makeColumns() [1/2]

template<size_t columns, size_t rows>
sakurajin::ByteBlock sakurajin::LedController< columns, rows >::makeColumns ( sakurajin::ByteBlock  rowArray)
noexcept

Wandelt einen Block aus Zeilen in einen Block aus Spalten.

Parameter
rowArrayDer Block aus Zeilen
Rückgabe
sakurajin::ByteBlock Die Splaten des gegebenen Blocks

Definiert in Zeile 22 der Datei LedController_transformation.hpp.

Benutzt sakurajin::ByteBlock::makeColumns().

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

◆ makeColumns() [2/2]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::makeColumns ( sakurajin::ByteBlock  rowArray,
sakurajin::ByteBlock columnArray 
)
noexcept
Veraltet:
the function with sakurajin::ByteBlock as return type should be used.

Will be removed in version 2.2.0

Noch zu erledigen:
remove function in version 2.2.0

Definiert in Zeile 38 der Datei LedController_transformation.hpp.

Benutzt sakurajin::ByteBlock::makeColumns().

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

◆ moveColumnDown()

template<size_t columns, size_t rows>
byte sakurajin::LedController< columns, rows >::moveColumnDown ( byte  shiftedInRow = 0x00,
unsigned int  col_num = 0 
)
noexcept

schiebt die Daten einer Spalte eins nach unten.

Parameter
shiftedInRowDie Daten, die oben reingeschoben werden (default 0x00)
col_numDie Spalte, die geschoben werden soll
Warnung
Nur EINE SPALTE wird verschoben
Rückgabe
byte Die Daten, die unten rausgeschoben werden.

Definiert in Zeile 117 der Datei LedController_movement.hpp.

◆ moveColumnUp()

template<size_t columns, size_t rows>
byte sakurajin::LedController< columns, rows >::moveColumnUp ( byte  shiftedInRow = 0x00,
unsigned int  col_num = 0 
)
noexcept

schiebt die Daten einer Spalte eins nach oben.

Parameter
shiftedInRowDie Daten, die unten reingeschoben werden (default 0x00)
col_numDie Spalte, die geschoben werden soll
Warnung
Nur EINE SPALTE wird verschoben
Rückgabe
byte Die Daten, die oben rausgeschoben werden.

Definiert in Zeile 82 der Datei LedController_movement.hpp.

◆ moveDown() [1/4]

template<size_t columns, size_t rows>
sakurajin::ByteRow< columns > sakurajin::LedController< columns, rows >::moveDown
noexcept

Schibet die Daten eins nach unten und 0x00 wird oben reingeschoben.

Rückgabe
sakurajin::ByteRow<rows> Die Reihen die rausgeschoben werden.

Definiert in Zeile 147 der Datei LedController_movement.hpp.

◆ moveDown() [2/4]

template<size_t columns, size_t rows>
sakurajin::ByteRow< columns > sakurajin::LedController< columns, rows >::moveDown ( const sakurajin::ByteRow< columns > &  shiftedInColumn)
noexcept

Schiebt alle Splaten eins nach unten.

Parameter
shiftedInColumnDie Reihen die reingeschoben werden.
Rückgabe
sakurajin::ByteRow<rows> Die Reihen die rausgeschoben werden.

Definiert in Zeile 194 der Datei LedController_movement.hpp.

◆ moveDown() [3/4]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::moveDown ( const sakurajin::ByteRow< columns > &  shiftedInRow,
sakurajin::ByteRow< columns > *  shiftedOutRow 
)
noexcept
Veraltet:
the function with sakurajin::ByteRow as return type should be used.

Will be removed in version 2.2.0

Noch zu erledigen:
remove function in version 2.2.0

Definiert in Zeile 230 der Datei LedController_movement.hpp.

◆ moveDown() [4/4]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::moveDown ( sakurajin::ByteRow< columns > *  shiftedOutRow)
noexcept
Veraltet:
the function with sakurajin::ByteRow as return type should be used.

Will be removed in version 2.2.0

Noch zu erledigen:
remove function in version 2.2.0

Definiert in Zeile 224 der Datei LedController_movement.hpp.

◆ moveLeft() [1/4]

template<size_t columns, size_t rows>
sakurajin::ByteRow< rows > sakurajin::LedController< columns, rows >::moveLeft
noexcept

Schibet die Daten eins nach links und 0x00 wird recht reingeschoben.

Rückgabe
sakurajin::ByteRow<rows> Die Splaten die rausgeschoben werden.

Definiert in Zeile 157 der Datei LedController_movement.hpp.

◆ moveLeft() [2/4]

template<size_t columns, size_t rows>
byte sakurajin::LedController< columns, rows >::moveLeft ( byte  shiftedInColumn)
noexcept
Veraltet:
to be reomoved in version 2.1.0, moveRowLeft should be used
Noch zu erledigen:
remove function in version 2.1.0

Definiert in Zeile 206 der Datei LedController_movement.hpp.

◆ moveLeft() [3/4]

template<size_t columns, size_t rows>
sakurajin::ByteRow< rows > sakurajin::LedController< columns, rows >::moveLeft ( const sakurajin::ByteRow< rows > &  shiftedInColumn)
noexcept

Schiebt alle Reihen eins nach links.

Parameter
shiftedInColumnDie Splaten die reingeschoben werden.
Rückgabe
sakurajin::ByteRow<rows> Die Splaten die rausgeschoben werden.

Definiert in Zeile 167 der Datei LedController_movement.hpp.

◆ moveLeft() [4/4]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::moveLeft ( const sakurajin::ByteRow< rows > &  shiftedInColumn,
sakurajin::ByteRow< rows > *  shiftedOutColumn 
)
noexcept
Veraltet:
the function with sakurajin::ByteRow as return type should be used.

Will be removed in version 2.2.0

Noch zu erledigen:
remove function in version 2.2.0

Definiert in Zeile 250 der Datei LedController_movement.hpp.

◆ moveRight() [1/4]

template<size_t columns, size_t rows>
sakurajin::ByteRow< rows > sakurajin::LedController< columns, rows >::moveRight
noexcept

Schibet die Daten eins nach rechts und 0x00 wird links reingeschoben.

Rückgabe
sakurajin::ByteRow<rows> Die Splaten die rausgeschoben werden.

Definiert in Zeile 162 der Datei LedController_movement.hpp.

◆ moveRight() [2/4]

template<size_t columns, size_t rows>
byte sakurajin::LedController< columns, rows >::moveRight ( byte  shiftedInColumn)
noexcept
Veraltet:
to be reomoved in version 2.1.0, moveRowLeft should be used
Noch zu erledigen:
remove function in version 2.1.0

Definiert in Zeile 212 der Datei LedController_movement.hpp.

◆ moveRight() [3/4]

template<size_t columns, size_t rows>
sakurajin::ByteRow< rows > sakurajin::LedController< columns, rows >::moveRight ( const sakurajin::ByteRow< rows > &  shiftedInColumn)
noexcept

Schiebt alle Reihen eins nach rechts.

Parameter
shiftedInColumnDie Splaten die reingeschoben werden.
Rückgabe
sakurajin::ByteRow<rows> Die Splaten die rausgeschoben werden.

Definiert in Zeile 176 der Datei LedController_movement.hpp.

◆ moveRight() [4/4]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::moveRight ( const sakurajin::ByteRow< rows > &  shiftedInColumn,
sakurajin::ByteRow< rows > *  shiftedOutColumn 
)
noexcept
Veraltet:
the function with sakurajin::ByteRow as return type should be used.

Will be removed in version 2.2.0

Noch zu erledigen:
remove function in version 2.2.0

Definiert in Zeile 260 der Datei LedController_movement.hpp.

◆ moveRowLeft()

template<size_t columns, size_t rows>
byte sakurajin::LedController< columns, rows >::moveRowLeft ( byte  shiftedInColumn = 0x00,
unsigned int  row_num = 0 
)
noexcept

schiebt die Daten einer Zeile eins nach links.

Parameter
shiftedInColumnDie Daten, die rechts reingeschoben werden (default 0x00)
row_numDie Zeile, die geschoben werden soll
Warnung
Nur EINE ZEILE wird verschoben
Rückgabe
byte Die Daten, die links rausgeschoben werden.

Definiert in Zeile 49 der Datei LedController_movement.hpp.

◆ moveRowRight()

template<size_t columns, size_t rows>
byte sakurajin::LedController< columns, rows >::moveRowRight ( byte  shiftedInColumn = 0x00,
unsigned int  row_num = 0 
)
noexcept

schiebt die Daten einer Zeile eins nach rechts.

Parameter
shiftedInColumnDie Daten, die links reingeschoben werden (default 0x00)
row_numDie Zeile, die geschoben werden soll
Warnung
Nur EINE ZEILE wird verschoben
Rückgabe
byte Die Daten, die rechts rausgeschoben werden.

Definiert in Zeile 16 der Datei LedController_movement.hpp.

◆ moveUp() [1/4]

template<size_t columns, size_t rows>
sakurajin::ByteRow< columns > sakurajin::LedController< columns, rows >::moveUp
noexcept

Schibet die Daten eins nach oben und 0x00 wird unten reingeschoben.

Rückgabe
sakurajin::ByteRow<rows> Die Reihen die rausgeschoben werden.

Definiert in Zeile 152 der Datei LedController_movement.hpp.

◆ moveUp() [2/4]

template<size_t columns, size_t rows>
sakurajin::ByteRow< columns > sakurajin::LedController< columns, rows >::moveUp ( const sakurajin::ByteRow< columns > &  shiftedInColumn)
noexcept

Schiebt alle Splaten eins nach oben.

Parameter
shiftedInColumnDie Reihen die reingeschoben werden.
Rückgabe
sakurajin::ByteRow<rows> Die Reihen die rausgeschoben werden.

Definiert in Zeile 185 der Datei LedController_movement.hpp.

◆ moveUp() [3/4]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::moveUp ( const sakurajin::ByteRow< columns > &  shiftedInRow,
sakurajin::ByteRow< columns > *  shiftedOutRow 
)
noexcept
Veraltet:
the function with sakurajin::ByteRow as return type should be used.

Will be removed in version 2.2.0

Noch zu erledigen:
remove function in version 2.2.0

Definiert in Zeile 240 der Datei LedController_movement.hpp.

◆ moveUp() [4/4]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::moveUp ( sakurajin::ByteRow< columns > *  shiftedOutRow)
noexcept
Veraltet:
the function with sakurajin::ByteRow as return type should be used.

Will be removed in version 2.2.0

Noch zu erledigen:
remove function in version 2.2.0

Definiert in Zeile 218 der Datei LedController_movement.hpp.

◆ refreshSegment()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::refreshSegment ( unsigned int  segmentNumber)
noexcept

Lädt eine Segment neu (zurücksetzten und dann updaten).

Parameter
segmentNumberDie Nummer des gewünschten Segments

Definiert in Zeile 128 der Datei LedController_low_level.hpp.

Benutzt sakurajin::MAX72XX::OP_DECODEMODE und sakurajin::MAX72XX::OP_DISPLAYTEST.

◆ refreshSegments()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::refreshSegments
noexcept

Lädt alle Segmente neu (zurücksetzten und dann updaten).

Definiert in Zeile 208 der Datei LedController_display.hpp.

◆ resetBuffers()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::resetBuffers
protectednoexcept

Initialisiere die internen Puffer des LedController.

Definiert in Zeile 18 der Datei LedController_display.hpp.

Benutzt sakurajin::MAX72XX::OP_NOOP.

◆ resetMatrix()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::resetMatrix
noexcept

aktiviere alle Segmente, setzte alle auf die gleiche Helligkeit und leere den Inhalt.

Definiert in Zeile 31 der Datei LedController_display.hpp.

◆ reverse() [1/3]

template<size_t columns, size_t rows>
byte sakurajin::LedController< columns, rows >::reverse ( byte  input)
noexcept

Diese Funktion ändert die Bitreihnfolge eines Bytes bzw.

kehrt ein Bit um.

Parameter
inputDas byte, das umgekehrt werden soll.
Rückgabe
byte Das umgekehrte Byte

Definiert in Zeile 17 der Datei LedController_transformation.hpp.

Benutzt sakurajin::ByteBlock::reverse().

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

◆ reverse() [2/3]

template<size_t columns, size_t rows>
sakurajin::ByteBlock sakurajin::LedController< columns, rows >::reverse ( sakurajin::ByteBlock  input)
noexcept

Diese Funktion kehrt die Reihnfolge der einzelnen Zeilen um (spiegeln in x-Richtung).

Parameter
inputDer sakurajin::ByteBlock der umgekehrt werden soll.
Rückgabe
sakurajin::ByteBlock Der umgekehrte sakurajin::ByteBlock.

Definiert in Zeile 27 der Datei LedController_transformation.hpp.

◆ reverse() [3/3]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::reverse ( sakurajin::ByteBlock  input,
sakurajin::ByteBlock reversedInput 
)
noexcept
Veraltet:
the function with sakurajin::ByteBlock as return type should be used.

Will be removed in version 2.2.0

Noch zu erledigen:
remove function in version 2.2.0

Definiert in Zeile 48 der Datei LedController_transformation.hpp.

◆ rotate180() [1/2]

template<size_t columns, size_t rows>
sakurajin::ByteBlock sakurajin::LedController< columns, rows >::rotate180 ( sakurajin::ByteBlock  input)
noexcept

rotiert einen sakurajin::ByteBlock um 180 Grad

Parameter
inputDer zu rotierende sakurajin::ByteBlock.
Rückgabe
sakurajin::ByteBlock Der rotierte byteBlock.

Definiert in Zeile 32 der Datei LedController_transformation.hpp.

Benutzt sakurajin::ByteBlock::rotate180().

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

◆ rotate180() [2/2]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::rotate180 ( sakurajin::ByteBlock  input,
sakurajin::ByteBlock rotatedInput 
)
noexcept
Veraltet:
the function with sakurajin::ByteBlock as return type should be used.

Will be removed in version 2.2.0

Noch zu erledigen:
remove function in version 2.2.0

Definiert in Zeile 58 der Datei LedController_transformation.hpp.

Benutzt sakurajin::ByteBlock::rotate180().

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

◆ setChar()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::setChar ( unsigned int  segmentNumber,
unsigned int  digit,
char  value,
boolean  dp 
)
noexcept

Setzte ein Zeichen auf einem 7-Segment display.

Zu beachten
Es gibt nur einige Zeichen die Sinn ergeben: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'A', 'b', 'c', 'd', 'E', 'F', 'H', 'L', 'P', '.', '-', '_', ' '
Parameter
segmentNumberDie Nummer des gewünschten Segments
digitDie Position der Zeichens (0..7)
valueDer Wert, der angezeigt werden soll.
dptrue wenn der Dezimalpunkt gesetzt werden soll.

Definiert in Zeile 192 der Datei LedController_display.hpp.

Benutzt sakurajin::MAX72XX::getChar().

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

◆ setColumn()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::setColumn ( unsigned int  segmentNumber,
unsigned int  col,
byte  value 
)
noexcept

Setzte eine Spalte eines Segments.

Parameter
segmentNumberDie Nummer des gewünschten Segments
coldie Spalte im Segment
valueDer Wert der gesetzt werden soll.

Definiert in Zeile 164 der Datei LedController_display.hpp.

Benutzt sakurajin::ByteBlock::transpose().

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

◆ setDigit()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::setDigit ( unsigned int  segmentNumber,
unsigned int  digit,
byte  value,
boolean  dp 
)
noexcept

Setzte eine Hexadecimalziffer auf einem 7-Segment Display.

Parameter
segmentNumberDie Nummer des gewünschten Segments
digitDie Position der Ziffer (0..7)
valueDer Wert, der angezeigt werden soll. (0x00..0x0F)
dptrue wenn der Dezimalpunkt gesetzt werden soll.

Definiert in Zeile 177 der Datei LedController_display.hpp.

Benutzt sakurajin::MAX72XX::getChar().

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

◆ setIntensity() [1/2]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::setIntensity ( unsigned int  newIntesityLevel)
noexcept

Setzt die Helligkeit der gesamten Matrix auf den gegebenen Wert.

Zu beachten
Falls du Energie sparen willst, schalte segmente aus, die nicht benötigt werden oder verringere die Helligkeit.
Parameter
newIntesityLevelthe new brightness of the matrix. (0..15)

Definiert in Zeile 103 der Datei LedController_low_level.hpp.

◆ setIntensity() [2/2]

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::setIntensity ( unsigned int  segmentNumber,
unsigned int  newIntesityLevel 
)
protectednoexcept

Setzte die Helligkeit eines Segments.

Parameter
segmentNumberDie Nummer, des Segemnts.
newIntesityLevelDie gewünschte Helligkeit inklusive der Grenzen von 0 & 15. (0..15)

Definiert in Zeile 117 der Datei LedController_low_level.hpp.

Benutzt sakurajin::MAX72XX::OP_INTENSITY.

◆ setLed()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::setLed ( unsigned int  segmentNumber,
unsigned int  row,
unsigned int  column,
boolean  state 
)
noexcept

Setzte eine einzalne Led auf einen bestimmten Wert.

Parameter
segmentNumberDie Nummer des gewünschten Segments
rowdie Zeile der LED im Segment (0..7)
columndie Spalte der LED im Segment (0..7)
statetrue wenn sie an sein soll, ansonsten false

Definiert in Zeile 144 der Datei LedController_display.hpp.

◆ setRow()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::setRow ( unsigned int  segmentNumber,
unsigned int  row,
byte  value 
)
noexcept

Setze eine Reihe eines Segments.

Parameter
segmentNumberDie Nummer des gewünschten Segments
rowDie Reihe in dem Segment, welche gesetzte werden soll.
valueDer Wert der gesetzt werden soll.

Definiert in Zeile 123 der Datei LedController_display.hpp.

◆ setScanLimit()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::setScanLimit ( unsigned int  segmentNumber,
unsigned int  limit 
)
noexcept

Setzte die Anzahl der Zeilen/Stellen, die auf einem Segment angezeigt werden.

Warnung
Schau in das Datenblatt für Nebenwirkungen vom scanlimit auf die Helligkeit.
Parameter
segmentNumberDie nummer des gewünschten Segments.
limitDie Anzahl der Zeilen/Stellen die angezwigt werden sollen (0..7)

Definiert in Zeile 92 der Datei LedController_low_level.hpp.

Benutzt sakurajin::MAX72XX::OP_SCANLIMIT.

◆ shutdownAllSegments()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::shutdownAllSegments
noexcept

Deaktiviere alle Segmente.

Definiert in Zeile 89 der Datei LedController_display.hpp.

◆ shutdownSegment()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::shutdownSegment ( unsigned int  segmentNumber)
noexcept

Deaktiviere ein Segment.

Parameter
segmentNumberDie Nummer des gewünschten Segments.

Definiert in Zeile 71 der Datei LedController_display.hpp.

Benutzt sakurajin::MAX72XX::OP_SHUTDOWN.

◆ spiTransfer()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::spiTransfer ( unsigned int  segment,
byte  opcode,
byte  data 
)
protectednoexcept

Diese Funktion überträgt einen Befehl an das angeschlosssene Modul.

Parameter
segmentDas Segment, das den Befehl ausführen soll.
opcodeDer Befehl, der ausgeführt werden soll.
dataDie Daten, die für den Befehl benötigt werden.

Definiert in Zeile 17 der Datei LedController_low_level.hpp.

Benutzt sakurajin::MAX72XX::OP_NOOP.

◆ updateSegment()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::updateSegment ( unsigned int  segmentNumber)
noexcept

Lädt den Inhalt der internen Daten auf ein Segmente hoch.

Parameter
segmentNumberDie Nummer des gewünschten Segments

Definiert in Zeile 230 der Datei LedController_display.hpp.

◆ updateSegments()

template<size_t columns, size_t rows>
void sakurajin::LedController< columns, rows >::updateSegments
noexcept

Lädt den Inhalt der internen Daten auf alle Segmente hoch.

Definiert in Zeile 219 der Datei LedController_display.hpp.

Dokumentation der Datenelemente

◆ conf

template<size_t columns, size_t rows>
sakurajin::controller_configuration<columns,rows> sakurajin::LedController< columns, rows >::conf
protected

Die Konfiguration des LedController.

Definiert in Zeile 61 der Datei LedController_template.hpp.

◆ initilized

template<size_t columns, size_t rows>
bool sakurajin::LedController< columns, rows >::initilized = false
protected

True wenn, der LedController vollständig initialisiert ist.

Definiert in Zeile 113 der Datei LedController_template.hpp.

◆ LedStates

template<size_t columns, size_t rows>
sakurajin::ByteBlock sakurajin::LedController< columns, rows >::LedStates[columns *rows]
protected

Dieses Array beinhaltet den Status von allen LEDs.

Definiert in Zeile 51 der Datei LedController_template.hpp.

◆ spidata

template<size_t columns, size_t rows>
byte sakurajin::LedController< columns, rows >::spidata[rows *columns *2]
protected

Das Array was benötigt wird, um Daten auf das Gerät zu übertragen.

Definiert in Zeile 88 der Datei LedController_template.hpp.


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