From b69336dca17e57c40f2b6978b22db081510307df Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Thu, 3 Nov 2016 21:43:29 +0000 Subject: [PATCH] Clean up the OLED configuration. --- Conf.cpp | 14 +++++++------- Conf.h | 4 ++-- MMDVMHost.cpp | 8 ++++---- OLED.cpp | 8 ++++---- OLED.h | 13 ++++++------- 5 files changed, 23 insertions(+), 24 deletions(-) diff --git a/Conf.cpp b/Conf.cpp index 4342f56..7936599 100644 --- a/Conf.cpp +++ b/Conf.cpp @@ -169,9 +169,9 @@ m_nextionBrightness(50U), m_nextionDisplayClock(false), m_nextionUTC(false), m_nextionIdleBrightness(20U), -m_oledType(3), -m_oledBrightness(0), -m_oledInvert(0), +m_oledType(3U), +m_oledBrightness(0U), +m_oledInvert(false), m_lcdprocAddress(), m_lcdprocPort(0U), m_lcdprocLocalPort(0U), @@ -589,10 +589,10 @@ bool CConf::read() } else if (section == SECTION_OLED) { if (::strcmp(key, "Type") == 0) m_oledType = (unsigned char)::atoi(value); - else if (::strcmp(key, "Port") == 0) - m_oledBrightness = (unsigned char)::atoi(value); else if (::strcmp(key, "Brightness") == 0) - m_oledInvert = (unsigned char)::atoi(value); + m_oledBrightness = (unsigned char)::atoi(value); + else if (::strcmp(key, "Invert") == 0) + m_oledInvert = ::atoi(value) == 1; } else if (section == SECTION_LCDPROC) { if (::strcmp(key, "Address") == 0) m_lcdprocAddress = value; @@ -1199,7 +1199,7 @@ unsigned char CConf::getOLEDBrightness() const return m_oledBrightness; } -unsigned char CConf::getOLEDInvert() const +bool CConf::getOLEDInvert() const { return m_oledInvert; } diff --git a/Conf.h b/Conf.h index 03aec6e..ed25810 100644 --- a/Conf.h +++ b/Conf.h @@ -184,7 +184,7 @@ public: // The OLED section unsigned char getOLEDType() const; unsigned char getOLEDBrightness() const; - unsigned char getOLEDInvert() const; + bool getOLEDInvert() const; // The LCDproc section std::string getLCDprocAddress() const; @@ -331,7 +331,7 @@ private: unsigned char m_oledType; unsigned char m_oledBrightness; - unsigned char m_oledInvert; + bool m_oledInvert; std::string m_lcdprocAddress; unsigned int m_lcdprocPort; diff --git a/MMDVMHost.cpp b/MMDVMHost.cpp index fa70d00..16915de 100644 --- a/MMDVMHost.cpp +++ b/MMDVMHost.cpp @@ -1134,10 +1134,10 @@ void CMMDVMHost::createDisplay() #if defined(OLED) } else if (type == "OLED") { - unsigned char displayType = m_conf.getOLEDType(); - unsigned char displayBrightness = m_conf.getOLEDBrightness(); - unsigned char displayInvert = m_conf.getOLEDInvert(); - m_display = new COLED(displayType, displayBrightness, displayInvert); + unsigned char type = m_conf.getOLEDType(); + unsigned char brightness = m_conf.getOLEDBrightness(); + bool invert = m_conf.getOLEDInvert(); + m_display = new COLED(type, brightness, invert); #endif } else { m_display = new CNullDisplay; diff --git a/OLED.cpp b/OLED.cpp index 6d86cc5..73f23a2 100644 --- a/OLED.cpp +++ b/OLED.cpp @@ -56,7 +56,7 @@ static unsigned char logo_dmr_bmp[] = 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111 }; -COLED::COLED(unsigned char displayType, unsigned char displayBrightness, unsigned char displayInvert) : +COLED::COLED(unsigned char displayType, unsigned char displayBrightness, bool displayInvert) : m_displayType(displayType), m_displayBrightness(displayBrightness), m_displayInvert(displayInvert) @@ -85,8 +85,8 @@ bool COLED::open() display.begin(); - display.invertDisplay(m_displayInvert); - if (m_displayBrightness > 0) + display.invertDisplay(m_displayInvert ? 1 : 0); + if (m_displayBrightness > 0U) display.setBrightness(m_displayBrightness); // init done @@ -303,7 +303,7 @@ void COLED::OLED_statusbar() display.stopscroll(); display.fillRect(0, 0, display.width(), 16, BLACK); display.setTextColor(WHITE); - display.setCursor(0,0); + display.setCursor(0,0); if (m_mode == MODE_DMR) display.drawBitmap(0, 0, logo_dmr_bmp, 48, 16, WHITE); else if (m_mode == MODE_DSTAR) diff --git a/OLED.h b/OLED.h index 62e4b70..e6490c6 100644 --- a/OLED.h +++ b/OLED.h @@ -65,13 +65,12 @@ public: virtual void close(); private: - const char* m_slot1_state; - const char* m_slot2_state; - unsigned char m_mode; - unsigned char m_displayType; - unsigned char m_displayBrightness; - unsigned char m_displayInvert; - + const char* m_slot1_state; + const char* m_slot2_state; + unsigned char m_mode; + unsigned char m_displayType; + unsigned char m_displayBrightness; + bool m_displayInvert; ArduiPi_OLED display; void OLED_statusbar();