u8g2 Library issue with LCD 128x64 dot matrix

Hi Guys,

Anyone up for a challenge?

I have set up a Duinotech 164x64 Display

(Arduino Compatible 128x64 Dot Matrix LCD Display Module | Jaycar Electronics

using the u8g2 library to display a menu from another program (DCSBIOS Library).

The issue is that sometime the menu (void onUfcOptionDisplay1Change) item will be selected and a “:” (void onUfcOptionCueing1Change) will be placed before the menu item.

For example;

abcdefg (not selected)
: abcdefg (selected).

Each of the voids run fine without the other but placing them together (as per below) I get the rest of the screen blanking out when there is a selection.

I understand that this is from the ClearBuffer and nextPage commands.

Yet, I hope someone can think of a workaround to keep the menu item on the screen while the selector changes.

#define DCSBIOS_IRQ_SERIAL

#include "DcsBios.h"

#include "U8glib.h"
#include <Arduino.h>
#include <U8g2lib.h>

#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif

U8G2_ST7920_128X64_F_SW_SPI u8g2(U8G2_R3, /* clock=*/ 18, /* data=*/ 16, /* CS=*/ 17, /* reset=*/ 13); // Feather HUZZAH ESP8266, E=clock=14, RW=data=13, RS=CS



void onUfcOptionCueing1Change(char* newValue) {
   u8g2.setCursor(0,0);
   u8g2.setFont(u8g2_font_samim_16_t_all);//u8g2.setFont(u8g_font_5x7);
   u8g2.clearBuffer();
   u8g2.drawStr(15, 25, newValue);
}
  DcsBios::StringBuffer<1> ufcOptionCueing1Buffer(0x5420, onUfcOptionCueing1Change);

void onUfcOptionDisplay1Change(char*newValue) {

    u8g2.setCursor(0,0);
    u8g2.setFont(u8g2_font_crox3cb_tr);//u8g2.setFont(u8g_font_5x7);
    u8g2.clearBuffer();
    u8g2.drawStr(5, 15, newValue);

}
  DcsBios::StringBuffer<4> ufcOptionDisplay1Buffer(0x542a, onUfcOptionDisplay1Change);



void setup() {
    u8g2.begin();
    u8g2.clear();
    
  DcsBios::setup();
}

void loop() {
   
 
    onUfcOptionCueing1Change;
    onUfcOptionDisplay1Change;
  
    u8g2.nextPage();          // transfer internal memory to the display
    
 
  DcsBios::loop();

Thanks in advance for any help/comments.

Issue resolved and worked out.