Rebame display to m_display.

This commit is contained in:
Jonathan Naylor
2018-11-01 09:29:49 +00:00
parent 4bf15438d5
commit bf24985b6c

344
OLED.cpp
View File

@@ -191,39 +191,39 @@ bool COLED::open()
{ {
// SPI // SPI
if (display.oled_is_spi_proto(m_displayType)) if (m_display.oled_is_spi_proto(m_displayType))
{ {
// SPI change parameters to fit to your LCD // SPI change parameters to fit to your LCD
if ( !display.init(OLED_SPI_DC,OLED_SPI_RESET,OLED_SPI_CS, m_displayType) ) if ( !m_display.init(OLED_SPI_DC,OLED_SPI_RESET,OLED_SPI_CS, m_displayType) )
return false; return false;
} }
else else
{ {
// I2C change parameters to fit to your LCD // I2C change parameters to fit to your LCD
if ( !display.init(OLED_I2C_RESET, m_displayType) ) if ( !m_display.init(OLED_I2C_RESET, m_displayType) )
return false; return false;
} }
display.begin(); m_display.begin();
display.invertDisplay(m_displayInvert ? 1 : 0); m_display.invertDisplay(m_displayInvert ? 1 : 0);
if (m_displayBrightness > 0U) if (m_displayBrightness > 0U)
display.setBrightness(m_displayBrightness); m_display.setBrightness(m_displayBrightness);
if (m_displayRotate > 0U) { if (m_displayRotate > 0U) {
display.sendCommand(0xC0); m_display.sendCommand(0xC0);
display.sendCommand(0xA0); m_display.sendCommand(0xA0);
} }
// init done // init done
display.clearDisplay(); // clears the screen buffer m_display.clearDisplay(); // clears the screen buffer
display.display(); // display it (clear display) m_display.display(); // display it (clear display)
OLED_statusbar(); OLED_statusbar();
display.setCursor(0,OLED_LINE3); m_display.setCursor(0,OLED_LINE3);
display.print("Startup"); m_display.print("Startup");
display.display(); m_display.display();
return true; return true;
} }
@@ -232,16 +232,16 @@ void COLED::setIdleInt()
{ {
m_mode = MODE_IDLE; m_mode = MODE_IDLE;
display.clearDisplay(); m_display.clearDisplay();
OLED_statusbar(); OLED_statusbar();
// display.setCursor(0,30); // m_display.setCursor(0,30);
// display.setTextSize(3); // m_display.setTextSize(3);
// display.print("Idle"); // m_display.print("Idle");
// display.setTextSize(1); // m_display.setTextSize(1);
display.startscrolldiagright(0x00,0x0f); //the MMDVM logo scrolls the whole screen m_display.startscrolldiagright(0x00,0x0f); //the MMDVM logo scrolls the whole screen
display.display(); m_display.display();
unsigned char info[100U]; unsigned char info[100U];
CNetworkInfo* m_network; CNetworkInfo* m_network;
@@ -270,66 +270,66 @@ void COLED::setErrorInt(const char* text)
{ {
m_mode = MODE_ERROR; m_mode = MODE_ERROR;
display.clearDisplay(); m_display.clearDisplay();
OLED_statusbar(); OLED_statusbar();
display.setCursor(0,OLED_LINE1); m_display.setCursor(0,OLED_LINE1);
display.printf("%s\n",text); m_display.printf("%s\n",text);
display.display(); m_display.display();
} }
void COLED::setLockoutInt() void COLED::setLockoutInt()
{ {
m_mode = MODE_LOCKOUT; m_mode = MODE_LOCKOUT;
display.clearDisplay(); m_display.clearDisplay();
OLED_statusbar(); OLED_statusbar();
display.setCursor(0,30); m_display.setCursor(0,30);
display.setTextSize(3); m_display.setTextSize(3);
display.print("Lockout"); m_display.print("Lockout");
display.setTextSize(1); m_display.setTextSize(1);
display.display(); m_display.display();
} }
void COLED::setQuitInt() void COLED::setQuitInt()
{ {
m_mode = MODE_QUIT; m_mode = MODE_QUIT;
display.clearDisplay(); m_display.clearDisplay();
OLED_statusbar(); OLED_statusbar();
display.setCursor(0,30); m_display.setCursor(0,30);
display.setTextSize(3); m_display.setTextSize(3);
display.print("Stopped"); m_display.print("Stopped");
display.setTextSize(1); m_display.setTextSize(1);
display.display(); m_display.display();
} }
void COLED::writeDStarInt(const char* my1, const char* my2, const char* your, const char* type, const char* reflector) void COLED::writeDStarInt(const char* my1, const char* my2, const char* your, const char* type, const char* reflector)
{ {
m_mode = MODE_DSTAR; m_mode = MODE_DSTAR;
display.clearDisplay(); m_display.clearDisplay();
display.fillRect(0,OLED_LINE3,display.width(),display.height(),BLACK); //clear everything beneath logo m_display.fillRect(0,OLED_LINE3,m_display.width(),m_display.height(),BLACK); //clear everything beneath logo
display.setCursor(0,OLED_LINE3); m_display.setCursor(0,OLED_LINE3);
display.printf("%s %.8s/%4.4s",type,my1,my2); m_display.printf("%s %.8s/%4.4s",type,my1,my2);
display.setCursor(0,OLED_LINE4); m_display.setCursor(0,OLED_LINE4);
display.printf("-> %.8s",your); m_display.printf("-> %.8s",your);
display.setCursor(0,OLED_LINE5); m_display.setCursor(0,OLED_LINE5);
display.printf("via %.8s",reflector); m_display.printf("via %.8s",reflector);
display.setCursor(0,OLED_LINE6); m_display.setCursor(0,OLED_LINE6);
display.printf("%s",m_ipaddress.c_str()); m_display.printf("%s",m_ipaddress.c_str());
OLED_statusbar(); OLED_statusbar();
display.display(); m_display.display();
if (m_modem != NULL) if (m_modem != NULL)
m_modem->writeDStarInfo(my1, my2, your, type, reflector); m_modem->writeDStarInfo(my1, my2, your, type, reflector);
@@ -337,22 +337,22 @@ void COLED::writeDStarInt(const char* my1, const char* my2, const char* your, co
void COLED::clearDStarInt() void COLED::clearDStarInt()
{ {
display.fillRect(0,OLED_LINE3, display.width(),display.height(),BLACK); //clear everything beneath the logo m_display.fillRect(0,OLED_LINE3, m_display.width(),m_display.height(),BLACK); //clear everything beneath the logo
display.setCursor(40,OLED_LINE3); m_display.setCursor(40,OLED_LINE3);
display.print("Listening"); m_display.print("Listening");
display.setCursor(0,OLED_LINE5); m_display.setCursor(0,OLED_LINE5);
display.printf("%s",m_ipaddress.c_str()); m_display.printf("%s",m_ipaddress.c_str());
display.display(); m_display.display();
} }
void COLED::writeDMRInt(unsigned int slotNo,const std::string& src,bool group,const std::string& dst,const char* type) void COLED::writeDMRInt(unsigned int slotNo,const std::string& src,bool group,const std::string& dst,const char* type)
{ {
if (m_mode != MODE_DMR) { if (m_mode != MODE_DMR) {
display.clearDisplay(); m_display.clearDisplay();
m_mode = MODE_DMR; m_mode = MODE_DMR;
clearDMRInt(slotNo); clearDMRInt(slotNo);
} }
@@ -361,37 +361,37 @@ void COLED::writeDMRInt(unsigned int slotNo,const std::string& src,bool group,co
if ( m_slot1Enabled && m_slot2Enabled ) { if ( m_slot1Enabled && m_slot2Enabled ) {
if (slotNo == 1U) { if (slotNo == 1U) {
display.fillRect(0,OLED_LINE2,display.width(),40,BLACK); m_display.fillRect(0,OLED_LINE2,m_display.width(),40,BLACK);
display.setCursor(0,OLED_LINE2); m_display.setCursor(0,OLED_LINE2);
display.printf("%s",src.c_str()); m_display.printf("%s",src.c_str());
display.setCursor(0,OLED_LINE3); m_display.setCursor(0,OLED_LINE3);
display.printf("Slot: %i %s %s%s",slotNo,type,group ? "TG: " : "",dst.c_str()); m_display.printf("Slot: %i %s %s%s",slotNo,type,group ? "TG: " : "",dst.c_str());
} }
else else
{ {
display.fillRect(0,OLED_LINE4,display.width(),40,BLACK); m_display.fillRect(0,OLED_LINE4,m_display.width(),40,BLACK);
display.setCursor(0,OLED_LINE4); m_display.setCursor(0,OLED_LINE4);
display.printf("%s",src.c_str()); m_display.printf("%s",src.c_str());
display.setCursor(0,OLED_LINE5); m_display.setCursor(0,OLED_LINE5);
display.printf("Slot: %i %s %s%s",slotNo,type,group ? "TG: " : "",dst.c_str()); m_display.printf("Slot: %i %s %s%s",slotNo,type,group ? "TG: " : "",dst.c_str());
} }
} }
else else
{ {
display.fillRect(0,OLED_LINE3,display.width(),20,BLACK); m_display.fillRect(0,OLED_LINE3,m_display.width(),20,BLACK);
display.setCursor(0,OLED_LINE3); m_display.setCursor(0,OLED_LINE3);
display.printf("%s",src.c_str()); m_display.printf("%s",src.c_str());
display.setCursor(0,OLED_LINE4); m_display.setCursor(0,OLED_LINE4);
display.printf("Slot: %i %s %s%s",slotNo,type,group ? "TG: " : "",dst.c_str()); m_display.printf("Slot: %i %s %s%s",slotNo,type,group ? "TG: " : "",dst.c_str());
} }
display.fillRect(0,OLED_LINE6,display.width(),20,BLACK); m_display.fillRect(0,OLED_LINE6,m_display.width(),20,BLACK);
display.setCursor(0,OLED_LINE6); m_display.setCursor(0,OLED_LINE6);
display.printf("%s",m_ipaddress.c_str()); m_display.printf("%s",m_ipaddress.c_str());
OLED_statusbar(); OLED_statusbar();
display.display(); m_display.display();
if (m_modem != NULL) if (m_modem != NULL)
m_modem->writeDMRInfo(slotNo, src, group, dest, type); m_modem->writeDMRInfo(slotNo, src, group, dest, type);
@@ -403,26 +403,26 @@ void COLED::clearDMRInt(unsigned int slotNo)
// if single slot, use lines 3-4 // if single slot, use lines 3-4
if ( m_slot1Enabled && m_slot2Enabled ){ if ( m_slot1Enabled && m_slot2Enabled ){
if (slotNo == 1U) { if (slotNo == 1U) {
display.fillRect(0, OLED_LINE3, display.width(), 40, BLACK); m_display.fillRect(0, OLED_LINE3, m_display.width(), 40, BLACK);
display.setCursor(0,OLED_LINE3); m_display.setCursor(0,OLED_LINE3);
display.print("Slot: 1 Listening"); m_display.print("Slot: 1 Listening");
} }
else { else {
display.fillRect(0, OLED_LINE5, display.width(), 40, BLACK); m_display.fillRect(0, OLED_LINE5, m_display.width(), 40, BLACK);
display.setCursor(0, OLED_LINE5); m_display.setCursor(0, OLED_LINE5);
display.print("Slot: 2 Listening"); m_display.print("Slot: 2 Listening");
} }
} }
else { else {
display.fillRect(0, OLED_LINE4, display.width(), 40, BLACK); m_display.fillRect(0, OLED_LINE4, m_display.width(), 40, BLACK);
display.setCursor(0,OLED_LINE4); m_display.setCursor(0,OLED_LINE4);
display.printf("Slot: %i Listening",slotNo); m_display.printf("Slot: %i Listening",slotNo);
} }
display.fillRect(0, OLED_LINE6, display.width(), 20, BLACK); m_display.fillRect(0, OLED_LINE6, m_display.width(), 20, BLACK);
display.setCursor(0,OLED_LINE6); m_display.setCursor(0,OLED_LINE6);
display.printf("%s",m_ipaddress.c_str()); m_display.printf("%s",m_ipaddress.c_str());
display.display(); m_display.display();
} }
void COLED::writeFusionInt(const char* source, const char* dest, const char* type, const char* origin) void COLED::writeFusionInt(const char* source, const char* dest, const char* type, const char* origin)
@@ -430,17 +430,17 @@ void COLED::writeFusionInt(const char* source, const char* dest, const char* typ
m_mode = MODE_YSF; m_mode = MODE_YSF;
display.clearDisplay(); m_display.clearDisplay();
display.fillRect(0,OLED_LINE2,display.width(),display.height(),BLACK); m_display.fillRect(0,OLED_LINE2,m_display.width(),m_display.height(),BLACK);
display.setCursor(0,OLED_LINE4); m_display.setCursor(0,OLED_LINE4);
display.printf("%s %.10s", type, source); m_display.printf("%s %.10s", type, source);
display.setCursor(0,OLED_LINE5); m_display.setCursor(0,OLED_LINE5);
display.printf(" %.10s", dest); m_display.printf(" %.10s", dest);
OLED_statusbar(); OLED_statusbar();
display.display(); m_display.display();
if (m_modem != NULL) if (m_modem != NULL)
m_modem->writeYSFInfo(source, dest, type, origin); m_modem->writeYSFInfo(source, dest, type, origin);
@@ -448,32 +448,32 @@ void COLED::writeFusionInt(const char* source, const char* dest, const char* typ
void COLED::clearFusionInt() void COLED::clearFusionInt()
{ {
display.fillRect(0, OLED_LINE2, display.width(), display.height(), BLACK); m_display.fillRect(0, OLED_LINE2, m_display.width(), m_display.height(), BLACK);
display.setCursor(40,OLED_LINE4); m_display.setCursor(40,OLED_LINE4);
display.print("Listening"); m_display.print("Listening");
display.setCursor(0,OLED_LINE6); m_display.setCursor(0,OLED_LINE6);
display.printf("%s",m_ipaddress.c_str()); m_display.printf("%s",m_ipaddress.c_str());
display.display(); m_display.display();
} }
void COLED::writeP25Int(const char* source, bool group, unsigned int dest, const char* type) void COLED::writeP25Int(const char* source, bool group, unsigned int dest, const char* type)
{ {
m_mode = MODE_P25; m_mode = MODE_P25;
display.clearDisplay(); m_display.clearDisplay();
display.fillRect(0, OLED_LINE2, display.width(), display.height(), BLACK); m_display.fillRect(0, OLED_LINE2, m_display.width(), m_display.height(), BLACK);
display.setCursor(0,OLED_LINE3); m_display.setCursor(0,OLED_LINE3);
display.printf("%s %.10s", type, source); m_display.printf("%s %.10s", type, source);
display.setCursor(0,OLED_LINE4); m_display.setCursor(0,OLED_LINE4);
display.printf(" %s%u", group ? "TG" : "", dest); m_display.printf(" %s%u", group ? "TG" : "", dest);
OLED_statusbar(); OLED_statusbar();
display.display(); m_display.display();
if (m_modem != NULL) if (m_modem != NULL)
m_modem->writeP25Info(source, group, dest, type); m_modem->writeP25Info(source, group, dest, type);
@@ -481,32 +481,32 @@ void COLED::writeP25Int(const char* source, bool group, unsigned int dest, const
void COLED::clearP25Int() void COLED::clearP25Int()
{ {
display.fillRect(0, OLED_LINE2, display.width(), display.height(), BLACK); m_display.fillRect(0, OLED_LINE2, m_display.width(), m_display.height(), BLACK);
display.setCursor(40,OLED_LINE4); m_display.setCursor(40,OLED_LINE4);
display.print("Listening"); m_display.print("Listening");
display.setCursor(0,OLED_LINE6); m_display.setCursor(0,OLED_LINE6);
display.printf("%s",m_ipaddress.c_str()); m_display.printf("%s",m_ipaddress.c_str());
display.display(); m_display.display();
} }
void COLED::writeNXDNInt(const char* source, bool group, unsigned int dest, const char* type) void COLED::writeNXDNInt(const char* source, bool group, unsigned int dest, const char* type)
{ {
m_mode = MODE_NXDN; m_mode = MODE_NXDN;
display.clearDisplay(); m_display.clearDisplay();
display.fillRect(0, OLED_LINE2, display.width(), display.height(), BLACK); m_display.fillRect(0, OLED_LINE2, m_display.width(), m_display.height(), BLACK);
display.setCursor(0,OLED_LINE3); m_display.setCursor(0,OLED_LINE3);
display.printf("%s %.10s", type, source); m_display.printf("%s %.10s", type, source);
display.setCursor(0,OLED_LINE5); m_display.setCursor(0,OLED_LINE5);
display.printf(" %s%u", group ? "TG" : "", dest); m_display.printf(" %s%u", group ? "TG" : "", dest);
OLED_statusbar(); OLED_statusbar();
display.display(); m_display.display();
if (m_modem != NULL) if (m_modem != NULL)
m_modem->writeNXDNInfo(source, group, dest, type); m_modem->writeNXDNInfo(source, group, dest, type);
@@ -514,32 +514,32 @@ void COLED::writeNXDNInt(const char* source, bool group, unsigned int dest, cons
void COLED::clearNXDNInt() void COLED::clearNXDNInt()
{ {
display.fillRect(0, OLED_LINE2, display.width(), display.height(), BLACK); m_display.fillRect(0, OLED_LINE2, m_display.width(), m_display.height(), BLACK);
display.setCursor(40,OLED_LINE4); m_display.setCursor(40,OLED_LINE4);
display.print("Listening"); m_display.print("Listening");
display.setCursor(0,OLED_LINE6); m_display.setCursor(0,OLED_LINE6);
display.printf("%s",m_ipaddress.c_str()); m_display.printf("%s",m_ipaddress.c_str());
display.display(); m_display.display();
} }
void COLED::writePOCSAGInt(uint32_t ric, const std::string& message) void COLED::writePOCSAGInt(uint32_t ric, const std::string& message)
{ {
m_mode = MODE_POCSAG; m_mode = MODE_POCSAG;
display.clearDisplay(); m_display.clearDisplay();
display.fillRect(0, OLED_LINE1, display.width(), display.height(), BLACK); m_display.fillRect(0, OLED_LINE1, m_display.width(), m_display.height(), BLACK);
display.setCursor(0,OLED_LINE3); m_display.setCursor(0,OLED_LINE3);
display.printf("RIC: %u", ric); m_display.printf("RIC: %u", ric);
display.setCursor(0,OLED_LINE5); m_display.setCursor(0,OLED_LINE5);
display.printf("MSG: %s", message.c_str()); m_display.printf("MSG: %s", message.c_str());
OLED_statusbar(); OLED_statusbar();
display.display(); m_display.display();
if (m_modem != NULL) if (m_modem != NULL)
m_modem->writePOCSAGInfo(ric, message); m_modem->writePOCSAGInfo(ric, message);
@@ -547,78 +547,78 @@ void COLED::writePOCSAGInt(uint32_t ric, const std::string& message)
void COLED::clearPOCSAGInt() void COLED::clearPOCSAGInt()
{ {
display.fillRect(0, OLED_LINE1, display.width(), display.height(), BLACK); m_display.fillRect(0, OLED_LINE1, m_display.width(), m_display.height(), BLACK);
display.setCursor(40,OLED_LINE4); m_display.setCursor(40,OLED_LINE4);
display.print("Listening"); m_display.print("Listening");
display.setCursor(0,OLED_LINE6); m_display.setCursor(0,OLED_LINE6);
display.printf("%s",m_ipaddress.c_str()); m_display.printf("%s",m_ipaddress.c_str());
display.display(); m_display.display();
} }
void COLED::writeCWInt() void COLED::writeCWInt()
{ {
display.clearDisplay(); m_display.clearDisplay();
display.setCursor(0,30); m_display.setCursor(0,30);
display.setTextSize(3); m_display.setTextSize(3);
display.print("CW TX"); m_display.print("CW TX");
display.setTextSize(1); m_display.setTextSize(1);
display.display(); m_display.display();
display.startscrollright(0x02,0x0f); m_display.startscrollright(0x02,0x0f);
} }
void COLED::clearCWInt() void COLED::clearCWInt()
{ {
display.clearDisplay(); m_display.clearDisplay();
display.setCursor(0,30); m_display.setCursor(0,30);
display.setTextSize(3); m_display.setTextSize(3);
display.print("Idle"); m_display.print("Idle");
display.setTextSize(1); m_display.setTextSize(1);
display.display(); m_display.display();
display.startscrollleft(0x02,0x0f); m_display.startscrollleft(0x02,0x0f);
} }
void COLED::close() void COLED::close()
{ {
display.clearDisplay(); m_display.clearDisplay();
display.fillRect(0, 0, display.width(), 16, BLACK); m_display.fillRect(0, 0, m_display.width(), 16, BLACK);
display.startscrollright(0x00,0x01); m_display.startscrollright(0x00,0x01);
display.setCursor(0,00); m_display.setCursor(0,00);
display.setTextSize(2); m_display.setTextSize(2);
display.print("-CLOSE-"); m_display.print("-CLOSE-");
display.display(); m_display.display();
display.close(); m_display.close();
} }
void COLED::OLED_statusbar() void COLED::OLED_statusbar()
{ {
display.stopscroll(); m_display.stopscroll();
display.fillRect(0, 0, display.width(), 16, BLACK); m_display.fillRect(0, 0, m_display.width(), 16, BLACK);
display.setTextColor(WHITE); m_display.setTextColor(WHITE);
display.setCursor(0,0); m_display.setCursor(0,0);
if (m_mode == MODE_DMR) if (m_mode == MODE_DMR)
display.drawBitmap(0, 0, logo_dmr_bmp, 128, 16, WHITE); m_display.drawBitmap(0, 0, logo_dmr_bmp, 128, 16, WHITE);
else if (m_mode == MODE_DSTAR) else if (m_mode == MODE_DSTAR)
display.drawBitmap(0, 0, logo_dstar_bmp, 128, 16, WHITE); m_display.drawBitmap(0, 0, logo_dstar_bmp, 128, 16, WHITE);
else if (m_mode == MODE_YSF) else if (m_mode == MODE_YSF)
display.drawBitmap(0, 0, logo_fusion_bmp, 128, 16, WHITE); m_display.drawBitmap(0, 0, logo_fusion_bmp, 128, 16, WHITE);
else if (m_mode == MODE_P25) else if (m_mode == MODE_P25)
display.drawBitmap(0, 0, logo_P25_bmp, 128, 16, WHITE); m_display.drawBitmap(0, 0, logo_P25_bmp, 128, 16, WHITE);
else if (m_mode == MODE_NXDN) else if (m_mode == MODE_NXDN)
display.drawBitmap(0, 0, logo_NXDN_bmp, 128, 16, WHITE); m_display.drawBitmap(0, 0, logo_NXDN_bmp, 128, 16, WHITE);
else if (m_mode == MODE_POCSAG) else if (m_mode == MODE_POCSAG)
display.drawBitmap(0, 0, logo_POCSAG_bmp, 128, 16, WHITE); m_display.drawBitmap(0, 0, logo_POCSAG_bmp, 128, 16, WHITE);
else else
display.drawBitmap(0, 0, logo_glcd_bmp, 128, 16, WHITE); m_display.drawBitmap(0, 0, logo_glcd_bmp, 128, 16, WHITE);
if (m_displayScroll) if (m_displayScroll)
display.startscrollright(0x00,0x02); m_display.startscrollright(0x00,0x02);
} }