Merge pull request #428 from phl0/pocsag_dev
Add some OLED display stuff for POCSAG
This commit is contained in:
commit
b22d1404cf
3 changed files with 199 additions and 146 deletions
|
@ -121,7 +121,7 @@ protected:
|
||||||
virtual void writeNXDNRSSIInt(unsigned char rssi);
|
virtual void writeNXDNRSSIInt(unsigned char rssi);
|
||||||
virtual void clearNXDNInt();
|
virtual void clearNXDNInt();
|
||||||
|
|
||||||
virtual void writePOCSAG(uint32_t ric, const std::string& message);
|
virtual void writePOCSAGInt(uint32_t ric, const std::string& message);
|
||||||
virtual void clearPOCSAGInt();
|
virtual void clearPOCSAGInt();
|
||||||
|
|
||||||
virtual void writeCWInt();
|
virtual void writeCWInt();
|
||||||
|
|
248
OLED.cpp
248
OLED.cpp
|
@ -106,9 +106,9 @@ const unsigned char logo_fusion_bmp [] =
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||||
};
|
};
|
||||||
|
|
||||||
//Logo P25 128x16px
|
//Logo P25 128x16px
|
||||||
const unsigned char logo_P25_bmp [] =
|
const unsigned char logo_P25_bmp [] =
|
||||||
{
|
{
|
||||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
0xf8, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f,
|
0xf8, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f,
|
||||||
0xf8, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f,
|
0xf8, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x7f,
|
||||||
|
@ -125,11 +125,11 @@ const unsigned char logo_fusion_bmp [] =
|
||||||
0xf0, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x80, 0x00, 0x00, 0x00, 0x3f,
|
0xf0, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x80, 0x00, 0x00, 0x00, 0x3f,
|
||||||
0xf0, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x03, 0xff,
|
0xf0, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x03, 0xff,
|
||||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
||||||
};
|
};
|
||||||
|
|
||||||
// Logo NXDN_sm, 128x16px
|
// Logo NXDN_sm, 128x16px
|
||||||
const unsigned char logo_NXDN_bmp [] =
|
const unsigned char logo_NXDN_bmp [] =
|
||||||
{
|
{
|
||||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
0xff, 0xf0, 0x1f, 0xf8, 0x0f, 0x00, 0xff, 0x80, 0x7c, 0x00, 0x0f, 0xff, 0x80, 0x7f, 0xe0, 0x7f,
|
0xff, 0xf0, 0x1f, 0xf8, 0x0f, 0x00, 0xff, 0x80, 0x7c, 0x00, 0x0f, 0xff, 0x80, 0x7f, 0xe0, 0x7f,
|
||||||
|
@ -148,6 +148,27 @@ const unsigned char logo_NXDN_bmp [] =
|
||||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Logo POCASG/DAPNET, 128x16px
|
||||||
|
const unsigned char logo_POCSAG_bmp [] =
|
||||||
|
{
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xf8, 0x7f, 0xfe, 0x03, 0xfe, 0xfe, 0x03, 0xdf, 0xf6, 0x00, 0x00, 0x1f, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xfc, 0xfc, 0xfe, 0xfc, 0xcf, 0xf6, 0xff, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xfe, 0x7d, 0x7e, 0xfe, 0xc7, 0xf6, 0xff, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xfb, 0x7a, 0x7e, 0xff, 0x79, 0x7e, 0xfe, 0xd3, 0xf6, 0xff, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xf7, 0xbe, 0xff, 0x7b, 0xbe, 0xfe, 0xdb, 0xf6, 0xff, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xff, 0xbb, 0xbe, 0xfe, 0xdd, 0xf6, 0xff, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xf9, 0xff, 0xbe, 0xff, 0xb7, 0xde, 0xfe, 0xde, 0xf6, 0x01, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xee, 0x77, 0xbe, 0xff, 0xb7, 0xde, 0x81, 0xde, 0x76, 0xff, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xdf, 0xb7, 0x7e, 0xff, 0xa0, 0x1e, 0xff, 0xdf, 0x36, 0xff, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xdf, 0xbc, 0xfe, 0xff, 0x6f, 0xee, 0xff, 0xdf, 0xb6, 0xff, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xdf, 0xbf, 0xfe, 0xff, 0x6f, 0xee, 0xff, 0xdf, 0xd6, 0xff, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xdf, 0xbf, 0xfe, 0xfe, 0xdf, 0xf6, 0xff, 0xdf, 0xe6, 0xff, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xdf, 0x7f, 0xfe, 0xf9, 0xdf, 0xf6, 0xff, 0xdf, 0xe6, 0xff, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xe6, 0x7f, 0xfe, 0x07, 0xff, 0xf6, 0xff, 0xdf, 0xf6, 0x00, 0xfb, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
||||||
|
};
|
||||||
|
|
||||||
COLED::COLED(unsigned char displayType, unsigned char displayBrightness, bool displayInvert, bool displayScroll, bool slot1Enabled, bool slot2Enabled) :
|
COLED::COLED(unsigned char displayType, unsigned char displayBrightness, bool displayInvert, bool displayScroll, bool slot1Enabled, bool slot2Enabled) :
|
||||||
m_displayType(displayType),
|
m_displayType(displayType),
|
||||||
m_displayBrightness(displayBrightness),
|
m_displayBrightness(displayBrightness),
|
||||||
|
@ -213,24 +234,24 @@ void COLED::setIdleInt()
|
||||||
display.startscrolldiagright(0x00,0x0f); //the MMDVM logo scrolls the whole screen
|
display.startscrolldiagright(0x00,0x0f); //the MMDVM logo scrolls the whole screen
|
||||||
display.display();
|
display.display();
|
||||||
|
|
||||||
unsigned char info[100U];
|
unsigned char info[100U];
|
||||||
CNetworkInfo* m_network;
|
CNetworkInfo* m_network;
|
||||||
|
|
||||||
passCounter ++;
|
passCounter ++;
|
||||||
if (passCounter > 253U)
|
if (passCounter > 253U)
|
||||||
networkInfoInitialized = false;
|
networkInfoInitialized = false;
|
||||||
|
|
||||||
if (! networkInfoInitialized) {
|
if (! networkInfoInitialized) {
|
||||||
//LogMessage("Initialize CNetworkInfo");
|
//LogMessage("Initialize CNetworkInfo");
|
||||||
info[0]=0;
|
info[0]=0;
|
||||||
m_network = new CNetworkInfo;
|
m_network = new CNetworkInfo;
|
||||||
m_network->getNetworkInterface(info);
|
m_network->getNetworkInterface(info);
|
||||||
m_ipaddress = (char*)info;
|
m_ipaddress = (char*)info;
|
||||||
delete m_network;
|
delete m_network;
|
||||||
|
|
||||||
networkInfoInitialized = true;
|
networkInfoInitialized = true;
|
||||||
passCounter = 0;
|
passCounter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -278,8 +299,8 @@ void COLED::writeDStarInt(const char* my1, const char* my2, const char* your, co
|
||||||
display.setCursor(0,OLED_LINE5);
|
display.setCursor(0,OLED_LINE5);
|
||||||
display.printf("via %.8s",reflector);
|
display.printf("via %.8s",reflector);
|
||||||
|
|
||||||
display.setCursor(0,OLED_LINE6);
|
display.setCursor(0,OLED_LINE6);
|
||||||
display.printf("%s",m_ipaddress.c_str());
|
display.printf("%s",m_ipaddress.c_str());
|
||||||
|
|
||||||
OLED_statusbar();
|
OLED_statusbar();
|
||||||
display.display();
|
display.display();
|
||||||
|
@ -292,8 +313,8 @@ void COLED::clearDStarInt()
|
||||||
display.setCursor(40,OLED_LINE3);
|
display.setCursor(40,OLED_LINE3);
|
||||||
display.print("Listening");
|
display.print("Listening");
|
||||||
|
|
||||||
display.setCursor(0,OLED_LINE5);
|
display.setCursor(0,OLED_LINE5);
|
||||||
display.printf("%s",m_ipaddress.c_str());
|
display.printf("%s",m_ipaddress.c_str());
|
||||||
|
|
||||||
display.display();
|
display.display();
|
||||||
}
|
}
|
||||||
|
@ -302,77 +323,74 @@ void COLED::writeDMRInt(unsigned int slotNo,const std::string& src,bool group,co
|
||||||
{
|
{
|
||||||
|
|
||||||
if (m_mode != MODE_DMR) {
|
if (m_mode != MODE_DMR) {
|
||||||
display.clearDisplay();
|
display.clearDisplay();
|
||||||
m_mode = MODE_DMR;
|
m_mode = MODE_DMR;
|
||||||
clearDMRInt(slotNo);
|
clearDMRInt(slotNo);
|
||||||
}
|
}
|
||||||
// if both slots, use lines 2-3 for slot 1, lines 4-5 for slot 2
|
// if both slots, use lines 2-3 for slot 1, lines 4-5 for slot 2
|
||||||
// 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_LINE2,display.width(),40,BLACK);
|
display.fillRect(0,OLED_LINE2,display.width(),40,BLACK);
|
||||||
display.setCursor(0,OLED_LINE2);
|
display.setCursor(0,OLED_LINE2);
|
||||||
display.printf("%s",src.c_str());
|
display.printf("%s",src.c_str());
|
||||||
display.setCursor(0,OLED_LINE3);
|
display.setCursor(0,OLED_LINE3);
|
||||||
display.printf("Slot: %i %s %s%s",slotNo,type,group ? "TG: " : "",dst.c_str());
|
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);
|
display.fillRect(0,OLED_LINE4,display.width(),40,BLACK);
|
||||||
display.setCursor(0,OLED_LINE4);
|
display.setCursor(0,OLED_LINE4);
|
||||||
display.printf("%s",src.c_str());
|
display.printf("%s",src.c_str());
|
||||||
display.setCursor(0,OLED_LINE5);
|
display.setCursor(0,OLED_LINE5);
|
||||||
display.printf("Slot: %i %s %s%s",slotNo,type,group ? "TG: " : "",dst.c_str());
|
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);
|
display.fillRect(0,OLED_LINE3,display.width(),20,BLACK);
|
||||||
display.setCursor(0,OLED_LINE3);
|
display.setCursor(0,OLED_LINE3);
|
||||||
display.printf("%s",src.c_str());
|
display.printf("%s",src.c_str());
|
||||||
display.setCursor(0,OLED_LINE4);
|
display.setCursor(0,OLED_LINE4);
|
||||||
display.printf("Slot: %i %s %s%s",slotNo,type,group ? "TG: " : "",dst.c_str());
|
display.printf("Slot: %i %s %s%s",slotNo,type,group ? "TG: " : "",dst.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
display.fillRect(0,OLED_LINE6,display.width(),20,BLACK);
|
display.fillRect(0,OLED_LINE6,display.width(),20,BLACK);
|
||||||
display.setCursor(0,OLED_LINE6);
|
display.setCursor(0,OLED_LINE6);
|
||||||
display.printf("%s",m_ipaddress.c_str());
|
display.printf("%s",m_ipaddress.c_str());
|
||||||
|
|
||||||
OLED_statusbar();
|
OLED_statusbar();
|
||||||
display.display();
|
display.display();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void COLED::clearDMRInt(unsigned int slotNo)
|
void COLED::clearDMRInt(unsigned int slotNo)
|
||||||
{
|
{
|
||||||
// if both slots, use lines 2-3 for slot 1, lines 4-5 for slot 2
|
// if both slots, use lines 2-3 for slot 1, lines 4-5 for slot 2
|
||||||
// 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);
|
||||||
display.fillRect(0, OLED_LINE3, display.width(), 40, BLACK);
|
display.setCursor(0,OLED_LINE3);
|
||||||
display.setCursor(0,OLED_LINE3);
|
display.print("Slot: 1 Listening");
|
||||||
display.print("Slot: 1 Listening");
|
}
|
||||||
}
|
else {
|
||||||
else
|
display.fillRect(0, OLED_LINE5, display.width(), 40, BLACK);
|
||||||
{
|
display.setCursor(0, OLED_LINE5);
|
||||||
display.fillRect(0, OLED_LINE5, display.width(), 40, BLACK);
|
display.print("Slot: 2 Listening");
|
||||||
display.setCursor(0, OLED_LINE5);
|
}
|
||||||
display.print("Slot: 2 Listening");
|
}
|
||||||
}
|
else {
|
||||||
}
|
display.fillRect(0, OLED_LINE4, display.width(), 40, BLACK);
|
||||||
else {
|
display.setCursor(0,OLED_LINE4);
|
||||||
display.fillRect(0, OLED_LINE4, display.width(), 40, BLACK);
|
display.printf("Slot: %i Listening",slotNo);
|
||||||
display.setCursor(0,OLED_LINE4);
|
}
|
||||||
display.printf("Slot: %i Listening",slotNo);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
display.fillRect(0, OLED_LINE6, display.width(), 20, BLACK);
|
||||||
display.fillRect(0, OLED_LINE6, display.width(), 20, BLACK);
|
display.setCursor(0,OLED_LINE6);
|
||||||
display.setCursor(0,OLED_LINE6);
|
display.printf("%s",m_ipaddress.c_str());
|
||||||
display.printf("%s",m_ipaddress.c_str());
|
|
||||||
display.display();
|
display.display();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -401,8 +419,8 @@ void COLED::clearFusionInt()
|
||||||
display.setCursor(40,OLED_LINE4);
|
display.setCursor(40,OLED_LINE4);
|
||||||
display.print("Listening");
|
display.print("Listening");
|
||||||
|
|
||||||
display.setCursor(0,OLED_LINE6);
|
display.setCursor(0,OLED_LINE6);
|
||||||
display.printf("%s",m_ipaddress.c_str());
|
display.printf("%s",m_ipaddress.c_str());
|
||||||
|
|
||||||
display.display();
|
display.display();
|
||||||
}
|
}
|
||||||
|
@ -431,8 +449,8 @@ void COLED::clearP25Int()
|
||||||
display.setCursor(40,OLED_LINE4);
|
display.setCursor(40,OLED_LINE4);
|
||||||
display.print("Listening");
|
display.print("Listening");
|
||||||
|
|
||||||
display.setCursor(0,OLED_LINE6);
|
display.setCursor(0,OLED_LINE6);
|
||||||
display.printf("%s",m_ipaddress.c_str());
|
display.printf("%s",m_ipaddress.c_str());
|
||||||
|
|
||||||
display.display();
|
display.display();
|
||||||
}
|
}
|
||||||
|
@ -461,8 +479,38 @@ void COLED::clearNXDNInt()
|
||||||
display.setCursor(40,OLED_LINE4);
|
display.setCursor(40,OLED_LINE4);
|
||||||
display.print("Listening");
|
display.print("Listening");
|
||||||
|
|
||||||
display.setCursor(0,OLED_LINE6);
|
display.setCursor(0,OLED_LINE6);
|
||||||
display.printf("%s",m_ipaddress.c_str());
|
display.printf("%s",m_ipaddress.c_str());
|
||||||
|
|
||||||
|
display.display();
|
||||||
|
}
|
||||||
|
|
||||||
|
void COLED::writePOCSAGInt(uint32_t ric, const std::string& message)
|
||||||
|
{
|
||||||
|
m_mode = MODE_POCSAG;
|
||||||
|
|
||||||
|
display.clearDisplay();
|
||||||
|
display.fillRect(0, OLED_LINE1, display.width(), display.height(), BLACK);
|
||||||
|
|
||||||
|
display.setCursor(0,OLED_LINE3);
|
||||||
|
display.printf("RIC: %u", ric);
|
||||||
|
|
||||||
|
display.setCursor(0,OLED_LINE5);
|
||||||
|
display.printf("MSG: %s", message.c_str());
|
||||||
|
|
||||||
|
OLED_statusbar();
|
||||||
|
display.display();
|
||||||
|
}
|
||||||
|
|
||||||
|
void COLED::clearPOCSAGInt()
|
||||||
|
{
|
||||||
|
display.fillRect(0, OLED_LINE1, display.width(), display.height(), BLACK);
|
||||||
|
|
||||||
|
display.setCursor(40,OLED_LINE4);
|
||||||
|
display.print("Listening");
|
||||||
|
|
||||||
|
display.setCursor(0,OLED_LINE6);
|
||||||
|
display.printf("%s",m_ipaddress.c_str());
|
||||||
|
|
||||||
display.display();
|
display.display();
|
||||||
}
|
}
|
||||||
|
@ -496,8 +544,8 @@ void COLED::clearCWInt()
|
||||||
void COLED::close()
|
void COLED::close()
|
||||||
{
|
{
|
||||||
display.clearDisplay();
|
display.clearDisplay();
|
||||||
display.fillRect(0, 0, display.width(), 16, BLACK);
|
display.fillRect(0, 0, display.width(), 16, BLACK);
|
||||||
display.startscrollright(0x00,0x01);
|
display.startscrollright(0x00,0x01);
|
||||||
display.setCursor(0,00);
|
display.setCursor(0,00);
|
||||||
display.setTextSize(2);
|
display.setTextSize(2);
|
||||||
display.print("-CLOSE-");
|
display.print("-CLOSE-");
|
||||||
|
@ -514,18 +562,20 @@ void COLED::OLED_statusbar()
|
||||||
|
|
||||||
display.setCursor(0,0);
|
display.setCursor(0,0);
|
||||||
if (m_mode == MODE_DMR)
|
if (m_mode == MODE_DMR)
|
||||||
display.drawBitmap(0, 0, logo_dmr_bmp, 128, 16, WHITE);
|
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);
|
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);
|
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);
|
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);
|
display.drawBitmap(0, 0, logo_NXDN_bmp, 128, 16, WHITE);
|
||||||
|
else if (m_mode == MODE_POCSAG)
|
||||||
|
display.drawBitmap(0, 0, logo_POCSAG_bmp, 128, 16, WHITE);
|
||||||
else
|
else
|
||||||
display.drawBitmap(0, 0, logo_glcd_bmp, 128, 16, WHITE);
|
display.drawBitmap(0, 0, logo_glcd_bmp, 128, 16, WHITE);
|
||||||
|
|
||||||
if (m_displayScroll)
|
if (m_displayScroll)
|
||||||
display.startscrollright(0x00,0x02);
|
display.startscrollright(0x00,0x02);
|
||||||
}
|
}
|
||||||
|
|
3
OLED.h
3
OLED.h
|
@ -65,6 +65,9 @@ public:
|
||||||
virtual void writeNXDNInt(const char* source, bool group, unsigned int dest, const char* type);
|
virtual void writeNXDNInt(const char* source, bool group, unsigned int dest, const char* type);
|
||||||
virtual void clearNXDNInt();
|
virtual void clearNXDNInt();
|
||||||
|
|
||||||
|
virtual void writePOCSAGInt(uint32_t ric, const std::string& message);
|
||||||
|
virtual void clearPOCSAGInt();
|
||||||
|
|
||||||
virtual void writeCWInt();
|
virtual void writeCWInt();
|
||||||
virtual void clearCWInt();
|
virtual void clearCWInt();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue