First line of lcd text disappears (BUG)

Continuing the discussion from First line of lcd text disappears:

Making a new topic since I don’t want to hijack the thread, but same issue … plus the trail seemed to have run cold on that thread:

The problem is that the servers only save the last piece of information sent to them. So If I do:

lcd.print(0,0,“hello”)
lcd.print(0,1,“world”)
lcd.print(6,1,"!!!")

and I execute this code during the app is open on my phone I will see:

hello
world !!!

but if I close the app and re-open, I see:

…(first line is blank. not dots)
… !!! (think of the dots as blanks)

Same happens if I execute the code while my phone is off and then open the app after the code has run.

Here’s the code if you need to confirm:

#include <ESP8266WiFi.h> 
#include <BlynkSimpleEsp8266.h> 
const char* ssid     =  "**** put wifi name here ****";
const char* password =  "**** put wifi password here ****";
char auth[] =           "**** put Auth code here ****";

WidgetLCD lcd(V13);

void setup(){
  Serial.begin(9600);
  Blynk.begin(auth, ssid, password);

  while (Blynk.connect() == false) {// Wait}
  
  lcd.clear(); 
  lcd.print(0, 0, "Hello"); 
  lcd.print(0, 1, "World");
  lcd.print(6, 1, "!!!");
}

void loop(){
  Blynk.run();
}

Yes. This is how LCD was designed initially. The problem here is that you may call many lcd.print commands and server have to store all of them in order to remember correct state that’s is a bit expensive.

I agree that that would be too expensive … I know this may require some redesign, but what if the server could hold 32 characters (like the LCD displays), and calling the LCD.print(0,12,"****") would save the characters in specific places like they show on the LCD? … you would only ever need 32 characters of space. Not as expensive.

1 Like