From a731703ac93e46612a9b78335ed671dd1ebc0407 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Wed, 6 Apr 2016 19:53:25 +0100 Subject: [PATCH] Add initial support for the Nextion display. --- Conf.cpp | 24 ++++- Conf.h | 7 ++ MMDVMHost.cpp | 11 ++- MMDVMHost.vcxproj | 2 + MMDVMHost.vcxproj.filters | 6 ++ Makefile | 6 +- Makefile.Pi | 4 +- Nextion.cpp | 189 ++++++++++++++++++++++++++++++++++++++ Nextion.h | 61 ++++++++++++ Nextion/MMDVM.HMI | Bin 0 -> 270953 bytes 10 files changed, 302 insertions(+), 8 deletions(-) create mode 100644 Nextion.cpp create mode 100644 Nextion.h create mode 100644 Nextion/MMDVM.HMI diff --git a/Conf.cpp b/Conf.cpp index 0ef34a5..6342006 100644 --- a/Conf.cpp +++ b/Conf.cpp @@ -40,7 +40,8 @@ enum SECTION { SECTION_DMR_NETWORK, SECTION_FUSION_NETWORK, SECTION_TFTSERIAL, - SECTION_HD44780 + SECTION_HD44780, + SECTION_NEXTION }; CConf::CConf(const std::string& file) : @@ -107,7 +108,9 @@ m_tftSerialPort(), m_tftSerialBrightness(50U), m_hd44780Rows(2U), m_hd44780Columns(16U), -m_hd44780Pins() +m_hd44780Pins(), +m_nextionPort(), +m_nextionBrightness(50U) { } @@ -155,6 +158,8 @@ bool CConf::read() section = SECTION_TFTSERIAL; else if (::strncmp(buffer, "[HD44780]", 9U) == 0) section = SECTION_HD44780; + else if (::strncmp(buffer, "[Nextion]", 9U) == 0) + section = SECTION_NEXTION; else section = SECTION_NONE; @@ -334,6 +339,11 @@ bool CConf::read() p = ::strtok(NULL, ",\r\n"); } } + } else if (section == SECTION_NEXTION) { + if (::strcmp(key, "Port") == 0) + m_nextionPort = value; + else if (::strcmp(key, "Brightness") == 0) + m_nextionBrightness = (unsigned int)::atoi(value); } } @@ -656,3 +666,13 @@ std::vector CConf::getHD44780Pins() const { return m_hd44780Pins; } + +std::string CConf::getNextionPort() const +{ + return m_nextionPort; +} + +unsigned int CConf::getNextionBrightness() const +{ + return m_nextionBrightness; +} diff --git a/Conf.h b/Conf.h index fca75e0..65ff3fd 100644 --- a/Conf.h +++ b/Conf.h @@ -117,6 +117,10 @@ public: unsigned int getHD44780Columns() const; std::vector getHD44780Pins() const; + // The Nextion section + std::string getNextionPort() const; + unsigned int getNextionBrightness() const; + private: std::string m_file; std::string m_callsign; @@ -193,6 +197,9 @@ private: unsigned int m_hd44780Rows; unsigned int m_hd44780Columns; std::vector m_hd44780Pins; + + std::string m_nextionPort; + unsigned int m_nextionBrightness; }; #endif diff --git a/MMDVMHost.cpp b/MMDVMHost.cpp index 8fa5b41..1d8ae76 100644 --- a/MMDVMHost.cpp +++ b/MMDVMHost.cpp @@ -26,6 +26,7 @@ #include "TFTSerial.h" #include "NullDisplay.h" #include "YSFControl.h" +#include "Nextion.h" #if defined(HD44780) #include "HD44780.h" @@ -571,13 +572,21 @@ void CMMDVMHost::createDisplay() LogInfo(" Type: %s", type.c_str()); if (type == "TFT Serial") { - std::string port = m_conf.getTFTSerialPort(); + std::string port = m_conf.getTFTSerialPort(); unsigned int brightness = m_conf.getTFTSerialBrightness(); LogInfo(" Port: %s", port.c_str()); LogInfo(" Brightness: %u", brightness); m_display = new CTFTSerial(port, brightness); + } else if (type == "Nextion") { + std::string port = m_conf.getNextionPort(); + unsigned int brightness = m_conf.getNextionBrightness(); + + LogInfo(" Port: %s", port.c_str()); + LogInfo(" Brightness: %u", brightness); + + m_display = new CNextion(port, brightness); #if defined(HD44780) } else if (type == "HD44780") { unsigned int rows = m_conf.getHD44780Rows(); diff --git a/MMDVMHost.vcxproj b/MMDVMHost.vcxproj index 66a0715..ffdc777 100644 --- a/MMDVMHost.vcxproj +++ b/MMDVMHost.vcxproj @@ -176,6 +176,7 @@ + @@ -225,6 +226,7 @@ + diff --git a/MMDVMHost.vcxproj.filters b/MMDVMHost.vcxproj.filters index 2f865e0..d1c0428 100644 --- a/MMDVMHost.vcxproj.filters +++ b/MMDVMHost.vcxproj.filters @@ -161,6 +161,9 @@ Header Files + + Header Files + @@ -295,5 +298,8 @@ Source Files + + Source Files + \ No newline at end of file diff --git a/Makefile b/Makefile index 3cf12f9..289f016 100644 --- a/Makefile +++ b/Makefile @@ -8,9 +8,9 @@ LDFLAGS = -g 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 DMRLC.o DMRShortLC.o \ - DMRSlot.o DMRSlotType.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o Log.o MMDVMHost.o Modem.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 YSFFICH.o \ - YSFParrot.o YSFPayload.o + DMRSlot.o DMRSlotType.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o Log.o MMDVMHost.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 YSFConvolution.o \ + YSFFICH.o YSFParrot.o YSFPayload.o all: MMDVMHost diff --git a/Makefile.Pi b/Makefile.Pi index 3851ec8..5aac706 100644 --- a/Makefile.Pi +++ b/Makefile.Pi @@ -9,8 +9,8 @@ LDFLAGS = -g -L/usr/local/lib 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 DMRLC.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 Modem.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 \ - YSFFICH.o YSFParrot.o YSFPayload.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 \ + YSFConvolution.o YSFFICH.o YSFParrot.o YSFPayload.o all: MMDVMHost diff --git a/Nextion.cpp b/Nextion.cpp new file mode 100644 index 0000000..2f2012c --- /dev/null +++ b/Nextion.cpp @@ -0,0 +1,189 @@ +/* + * Copyright (C) 2016 by Jonathan Naylor G4KLX + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include "Nextion.h" +#include "Log.h" + +#include +#include +#include + +CNextion::CNextion(const std::string& port, unsigned int brightness) : +m_serial(port, SERIAL_9600), +m_brightness(brightness) +{ + assert(brightness >= 0U && brightness <= 100U); +} + +CNextion::~CNextion() +{ +} + +bool CNextion::open() +{ + bool ret = m_serial.open(); + if (!ret) { + LogError("Cannot open the port for the Nextion display"); + return false; + } + + sendCommand("bkcmd=0"); + + char command[20U]; + ::sprintf(command, "dim=%u", m_brightness); + sendCommand(command); + + setIdle(); + + return true; +} + +void CNextion::setIdle() +{ + sendCommand("page MMDVM"); + + sendCommand("t0.txt=\"IDLE\""); +} + +void CNextion::setError(const char* text) +{ + assert(text != NULL); + + sendCommand("page MMDVM"); + + char command[20]; + ::sprintf(command, "t0.txt=\"%s\"", text); + + sendCommand(command); + sendCommand("t1.txt=\"ERROR\""); +} + +void CNextion::setLockout() +{ + sendCommand("page MMDVM"); + + sendCommand("t0.txt=\"LOCKOUT\""); +} + +void CNextion::setDStar() +{ + sendCommand("page DStar"); + + sendCommand("t0.txt=\"Listening\""); +} + +void CNextion::writeDStar(const char* my1, const char* my2, const char* your) +{ + assert(my1 != NULL); + assert(my2 != NULL); + assert(your != NULL); + + char text[30U]; + ::sprintf(text, "t0.txt=\"%.8s/%4.4s\"", my1, my2); + sendCommand(text); + + ::sprintf(text, "t1.txt=\"%.8s\"", your); + sendCommand(text); +} + +void CNextion::clearDStar() +{ + sendCommand("t0.txt=\"Listening\""); + sendCommand("t1.txt=\"\""); +} + +void CNextion::setDMR() +{ + sendCommand("page DMR"); + + sendCommand("t0.txt=\"1 Listening\""); + sendCommand("t2.txt=\"2 Listening\""); +} + +void CNextion::writeDMR(unsigned int slotNo, unsigned int srcId, bool group, unsigned int dstId, const char* type) +{ + assert(type != NULL); + + if (slotNo == 1U) { + char text[30U]; + + ::sprintf(text, "t0.txt=\"1 %s %u\"", type, srcId); + sendCommand(text); + + ::sprintf(text, "t1.txt=\"%s%u\"", group ? "TG" : "", dstId); + sendCommand(text); + } else { + char text[30U]; + + ::sprintf(text, "t2.txt=\"2 %s %u\"", type, srcId); + sendCommand(text); + + ::sprintf(text, "t3.txt=\"%s%u\"", group ? "TG" : "", dstId); + sendCommand(text); + } +} + +void CNextion::clearDMR(unsigned int slotNo) +{ + if (slotNo == 1U) { + sendCommand("t0.txt=\"1 Listening\""); + sendCommand("t1.txt=\"\""); + } else { + sendCommand("t2.txt=\"2 Listening\""); + sendCommand("t3.txt=\"\""); + } +} + +void CNextion::setFusion() +{ + sendCommand("page YSF"); + + sendCommand("t0.txt=\"Listening\""); +} + +void CNextion::writeFusion(const char* source, const char* dest) +{ + assert(source != NULL); + assert(dest != NULL); + + char text[30U]; + ::sprintf(text, "t0.txt=\"%.10s\"", source); + sendCommand(text); + + ::sprintf(text, "t1.txt=\"%.10s\"", dest); + sendCommand(text); +} + +void CNextion::clearFusion() +{ + sendCommand("t0.txt=\"Listening\""); + sendCommand("t1.txt=\"\""); +} + +void CNextion::close() +{ + m_serial.close(); +} + +void CNextion::sendCommand(const char* command) +{ + assert(command != NULL); + + m_serial.write((unsigned char*)command, ::strlen(command)); + m_serial.write((unsigned char*)"\xFF\xFF\xFF", 3U); +} diff --git a/Nextion.h b/Nextion.h new file mode 100644 index 0000000..ad60f95 --- /dev/null +++ b/Nextion.h @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2016 by Jonathan Naylor G4KLX + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#if !defined(NEXTION_H) +#define NEXTION_H + +#include "Display.h" +#include "SerialController.h" + +#include + +class CNextion : public IDisplay +{ +public: + CNextion(const std::string& port, unsigned int brightness); + virtual ~CNextion(); + + virtual bool open(); + + virtual void setIdle(); + + virtual void setError(const char* text); + virtual void setLockout(); + + virtual void setDStar(); + virtual void writeDStar(const char* my1, const char* my2, const char* your); + virtual void clearDStar(); + + virtual void setDMR(); + virtual void writeDMR(unsigned int slotNo, unsigned int srdId, bool group, unsigned int dstId, const char* type); + virtual void clearDMR(unsigned int slotNo); + + virtual void setFusion(); + virtual void writeFusion(const char* source, const char* dest); + virtual void clearFusion(); + + virtual void close(); + +private: + CSerialController m_serial; + unsigned int m_brightness; + + void sendCommand(const char* command); +}; + +#endif diff --git a/Nextion/MMDVM.HMI b/Nextion/MMDVM.HMI new file mode 100644 index 0000000000000000000000000000000000000000..051b9aa41170ac738591043fd2287939edafe32c GIT binary patch literal 270953 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 z%0A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 literal 0 HcmV?d00001