Hi,
I have my Arduino connected to an lcd of 16 char x 2 lines. I can't find in google and Arduino site, how to set the cursor on the second line of the display! Does anyone know it? sure!
I found these commands till now, but I think non of them does this job:
//LcdCommandWrite(0x01); // clear display, set the cursor to home position
//LcdCommandWrite(0x02); // set cursor position to zero
//LcdCommandWrite(0x0A); // set the display off
//LcdCommandWrite(0x0E); // set the display on and with out cursor blink
//LcdCommandWrite(0x0F); // set the display on and  with cursor blink
//LcdCommandWrite(0x0F); // Â cursor blink
//LcdCommandWrite(0x0E); // Â cursor not blink
//LcdCommandWrite(0x18); // shift display and cursor to the left
//LcdCommandWrite(0x1c); // shift display and cursor to the right
//LcdCommandWrite(0x14); // shift cursor to the right
//LcdCommandWrite(0x10); // shift cursor to the left
I've never used the HEF4094 method you talk about, though I did hack together a similar lib a while ago. Based on that (or, liquidCrystal Library, really) and on what you posted, I would guess this:
int row = 1; // row (line nr 0 - 3)
int col = 3; Â // a column position
int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 };
unsigned char setCursor = 0x80 | (col + row_offset[row]);
LcdCommandWrite(setCursor); // shift cursor to the left
Untested used directly like this. Also I still haven't gotten around to check wether or not an "int" is unneccesary for the col and row_offset array, I guess it could be "unsigned char" to save some memory.
Also, the LCD's RS line must be pulled LOW to indicate a command.But I guess the function LcdCommandWrite does that.