modm API documentation
|
#include <modm/driver/display/max7219_matrix_horizontal.hpp>
Public Member Functions | |
void | initialize () |
void | setBrightness (uint8_t intensity) |
virtual void | update () override |
IOStream & | ascii () |
set the output mode to ASCII style for integer types | |
IOStream & | bin () |
set the output mode to binary style for integer types | |
void | clear () final |
void | clearPixel (glcd::Point p) |
void | drawCircle (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 | 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 | drawRoundedRectangle (glcd::Point start, uint16_t width, uint16_t height, uint16_t radius) |
IOStream & | endl () |
virtual void | fillCircle (glcd::Point center, uint16_t radius) |
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) |
IOStream & | flush () |
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 & | get (char (&s)[N]) |
std::size_t | getBufferHeight () const final |
std::size_t | getBufferWidth () const final |
glcd::Point | getCursor () const |
uint8_t | getFontHeight () const |
uint16_t | getHeight () const final |
uint16_t | getStringWidth (const char *s) const |
uint16_t | getWidth () const final |
IOStream & | hex () |
set the output mode to hexadecimal 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 int64_t &v) |
IOStream & | operator<< (const uint64_t &v) |
IOStream & | operator<< (const int &v) |
IOStream & | operator<< (const unsigned int &v) |
IOStream & | operator<< (const float &v) |
IOStream & | operator<< (const double &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 &)) |
IOStream & | printf (const char *fmt,...))) |
void | setCursor (glcd::Point position) |
void | setCursor (int16_t x, int16_t y) |
void | setCursorX (int16_t x) |
void | setCursorY (int16_t y) |
void | setFont (const uint8_t *newFont) |
void | setFont (const modm::accessor::Flash< uint8_t > *font) |
void | setPixel (glcd::Point p) |
IOStream & | vprintf (const char *fmt, va_list vlist))) |
void | write (char c) |
Static Public Member Functions | |
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 | |
static constexpr char | eof = -1 |
Protected Member Functions | |
void | clearPixel (int16_t x, int16_t y) final |
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) |
bool | getPixel (int16_t x, int16_t y) const final |
void | setPixel (int16_t x, int16_t y) final |
void | writeBin (uint8_t value) |
void | writeDouble (const double &value) |
void | writeFloat (float value) |
void | writeHex (uint8_t value) |
void | writeInteger (int16_t value) |
void | writeInteger (uint16_t value) |
void | writeInteger (int32_t value) |
void | writeInteger (uint32_t value) |
void | writeInteger (int64_t value) |
void | writeInteger (uint64_t value) |
template<typename T > | |
void | writeIntegerMode (const T v) |
void | writePointer (const void *value) |
Protected Attributes | |
Max7219< SPI, CS, COLUMNS *ROWS > | mDriver |
uint8_t | buffer [BufferHeight][BufferWidth] |
glcd::Point | cursor |
modm::accessor::Flash< uint8_t > | font |
Writer | writer |
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) | `----------------------------------------------------ยด
|
inheritedfinalvirtual |
Set whole screen to backgroundColor
Implements modm::GraphicDisplay.
|
inheritedinline |
Set a pixel to backgroundColor
p | point |
|
inheritedfinalprotectedvirtual |
|
inherited |
Draw a filled rectangle with rounded corners
start | Upper left corner |
width | Width of rectangle |
height | Height of rectangle |
radius | Rounding radius |
Draw a circle
Uses the midpoint circle algorithm.
center | Center of the circle |
radius | Radius of the circle |
|
inherited |
Draw an ellipse.
Uses a variation of the midpoint algorithm. May be improved through simplification of the used formula.
center | Center of the ellipse |
rx | Radius in x-direction |
ry | Radius in y-direction |
|
inherited |
Draw an image.
The first byte in the image data specifies the with, the second byte the height. Afterwards the actual image data.
start | Upper left corner |
image | Image data in Flash |
|
inheritedvirtual |
Draw an image.
start | Upper left corner |
width | Image width |
height | Image height |
data | Image data in Flash without any size information. |
Reimplemented in modm::ili9341< Interface, Reset, Backlight, BufferSize >, modm::MonochromeGraphicDisplayVertical< Width, Height >, modm::MonochromeGraphicDisplayVertical< 128, Height >, modm::MonochromeGraphicDisplayVertical< 132, 176 >, modm::MonochromeGraphicDisplayVertical< 84, 48 >, modm::MonochromeGraphicDisplayVertical< 8 *COLUMNS, 8 *ROWS >, modm::MonochromeGraphicDisplayVertical< 176, 136 >, and modm::MonochromeGraphicDisplayVertical< WIDTH, HEIGHT >.
|
inheritedinline |
Draw a line.
Uses the faster drawHorizontalLine() or drawVerticalLine() if possible, otherwise the line is rastered with the Bresenham line algorithm.
start | first point |
end | second point |
|
inherited |
Draw a line
x1 | Start x-position |
y1 | Start y-position |
x2 | End x-position |
y3 | End y-position |
|
inherited |
Draw a rectangle.
start | Upper left corner |
width | Width of rectangle |
height | Height of rectangle |
|
inheritedinline |
Draw a rectangle.
x | Upper left corner x-position |
y | Upper left corner y-position |
width | Width of rectangle |
height | Height of rectangle |
|
inherited |
Draw a rectangle with rounded corners
start | Upper left corner |
width | Width of rectangle |
height | Height of rectangle |
radius | Rounding radius |
|
inheritedvirtual |
Draw a filled circle.
center | Center of the circle |
radius | Radius of the circle |
Reimplemented in modm::ili9341< Interface, Reset, Backlight, BufferSize >.
|
inherited |
Draw a filled rectangle.
start | Upper left corner |
width | Width of rectangle |
height | Height of rectangle |
|
inheritedinline |
Draw a rectangle.
x | Upper left corner x-position |
y | Upper left corner y-position |
width | Width of rectangle |
height | Height of rectangle |
|
inherited |
reads characters into NULL delimited c string in contrast to the standard implementation, this does not care about newline characters in the input
|
inheritedinlinefinalvirtual |
Buffer-array size of second dimension
Implements modm::GraphicDisplay.
|
inheritedinlinefinalvirtual |
Buffer-array size of first dimension
Implements modm::GraphicDisplay.
|
inherited |
Get the height of a character.
|
inheritedinlinefinalvirtual |
Number of pixel in vertical direction.
Implements modm::GraphicDisplay.
|
inherited |
Get the width of (null terminated) string.
|
inheritedinlinefinalvirtual |
Number of pixel in horizontal direction.
Implements modm::GraphicDisplay.
|
inline |
Set the brightness of the whole matrix.
intensity | range 0 to 15. |
|
inheritedinline |
Set the cursor for text drawing.
position | Cursor position |
|
inheritedinline |
Set the cursor for text drawing.
x | Cursor x-position |
y | Cursor y-position |
|
inheritedinline |
Set the cursor x-position for text drawing.
x | Cursor x-position |
|
inheritedinline |
Set the cursor y-position for text drawing.
y | Cursor y-position |
|
inheritedinline |
Set a new font.
Default font is modm::font::FixedWidth5x8.
newFont | Active font |
|
inheritedinline |
Set a pixel to foregroundColor
p | point |
|
inheritedfinalprotectedvirtual |
|
overridevirtual |
Transfer the content of the RAM buffer to the real display.
Implements modm::GraphicDisplay.
|
inherited |
Write a single character.