modm API documentation
modm::Max7219MatrixHorizontal< SPI, CS, COLUMNS, ROWS > Class Template Reference

#include <modm/driver/display/max7219_matrix_horizontal.hpp>

Inheritance diagram for modm::Max7219MatrixHorizontal< SPI, CS, COLUMNS, ROWS >:
modm::MonochromeGraphicDisplayHorizontal< 8 *COLUMNS, 8 *ROWS > modm::MonochromeGraphicDisplay< Width, Height, Width/8, Height > modm::GraphicDisplay modm::IOStream

Public Member Functions

void initialize ()
 
void setBrightness (uint8_t intensity)
 
virtual void update () override
 
- Public Member Functions inherited from modm::MonochromeGraphicDisplay< Width, Height, Width/8, Height >
void clear () final
 
std::size_t getBufferHeight () const final
 
std::size_t getBufferWidth () const final
 
uint16_t getHeight () const final
 
uint16_t getWidth () const final
 
- Public Member Functions inherited from modm::GraphicDisplay
void setPixel (glcd::Point p)
 
void clearPixel (glcd::Point p)
 
void drawLine (glcd::Point start, glcd::Point end)
 
void drawLine (int16_t x1, int16_t y1, int16_t x2, int16_t y2)
 
void drawRectangle (glcd::Point start, uint16_t width, uint16_t height)
 
void drawRectangle (int16_t x, int16_t y, uint16_t width, uint16_t height)
 
void fillRectangle (glcd::Point start, uint16_t width, uint16_t height)
 
void fillRectangle (int16_t x, int16_t y, uint16_t width, uint16_t height)
 
void drawRoundedRectangle (glcd::Point start, uint16_t width, uint16_t height, uint16_t radius)
 
void drawCircle (glcd::Point center, uint16_t radius)
 
virtual void fillCircle (glcd::Point center, uint16_t radius)
 
void drawEllipse (glcd::Point center, int16_t rx, int16_t ry)
 
void drawImage (glcd::Point start, modm::accessor::Flash< uint8_t > image)
 
virtual void drawImageRaw (glcd::Point start, uint16_t width, uint16_t height, modm::accessor::Flash< uint8_t > data)
 
void setCursor (glcd::Point position)
 
void setCursor (int16_t x, int16_t y)
 
void setCursorX (int16_t x)
 
void setCursorY (int16_t y)
 
glcd::Point getCursor () const
 
void setFont (const uint8_t *newFont)
 
void setFont (const modm::accessor::Flash< uint8_t > *font)
 
uint8_t getFontHeight () const
 
uint16_t getStringWidth (const char *s) const
 
void write (char c)
 
- Public Member Functions inherited from modm::IOStream
 IOStream (IODevice &odevice)
 
IOStream & write (char c)
 
IOStream & get (char &c)
 Reads one character and returns it if available. Otherwise, returns IOStream::eof.
 
IOStream & get (char *s, size_t n)
 
template<size_t N>
IOStream &IOStream & flush ()
 
IOStream & endl ()
 
IOStream & bin ()
 set the output mode to binary style for integer types
 
IOStream & hex ()
 set the output mode to hexadecimal style for integer types
 
IOStream & ascii ()
 set the output mode to ASCII style for integer types
 
IOStream & operator<< (const bool &v)
 
IOStream & operator<< (const char &v)
 
IOStream & operator<< (const uint8_t &v)
 
IOStream & operator<< (const int16_t &v)
 
IOStream & operator<< (const uint16_t &v)
 
IOStream & operator<< (const int32_t &v)
 
IOStream & operator<< (const uint32_t &v)
 
IOStream & operator<< (const char *s)
 
IOStream & operator<< (const void *p)
 write the hex value of a pointer
 
template<class Ret , class... Args>
IOStream & operator<< (Ret (*pointer)(Args...))
 Write the hex value of any function pointer.
 
