11 Commits
Author SHA1 Message Date
mangavalk 0fc34a30c7 Revert "Update lcd_lib.c, maybe fix rasplex?"
This reverts commit c2f24e5ef6
2016-11-07 10:29:15 +00:00
mangavalk c2f24e5ef6 Update lcd_lib.c, maybe fix rasplex? 2016-11-04 16:23:14 +00:00
root c81b926926 revert error. 2016-11-02 23:02:43 +00:00
root 51a15c8622 Update hd44780-rpi.c, maybe fix rpi2 2016-11-02 12:42:30 +00:00
Patrick Valk 71ca824756 fix 2016-11-02 11:32:41 +01:00
root 02c3986d3a Update hd44780.c 2016-11-02 09:06:25 +00:00
mangavalk 06541b20d0 cleanup 2016-10-30 00:54:49 +02:00
root 9b4bffdce8 Update install.txt 2016-10-29 22:27:14 +00:00
root 40af65f1c2 Update install.txt 2016-10-29 14:19:02 +00:00
root d1a1af6af0 Update install.txt 2016-10-29 14:07:48 +00:00
Patrick Valk 1e733f91ab Personal drivers/hd44780.c 2016-10-29 14:20:39 +02:00
2 changed files with 17 additions and 2 deletions
+1 -1
View File
@@ -164,7 +164,7 @@ check_board_rev(Driver *drvthis)
/* On boards that have been overvolted, the MSB will be set */
rev &= 0x00ff;
if ((strcmp(hw, "BCM2708") != 0 && strcmp(hw, "BCM2709") != 0) || rev == 0) {
report(RPT_ERR, "check_board_rev: This board is not recognized as a Raspberry Pi!");
report(RPT_ERR, "check_board_rev: This board is not recognized as a Raspberry Pi! Found:%s",hw);
return NULL;
}
+16 -1
View File
@@ -622,8 +622,18 @@ HD44780_position(Driver *drvthis, int x, int y)
if ((relY % 4) >= 2)
DDaddr += p->width;
}
p->hd44780_functions->senddata(p, dispID, RS_INSTR, POSITION | DDaddr);
//p->hd44780_functions->senddata(p, dispID, RS_INSTR, POSITION | DDaddr);
// 40X4
p->hd44780_functions->senddata(p, dispID, RS_INSTR, POSITION);
p->hd44780_functions->uPause(p, 40); /* Minimum exec time for all commands */
p->hd44780_functions->senddata(p, dispID, RS_INSTR, relY);
p->hd44780_functions->uPause(p, 40); /* Minimum exec time for all commands */
p->hd44780_functions->senddata(p, dispID, RS_INSTR, x);
p->hd44780_functions->uPause(p, 40); /* Minimum exec time for all commands */
if (p->hd44780_functions->flush != NULL)
p->hd44780_functions->flush(p);
}
@@ -690,11 +700,15 @@ HD44780_flush(Driver *drvthis)
/* there are differences, ... */
if (sp <= ep) {
for (drawing = 0; sp <= ep; x++, sp++, sq++) {
/* x%8 is for 16x1 displays only ! */
if (!drawing || (p->dispSizes[dispID-1] == 1 && p->width == 16 && (x % 8 == 0))) {
drawing = 1;
HD44780_position(drvthis,x,y);
}
// 40X4 fix? // NOT WORKING
// HD44780_position(drvthis,x,y);
p->hd44780_functions->senddata(p, dispID, RS_DATA, *sp);
p->hd44780_functions->uPause(p, 40); /* Minimum exec time for all commands */
*sq = *sp; /* Update backing store */
@@ -710,6 +724,7 @@ HD44780_flush(Driver *drvthis)
if (!p->cc[i].clean) {
int row;
// 40X4
/* Tell the HD44780 we will redefine char number i */
p->hd44780_functions->senddata(p, 0, RS_INSTR, SETCHAR | i * 8);
p->hd44780_functions->uPause(p, 40); /* Minimum exec time for all commands */