To display UserDB on OLED, either Slot1=0/Slot2=1 or Slot1=1/Slot2=0
of [DMR Network] in MMDVM.ini was required.
Other displays such as LCDproc, HD44180 and TFTSurenoo uses duplex value of
[General], OLED also uses same entry from now.
to add new feature easily, the definition of ScreenLayout in [Nextion]
has changed like this.
ScreenLayout < 8: compatibile setting for old config file
0: G4KLX @ 9600bps
1: (reserved)
2: ON7LDS @ 9600bps
3: ON7LDS-DIY @ 9600bps
4: ON7LDS-DIY @ 115200bps
ScreenLayout >= 8: new world, set the bit to enable each feature
bit3 (8) use 115200bps
bit4 (16) Display DMR Talker Alias
bit5 (32) Colour change when displaying TA
bit6 (64) Font size change when displaying long TA text
bit7 (128) Display DIY status when MMDVM IDLE
old settings are same as:
0 -> 0
2 -> 112 (16+32+64)
3 -> 144 (16+128)
4 -> 152 (8+16+128)
Previous change (simplyfy DMR status display) did not consider
DMR duplex mode.
Now DMR simplex mode uses 2-lines style, duplex mode 4-lines like this.
Listening
TS1
N Callsign
TS2 TGxx
For this change, statusLine() no longer have meaning.
It will be removed in the future.
HobbyTronics TFT Shield has discontinued, here is a replacement TFT module
that can be controlled from UART.
Different from TFT Shield, it cannot display figures that stored in
micro SD card. So appearance is simplified like OLED.
Surenoo module sometimes ignores display commands (in busy stuation?),
this driver buffers display status and refresh at clockInt().
Add variables for TX Freq (t30), RX Freq (t32), CPU Temp (t20), and
Location (t31) to Base MMDVM page. These variables are available with
Layout ON7LDS L3 or higher. This allows more dynamic info to be
displayed without having to use the optional NextionDriver. Note, this
doesn't add touch support. For that, use the NextionDriver.
Fixed command mangling occuring during serial writes to Nextion due to
no ready-state monitoring of display readiness. Added simple thread
sleep to pace the commands as they are sent. Allows the display a
chance to process the command before another one is blasted in.
Prevents mangling of commands sent before display is ready to accept
them. Hardwired to 10 msec--let's see if that's enough.
Added setting in mmdvm conf file, Section: [Nextion] Setting:
DisplayTempInFahrenheit Value= 0 (default) for C. 1=Fahrenheit This
controls the value sent to t20.
Compile time error:
# make -f Makefile.Pi.PCF8574
g++ -g -O3 -Wall -std=c++0x -pthread -DHD44780 -DPCF8574_DISPLAY -I/usr/local/include -c -o Display.o Display.cpp
Display.cpp: In static member function ‘static CDisplay* CDisplay::createDisplay(const CConf&, CUMP*, CModem*)’:
Display.cpp:581:4: error: ‘m_display’ was not declared in this scope
m_display = new CHD44780(rows, columns, conf.getCallsign(), dmrid, pins, i2cAddress, pwm, pwmPin, pwmBright, pwmDim, displayClock, utc, conf.getDuplex());
^
Makefile.Pi.PCF8574:24: recipe for target 'Display.o' failed
make: *** [Display.o] Error 1
looks like every other instance of "m_display" was changed to "display" apart from line 581.
New parameter for selecting ON7LDS Nextion screen layout
The active ip address of the host is showed on main screen
Nextion DMR page:
* Talker alias (if available) will be decoded and displayed (in green to know it's the TA)
* Font will get smaller if TA is to long
GPS data will be decoded and logged
* better looking fonts
* DMR talker alias is shown (in green) if received
* font is automaticly adapted when TA would be too long for display
* DMR ID, call or TA (depending on what was shown) goes to gray at voice end
* "MMDVM stopped" at rest screen when MMDVMHost application is ended
* active network interface and IP address on rest screen so you know how to contact it