void glcdHome(void) { // initialize addresses/positions glcdStartLine(0); glcdSetAddress(0,0); // initialize local data structures GrLcdState.ctrlr[0].xAddr = GrLcdState.ctrlr[0].yAddr = 0; GrLcdState.ctrlr[1].xAddr = GrLcdState.ctrlr[1].yAddr = 0; }
void glcdHome(void) { uint8_t i; // initialize addresses/positions glcdStartLine(0); glcdSetAddress(0,0); // initialize local data structures for(i=0; i<GLCD_NUM_CONTROLLERS; i++) { GrLcdState.ctrlr[i].xAddr = 0; GrLcdState.ctrlr[i].yAddr = 0; } }
void lcdtest(void) { unsigned char key = 0; glcdClearScreen(); glcdSetAddress(4,LINE2); glcdPutStr("Graphic LCD Test"); glcdSetAddress(4,LINE3); glcdPutStr("HD61202/3 controller"); glcdSetAddress(4,LINE4); glcdPutStr("KS0108/7 controller"); glcdSetAddress(4,LINE5); glcdPutStr("Press buttons to"); glcdSetAddress(4,LINE6); glcdPutStr("test functions..."); glcdRectangle(0, 0, 64, 128); while(1) { timerPause(10); key = ~inb(PINA); glcdSetAddress(4,LINE7); rprintf("Button status: %x ", key); if(key == KEY1) { unsigned char i ; glcdClearScreen(); for ( i=0; i<128; i+=3) { glcdSetDot(i,63 - i/2); glcdDelay(0x5fff); } for ( i=0; i<128; i+=3) { glcdClearDot(i,63 - i/2); glcdDelay(0x5fff); } } if(key == KEY2) { glcdClearScreen(); glcdCircle(25,20,17); glcdDelay(0xffff); glcdCircle(90,30,15); glcdDelay(0xffff); glcdCircle(55,30,23); glcdDelay(0xffff); glcdCircle(100,48,15); glcdDelay(0xffff); glcdCircle(34,50,10); glcdDelay(0xffff); glcdCircle(60,55,8); } if(key == KEY3) { glcdClearScreen(); glcdRectangle(54, 41, 6 , 12); glcdDelay(0xffff); glcdRectangle(34, 12, 32, 2); glcdDelay(0xffff); glcdRectangle(23, 34, 17, 21); glcdDelay(0xffff); glcdRectangle(62, 20, 42, 58); glcdDelay(0xffff); glcdRectangle(4 , 30, 12, 12); } if(key == KEY4) { glcdClearScreen(); glcdSetAddress(0,LINE1); glcdPutStr("LINE 1"); glcdDelay(0xffff); glcdSetAddress(5,LINE2); glcdPutStr("LINE 2"); glcdDelay(0xffff); glcdSetAddress(10,LINE3); glcdPutStr("LINE 3"); glcdDelay(0xffff); glcdSetAddress(15,LINE4); glcdPutStr("LINE 4"); glcdDelay(0xffff); glcdSetAddress(20,LINE5); glcdPutStr("LINE 5"); glcdDelay(0xffff); glcdSetAddress(25,LINE6); glcdPutStr("LINE 6"); glcdDelay(0xffff); glcdSetAddress(30,LINE7); glcdPutStr("LINE 7"); glcdDelay(0xffff); glcdSetAddress(35,LINE8); glcdPutStr("LINE 8"); glcdDelay(0xffff); } if(key == KEY5) { glcdClearScreen(); glcdSetAddress(0,LINE2); glcdPutStr(" !"); glcdWriteChar('"'); glcdPutStr("#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ"); glcdPutStr("[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"); } if(key == KEY6) { unsigned char i; for (i=0; i<64; i++) { glcdStartLine(64- i - 1); glcdDelay(0x5fff); } } if(key == KEY7) { unsigned char i; for (i=0; i<64; i++) { glcdStartLine(i + 1); glcdDelay(0x5fff); } } if (key == KEY8) { // glcdBackLight(OFF); // glcdBackLight(ON); } } }