Add support for Adafruit i2c 16 x 2 RGB LCD Pi Plate
This commit is contained in:
parent
ff006133d4
commit
2f09a0047f
4 changed files with 43 additions and 6 deletions
20
HD44780.cpp
20
HD44780.cpp
|
@ -54,6 +54,10 @@ bool CHD44780::open()
|
||||||
{
|
{
|
||||||
::wiringPiSetup();
|
::wiringPiSetup();
|
||||||
|
|
||||||
|
#ifdef ADAFRUIT_DISPLAY
|
||||||
|
adafruitLCDSetup();
|
||||||
|
#endif
|
||||||
|
|
||||||
m_fd = ::lcdInit(m_rows, m_cols, 4, m_rb, m_strb, m_d0, m_d1, m_d2, m_d3, 0, 0, 0, 0);
|
m_fd = ::lcdInit(m_rows, m_cols, 4, m_rb, m_strb, m_d0, m_d1, m_d2, m_d3, 0, 0, 0, 0);
|
||||||
if (m_fd == -1) {
|
if (m_fd == -1) {
|
||||||
LogError("Unable to open the HD44780");
|
LogError("Unable to open the HD44780");
|
||||||
|
@ -67,6 +71,22 @@ bool CHD44780::open()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef ADAFRUIT_DISPLAY
|
||||||
|
void CHD44780::adafruitLCDSetup()
|
||||||
|
{
|
||||||
|
// The other control pins are initialised with lcdInit ()
|
||||||
|
::mcp23017Setup (AF_BASE, MCP23017);
|
||||||
|
|
||||||
|
// Backlight LEDs, Only one color (RED)
|
||||||
|
pinMode (AF_RED, OUTPUT);
|
||||||
|
digitalWrite (AF_RED, LOW); // The colour outputs are inverted.
|
||||||
|
|
||||||
|
// Control signals
|
||||||
|
pinMode (AF_RW, OUTPUT);
|
||||||
|
digitalWrite (AF_RW, LOW);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void CHD44780::setIdle()
|
void CHD44780::setIdle()
|
||||||
{
|
{
|
||||||
::lcdClear(m_fd);
|
::lcdClear(m_fd);
|
||||||
|
|
15
HD44780.h
15
HD44780.h
|
@ -24,6 +24,16 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include <mcp23017.h>
|
||||||
|
|
||||||
|
// Defines for the Adafruit Pi LCD interface board
|
||||||
|
#ifdef ADAFRUIT_DISPLAY
|
||||||
|
#define AF_BASE 100
|
||||||
|
#define AF_RED (AF_BASE + 6)
|
||||||
|
#define AF_RW (AF_BASE + 14)
|
||||||
|
#define MCP23017 0x20
|
||||||
|
#endif
|
||||||
|
|
||||||
class CHD44780 : public IDisplay
|
class CHD44780 : public IDisplay
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -61,6 +71,11 @@ private:
|
||||||
unsigned int m_d3;
|
unsigned int m_d3;
|
||||||
int m_fd;
|
int m_fd;
|
||||||
bool m_dmr;
|
bool m_dmr;
|
||||||
|
|
||||||
|
#ifdef ADAFRUIT_DISPLAY
|
||||||
|
void adafruitLCDSetup();
|
||||||
|
#endif
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -85,7 +85,9 @@ Brightness=50
|
||||||
Rows=2
|
Rows=2
|
||||||
Columns=16
|
Columns=16
|
||||||
# rs, strb, d0, d1, d2, d3
|
# rs, strb, d0, d1, d2, d3
|
||||||
Pins=11,10,0,1,2,3
|
# Pins=11,10,0,1,2,3
|
||||||
|
# Adafruit i2c HD44780
|
||||||
|
Pins=115,113,112,111,110,109
|
||||||
|
|
||||||
[Nextion]
|
[Nextion]
|
||||||
Port=/dev/ttyAMA0
|
Port=/dev/ttyAMA0
|
||||||
|
|
10
Makefile.Pi
10
Makefile.Pi
|
@ -2,15 +2,15 @@
|
||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
CXX = g++
|
CXX = g++
|
||||||
CFLAGS = -g -O3 -Wall -std=c++0x -DHD44780 -I/usr/local/include
|
CFLAGS = -g -O3 -Wall -std=c++0x -DHD44780 -DADAFRUIT -I/usr/local/include
|
||||||
LIBS = -lwiringPi -lwiringPiDev
|
LIBS = -lwiringPi -lwiringPiDev
|
||||||
LDFLAGS = -g -L/usr/local/lib
|
LDFLAGS = -g -L/usr/local/lib
|
||||||
|
|
||||||
OBJECTS = \
|
OBJECTS = \
|
||||||
AMBEFEC.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedLC.o DMRFullLC.o DMRIPSC.o DMRLookup.o DMRLC.o \
|
AMBEFEC.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedLC.o DMRFullLC.o DMRIPSC.o DMRLC.o DMRShortLC.o \
|
||||||
DMRShortLC.o DMRSlot.o DMRSlotType.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o HD44780.o Log.o MMDVMHost.o \
|
DMRSlot.o DMRSlotType.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o HD44780.o Log.o MMDVMHost.o Modem.o \
|
||||||
Modem.o Nextion.o NullDisplay.o QR1676.o RS129.o SerialController.o SHA256.o StopWatch.o Sync.o TFTSerial.o Timer.o Trellis.o UDPSocket.o Utils.o YSFControl.o \
|
NullDisplay.o QR1676.o RS129.o SerialController.o SHA256.o StopWatch.o Sync.o TFTSerial.o Timer.o Trellis.o UDPSocket.o Utils.o YSFControl.o YSFConvolution.o \
|
||||||
YSFConvolution.o YSFFICH.o YSFParrot.o YSFPayload.o
|
YSFFICH.o YSFParrot.o YSFPayload.o
|
||||||
|
|
||||||
all: MMDVMHost
|
all: MMDVMHost
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue