modm API documentation
modm::Hd44780< DATA, RW, RS, E > Class Template Reference

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

Inheritance diagram for modm::Hd44780< DATA, RW, RS, E >:
modm::CharacterDisplay modm::IOStream

Public Member Functions

 Hd44780 (uint8_t width, uint8_t height)
 Constructor.
 
void initialize ()
 
virtual void writeRaw (char c)
 
virtual void setCursor (uint8_t column, uint8_t line)
 
void execute (Command command)
 
void clear ()
 
void writeCGRAM (uint8_t character, uint8_t *cg)
 
- Public Member Functions inherited from modm::CharacterDisplay
 CharacterDisplay (uint8_t width, uint8_t height)
 Constructor.
 
void initialize ()
 Initialize the display.
 
void write (char c)
 
void execute (Command command)
 
void clear ()
 clear the entire display and reset the cursor
 
- 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 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,...) __attribute__ ((format (printf
 
IOStream IOStream & vprintf (const char *fmt, va_list vlist) __attribute__ ((format (printf
 

Protected Typedefs

using driver = Hd44780Base< DATA, RW, RS, E >
 

Additional Inherited Members

- Public Types inherited from modm::CharacterDisplay
enum  Command {
  ClearDisplay = 0b00000001, ResetCursor = 0b00000010, IncrementCursor = 0b00000110, DecrementCursor = 0b00000100,
  DisableDisplay = 0b00001000, EnableDisplay = 0b00001100, DisableCursor = 0b00001000, EnableCursor = 0b00001010,
  DisableCursorBlink = 0b00001000, EnableCursorBlink = 0b00001001, ShiftCursorLeft = 0b00010000, ShiftCursorRight = 0b00010100
}
 
- Static Public Attributes inherited from modm::IOStream
static constexpr char eof = -1
 
- 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 writeInteger (int64_t value)
 
void writeInteger (uint64_t value)
 
void writeFloat (float value)
 
void writeDouble (const double &value)
 
void writePointer (const void *value)
 
void writeHex (uint8_t value)
 
void writeBin (uint8_t value)
 
- Protected Attributes inherited from modm::CharacterDisplay
Writer writer
 
uint8_t lineWidth
 
uint8_t lineCount
 
uint8_t column
 
uint8_t line
 

Detailed Description

template<typename DATA, typename RW, typename RS, typename E>
class modm::Hd44780< DATA, RW, RS, E >

Driver for HD44780 compatible displays

This driver supports only one controller, with any configuration up to 80 characters (most common: 8x1, 16x2, 20x4). You can choose to use a 4bit bus or a 8bit bus, simply by providing one with the propriate width.

Template Parameters
DATAA 8bit or 4bit Port.
RWRead/Write-Select Pin
RSCommand/Data-Select Pin
EEnable Pin
See also
http://en.wikipedia.org/wiki/HD44780_Character_LCD
Author
Fabian Greif
Niklas Hauser

Member Function Documentation

template<typename DATA , typename RW , typename RS , typename E >
void modm::Hd44780< DATA, RW, RS, E >::initialize ( )

Initialize the display

The display needs some time to initialize after startup. You have to wait at least 50 ms after startup before calling this method.

template<typename DATA , typename RW , typename RS , typename E >
virtual void modm::Hd44780< DATA, RW, RS, E >::setCursor ( uint8_t  column,
uint8_t  line 
)
virtual

Set cursor to specified position

Parameters
columnhorizontal position
linevertical position

Implements modm::CharacterDisplay.

template<typename DATA , typename RW , typename RS , typename E >
void modm::Hd44780< DATA, RW, RS, E >::writeCGRAM ( uint8_t  character,
uint8_t *  cg 
)

Write bitmap to display for use as user defined character. cg must be uint8_t[8].

template<typename DATA , typename RW , typename RS , typename E >
virtual void modm::Hd44780< DATA, RW, RS, E >::writeRaw ( char  c)
virtual

Write a raw character at cursor position

Unlike write() no further processing will occur.

See also
write()

Implements modm::CharacterDisplay.


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