Here is my code , only the while part is changed.
If I understand correct then one character will be printed in the serial monitor and then on the LCD then the next char goes toe the serial mon and also to the LCD .. repeat until the packetSize is reached.
#include <SPI.h>
#include <LoRa.h>
#include <LiquidCrystal.h> //Arduino standard LCD Library
//
// RS E D4 D5 D6 D7
LiquidCrystal lcd(14, 15, 16, 17, 18, 19);
char incoming ;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Lora Receiver");//This works
delay(500);
lcd.clear();
lcd.setCursor(0, 0);
while (!Serial);
Serial.println("LoRa Receiver");
if (!LoRa.begin(433E6)) {
Serial.println("Starting LoRa failed!");
while (1);
}
}
void loop()
{
// try to parse packet
int packetSize = LoRa.parsePacket();
if (packetSize) {
// received a packet
Serial.print("Received packet '");
// read packet
while (LoRa.available())
{
incoming = ((char)LoRa.read());
//Serial.print((char) LoRa.read());
Serial.print(incoming);
lcd.print(incoming);
}
// print RSSI of packet
Serial.print("' with RSSI ");
Serial.println(LoRa.packetRssi());
lcd.setCursor(0, 1);
lcd.print(" ");//Clear previous digits
lcd.setCursor(0, 1);
lcd.print(LoRa.packetRssi());//This works on LCD
lcd.setCursor(0, 0);
}
}