IOStream & operator<< (IOStream &(*format)(IOStream &))
 

Protected Attributes

Max7219< SPI, CS, COLUMNS *ROWS > mDriver
 
- Protected Attributes inherited from modm::MonochromeGraphicDisplay< Width, Height, Width/8, Height >
uint8_t buffer [BufferHeight][BufferWidth]
 
- Protected Attributes inherited from modm::GraphicDisplay
Writer writer
 
modm::accessor::Flash< uint8_t > font
 
glcd::Point cursor
 

Additional Inherited Members

- Static Public Member Functions inherited from modm::GraphicDisplay
static uint8_t getFontHeight (const modm::accessor::Flash< uint8_t > *font)
 
static uint16_t getStringWidth (const char *s, const modm::accessor::Flash< uint8_t > *font)
 
- Static Public Attributes inherited from modm::IOStream
static constexpr char eof = -1
 
- Protected Member Functions inherited from modm::MonochromeGraphicDisplayHorizontal< 8 *COLUMNS, 8 *ROWS >
void clearPixel (int16_t x, int16_t y) final
 
bool getPixel (int16_t x, int16_t y) const final
 
void setPixel (int16_t x, int16_t y) final
 
- Protected Member Functions inherited from modm::GraphicDisplay
void drawCircle4 (glcd::Point center, int16_t x, int16_t y)
 helper method for drawCircle() and drawEllipse()
 
virtual void drawHorizontalLine (glcd::Point start, uint16_t length)
 
virtual void drawVerticalLine (glcd::Point start, uint16_t length)
 
- Protected Member Functions inherited from modm::IOStream
template<typename T >
void writeIntegerMode (const T v)
 
void writeInteger (int16_t value)
 
void writeInteger (uint16_t value)
 
void writeInteger (int32_t value)
 
void writeInteger (uint32_t value)
 
void writePointer (const void *value)
 
void writeHex (uint8_t value)
 
void writeBin (uint8_t value)
 

Detailed Description

template<typename SPI, typename CS, uint8_t COLUMNS = 1, uint8_t ROWS = 1>
class modm::Max7219MatrixHorizontal< SPI, CS, COLUMNS, ROWS >

Driver for arrays of 8x8 LED matrices driven by MAX7219.

This driver is intended for cheaply available 4x MAX7219 dot matrix display ordered in a horizontal fashion.

Layout of the modules for a 64 pixel x 16 pixel display (four strips of 4 led modules):

     (0,0)
       +----+----+----+----+    +----+----+----+----+
Din => | 1  | 2  | 3  | 4  | -> | 5  | 6  | 7  | 8  | --.
       |    |    |    |    |    |    |    |    |    |   |
       +----+----+----+----+    +----+----+----+----+   |
   .-> | 9  | 10 | 11 | 12 | -> | 13 | 14 | 15 | 16 |   |
   |   |    |    |    |    |    |    |    |    |    |   |
   |   +----+----+----+----+    +----+----+----+----+   |
   |                                            (31,15) |
   `----------------------------------------------------ยด
Template Parameters
SPISPI Interface CS Chip Select of MAX7219
COLUMNSNumber of led modules placed horizontally, from left to right.
ROWNumber of modules placed vertically

Member Function Documentation

template<typename SPI , typename CS , uint8_t COLUMNS = 1, uint8_t ROWS = 1>
void modm::Max7219MatrixHorizontal< SPI, CS, COLUMNS, ROWS >::setBrightness ( uint8_t  intensity)
inline

Set the brightness of the whole matrix.

Parameters
intensityrange 0 to 15.
template<typename SPI , typename CS , uint8_t COLUMNS = 1, uint8_t ROWS = 1>
void modm::Max7219MatrixHorizontal< SPI, CS, COLUMNS, ROWS >::update ( )
overridevirtual

Transfer the content of the RAM buffer to the real display.

Implements modm::GraphicDisplay.


The documentation for this class was generated from the following file: