Skip to content
Driver program to connect MMDVMhost with Nextion Displays, adding extra functionality
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Nextion Command to check display model and serial number Mar 17, 2019
.gitignore minor cosmetic updates and corrections Oct 12, 2018
Makefile Version 1.05 with support for data from display via modem serial pass… Sep 16, 2018
NextionDriver.c send click event after 2A FC commands Mar 31, 2019
NextionDriver.h Command to check display model and serial number Mar 17, 2019
README-coding.md
README-commands.md send click event after 2A FC commands Mar 31, 2019
README-modemdisplays.md
README-options.md Split README file Feb 2, 2019
README-starting.md Split README file Feb 2, 2019
README-using.md Split README file Feb 2, 2019
README.md Split README file Feb 2, 2019
basicFunctions.c
basicFunctions.h Version 1.00 Jan 7, 2018
groups.txt minor cosmetic updates and corrections Oct 12, 2018
helpers.c If necessary, retry opening sockets after network test Feb 13, 2019
helpers.h
processButtons.c Version 1.00 Jan 7, 2018
processButtons.h Version 1.00 Jan 7, 2018
processCommands.c Version 1.00 Jan 7, 2018
processCommands.h Version 1.00 Jan 7, 2018
stripped.csv

README.md

NextionDriver (for MMDVMHost)

The purpose of this program is to provide additional control for Nextion display layouts other than the MMDVMHost supplied layouts. It does this by sitting between MMDVMHost and the Nextion Display. This program takes the commands, sent by MMDVMHost and translates, changes, adds or removes these commands.

Since the program has to read MMDVM.ini to know the Layout (for setting the baudrate) and other parameters (i.e. for knowing the frequency and location), the parameters for the NextionDriver itself are also located in the MMDVM configuration file, in an extra section [NextionDriver].

As stated above, the NextionDriver program will change the commands as needed and adds extra info (i.e. temperature, TG's info, ...) and sends this to the Nextion display.

This program also checks the network interface regularly, and it will show the most recent IP address, so you can check if the IP address changed.

When the files 'groups.txt' and 'stripped.csv' are present, usernames and talkgroup names will be looked up and sent to the display. NOTE1 : both files have to be sorted in ascending ID order ! NOTE2 : for the user data lookup to work, you MUST switch off the DMRID lookup of MMDVMHost (check README-examples in the Nextion subdirectory)

The program also has the ability of receiving commands from the Nextion display. This way, one can provide buttons on a layout and do something in the host when such a button is pressed. One could, for example, make a 'system' page on the Nextion with system info and buttons to restart MMDVMHost, reboot or poweroff the host, ...

Yes, it is possible (when NextionDriver is running) to start/stop/restart MMDVMHost with buttons on the Nextion display !

When the Nextion display is connected to the serial port of the modem, NextionDriver V1.03 and later is able to address that port. How does dis work ? Normally, the data to the display goes directly from MMDVMHost to the modem, tagged as data for the serial port. The modem will then pass the data to the serial port. By enabling transparent data, we are able to inject data into MMDVMHost and we will tag it as data for the display (this can only be done by enabling sendFrameType).

Data from the Nextion (when pressing buttons) will be treated similar and will exit MMDVMHost as transparent data. IMPORTANT : the firmware of the modem has to pass data from the display to MMDVMHost for this to work!

You can’t perform that action at this time.