Ejemplo n.º 1
0
void LCDInit(void)
{
	int i;

	LCDReset();

	LCDSend(PSWRESET);			// software reset
	SpinDelay(100);
	LCDSend(PSLEEPOUT);			// exit sleep mode
	LCDSend(PBSTRON);			// booster on
	LCDSend(PDISPON);			// display on
	LCDSend(PNORON);			// normal on
	LCDSend(PMADCTL);			// rotate display 180 deg
	LCDSend(0xC0);

	LCDSend(PCOLMOD);			// color mode
	LCDSend(0x02);				// 8bpp color mode

    LCDSend(PSETCON);			// set contrast
    LCDSend(0xDC);

	// clear display
    LCDSetXY(0,0);
	LCDSend(PRAMWR);			// Write to display
	i=LCD_XRES*LCD_YRES;
	while(i--) LCDSend(WHITE);
  
  // test text on different colored backgrounds
	LCDString(" The quick brown fox  ",	(char *)&FONT6x8,1,1+8*0,WHITE  ,BLACK );
	LCDString("  jumped over the     ",	(char *)&FONT6x8,1,1+8*1,BLACK  ,WHITE );
	LCDString("     lazy dog.        ",	(char *)&FONT6x8,1,1+8*2,YELLOW ,RED   );
	LCDString(" AaBbCcDdEeFfGgHhIiJj ",	(char *)&FONT6x8,1,1+8*3,RED    ,GREEN );
	LCDString(" KkLlMmNnOoPpQqRrSsTt ",	(char *)&FONT6x8,1,1+8*4,MAGENTA,BLUE  );
	LCDString("UuVvWwXxYyZz0123456789",	(char *)&FONT6x8,1,1+8*5,BLUE   ,YELLOW);
	LCDString("`-=[]_;',./~!@#$%^&*()",	(char *)&FONT6x8,1,1+8*6,BLACK  ,CYAN  );
	LCDString("     _+{}|:\\\"<>?     ",(char *)&FONT6x8,1,1+8*7,BLUE  ,MAGENTA);
  
	// color bands
	LCDFill(0, 1+8* 8, 132, 8, BLACK);
	LCDFill(0, 1+8* 9, 132, 8, WHITE);
	LCDFill(0, 1+8*10, 132, 8, RED);
	LCDFill(0, 1+8*11, 132, 8, GREEN);
	LCDFill(0, 1+8*12, 132, 8, BLUE);
	LCDFill(0, 1+8*13, 132, 8, YELLOW);
	LCDFill(0, 1+8*14, 132, 8, CYAN);
	LCDFill(0, 1+8*15, 132, 8, MAGENTA);

}
Ejemplo n.º 2
0
bool G15::Write( const uint32_t iData, G15DisplayState throwaway )
{
	unsigned char data[160*43];
	memcpy(data, OpenITGLCD, 160*43);

	// for now, just shows bars on the LCD to indicate lights
	for (unsigned i = 0; i < 32; i++)
	{
		if ( iData & (1 << i) )
		{
			for (unsigned j = 0; j < 43; j++)
			{
				for( unsigned col = 5*i; col < (5*i)+5; col++ )
				{
					data[j*160 + col] ^= 1;
				}
			}
		}
	}

	// pad lights (P1 Left,Right,Up,Down): 8 9 10 11
	// pad lights (P2 Left,Right,Up,Down): 12 13 14 15

	// P1 Left
	if (iData & (1 << 8))
	{
		LCDFill( data, 15, 84, 12, 13 );
	}
	// P1 Right
	if (iData & (1 << 9))
	{
		LCDFill( data, 15, 110, 12, 13 );
	}
	// P1 Up
	if (iData & (1 << 10))
	{
		LCDFill( data, 0, 97, 12, 14 );
	}
	// P1 Down
	if (iData & (1 << 11))
	{
		LCDFill( data, 29, 97, 12, 14 );
	}

	// P2 Left
	if (iData & (1 << 12))
	{
		LCDFill( data, 15, 123, 12, 13 );
	}
	// P2 Right
	if (iData & (1 << 13))
	{
		LCDFill( data, 15, 148, 12, 13 );
	}
	// P2 Up
	if (iData & (1 << 14))
	{
		LCDFill( data, 0, 135, 12, 14 );
	}
	// P2 Down
	if (iData & (1 << 15))
	{
		LCDFill( data, 29, 135, 12, 14 );
	}

	return WriteLCD(data);
}