Hello,
I’ve been using 2 & 3 line LCD’s for decades but I’ve always had some function to set the cursor position.
I’m I missing something?
This is the best I can do, and it is sloppy at best:
myTempStr = " Temp ";
myTempStr1 = newTemp;
myTempStr.concat(myTempStr1);
myTempStr.concat(" F ");
myTempStr.toCharArray(buffer, 20);
spiSendString(buffer);
// delay(25);
myTempStr = " Baro ";
myTempStr1 = newBp;
myTempStr.concat(myTempStr1);
myTempStr.concat(" inHg\n");
myTempStr.toCharArray(buffer, 20);
spiSendString(buffer);
// delay(25);
If someone could point me in the right direction, I’d sure appreciate it.
lyndon
February 8, 2019, 2:32am
2
The Arduino LCD libraries have a setCursor function. It works the same on all display types I’ve seen.
Hello,
lyndon; you are correct sir. Sometimes I read too fast and the hippocampus throws too much out, not enough Zen!
I’m using SPI on the OpenLCD (LCD-14074) mostly because I haven’t used it much, and the BMP280 is using I2C. I will likely move the OpenLCD to I2C, after I see what I can do with this.
It still drops a char on occasion? Maybe timing. But this does work!
// send data to OpenLCD
char buffer[80];
digitalWrite(csPin, LOW); // select OpenLCD, NOT/CS, low(0) SPI.beginTransaction()
SPI.transfer(254); // control/command character
SPI.transfer(128 + 0 + 2); // cursor(128) + row(0, 64, 20, 84) + position(0 - 19)
digitalWrite(csPin, HIGH); // deselect OpenLCD, NOT/CS, high(1) SPI.endTransaction()
delay(30);
myTempStr = "Temp ";
myTempStr1 = newTemp;
myTempStr.concat(myTempStr1);
myTempStr.concat(" F");
myTempStr.toCharArray(buffer, 20);
spiSendString(buffer);
delay(30);
digitalWrite(csPin, LOW); // select OpenLCD, NOT/CS, low(0) SPI.beginTransaction()
SPI.transfer(254); // control/command character
SPI.transfer(128 + 20 + 2); // cursor(128) + row(0, 64, 20, 84) + position(0 - 19)
digitalWrite(csPin, HIGH); // deselect OpenLCD, NOT/CS, high(1) SPI.endTransaction()
delay(30);
myTempStr = "Baro ";
myTempStr1 = newBaro;
myTempStr.concat(myTempStr1);
myTempStr.concat(" inHg");
myTempStr.toCharArray(buffer, 20);
spiSendString(buffer);
delay(30);
Happy coding.