コード例 #1
0
ファイル: main.c プロジェクト: SirVolta/svlib
int
main (void)
{
 trace_puts (PROJNAME);

 initIO();
 initIRQ();
 initDWT();
 initSPI();

 PCD8544_Init (0x38);

 char buf[25];
 struct time_types tm;
 uint8_t x, y;

 PCD8544_GotoXY (0, 0);
 PCD8544_Puts ("SirVolta's", PCD8544_Pixel_Set, PCD8544_FontSize_5x7);
 PCD8544_GotoXY (0, PCD8544_GetX_Y(PCD8544_Pos_Y) + PCD8544_CHAR5x7_HEIGHT + 1);
 PCD8544_Puts ("Library", PCD8544_Pixel_Set, PCD8544_FontSize_5x7);
 PCD8544_GotoXY (0, PCD8544_GetX_Y(PCD8544_Pos_Y) + (PCD8544_CHAR5x7_HEIGHT * 2) + 1);
 PCD8544HorizontalLine(PCD8544_GetX_Y(PCD8544_Pos_Y) - (PCD8544_CHAR5x7_HEIGHT  / 2));
 PCD8544HorizontalLine(PCD8544_GetX_Y(PCD8544_Pos_Y) + (PCD8544_CHAR5x7_HEIGHT + 3));

 for (uint8_t i = 10; i > 2; i -= 2)
  PCD8544_DrawCircle(65, 10, i, PCD8544_Pixel_Set);
 PCD8544_DrawFilledCircle(65, 10, 2, PCD8544_Pixel_Set);

 PCD8544_Refresh ();

 PCD8544_GetXY(&x, &y);
 while (1)
  {
   GPIO_ToggleBits(LEDPORT, LEDPIN);
   delayMs(1000);

   tm.seconds = (uint32_t)(uptime_ms / 1000);
   secondsToTime(&tm);
   sprintf(buf, "%.2lud%.2luh%.2lum%.2lus\n", tm.days, tm.hours, tm.minutes, tm.seconds);


   //clear line of text, then print it to display
   PCD8544_DrawFilledRectangle(x, y, x + PCD8544_WIDTH, y + PCD8544_CHAR5x7_HEIGHT, PCD8544_Pixel_Clear);
   PCD8544_GotoXY (x, y);
   PCD8544_Puts (buf, PCD8544_Pixel_Set, PCD8544_FontSize_5x7);
   PCD8544_Refresh ();
  }
}
コード例 #2
0
ファイル: menu.c プロジェクト: PUT-PTM/STMSnakeConsole
//Zmiana ustawieñ
void opcje()
{
	PCD8544_Clear();
	PCD8544_Refresh();
	PCD8544_GotoXY(14, 5);
	PCD8544_Puts("SNAKE", PCD8544_Pixel_Set, PCD8544_FontSize_5x7);
	PCD8544_GotoXY(10, 19);
	PCD8544_Puts("Paulina Kurpisz", PCD8544_Pixel_Set, PCD8544_FontSize_3x5);
	PCD8544_GotoXY(10, 32);
	PCD8544_Puts("Michal Suchorzynski", PCD8544_Pixel_Set, PCD8544_FontSize_3x5);
	PCD8544_Refresh();
	while(kier!=2)
	{
	}
	kier=0;
    PCD8544_Clear();
    PCD8544_Refresh();
}
コード例 #3
0
ファイル: gra_snake.c プロジェクト: PUT-PTM/STMSnakeConsole
void draw_score()
{

	char buffor[8];
	itoa(score,buffor,9);
	PCD8544_GotoXY(10,38);
	PCD8544_Puts("WYNIK: ",PCD8544_Pixel_Set, PCD8544_FontSize_5x7);
	PCD8544_Puts(buffor ,PCD8544_Pixel_Set, PCD8544_FontSize_5x7);

}
コード例 #4
0
void PCD8544_Clear(void) {
	unsigned int i;
	PCD8544_Home();
	for (i = 0; i < PCD8544_BUFFER_SIZE; i++) {
		PCD8544_Buffer[i] = 0x00;
		//PCD8544_Write(PCD8544_DATA, 0x00);
	}
	PCD8544_GotoXY(0, 0);
	PCD8544_UpdateArea(0, 0, PCD8544_WIDTH - 1, PCD8544_HEIGHT - 1);
	PCD8544_Refresh();
}
コード例 #5
0
ファイル: menu.c プロジェクト: PUT-PTM/STMSnakeConsole
// Wywietlenie rekordu
void rekord()
{
	PCD8544_Clear();
	PCD8544_Refresh();
	char buffor[8];
	itoa(the_best,buffor,9);
	PCD8544_GotoXY(0, 20);
	PCD8544_Puts("TWOJ REKORD:", PCD8544_Pixel_Set, PCD8544_FontSize_5x7);
	PCD8544_Puts(buffor ,PCD8544_Pixel_Set, PCD8544_FontSize_5x7);
	PCD8544_Refresh();
	while(kier!=2)
	{
	}
	kier=0;
	PCD8544_Clear();
	PCD8544_Refresh();
}
コード例 #6
0
ファイル: menu.c プロジェクト: PUT-PTM/STMSnakeConsole
// G³owne menu
void menu()
{
	TIM_Cmd(TIM2, ENABLE);

	while(1)
	{
		PCD8544_GotoXY(0,10);
		PCD8544_Puts("    START", PCD8544_Pixel_Set, PCD8544_FontSize_5x7);
		PCD8544_GotoXY(0,20);
		PCD8544_Puts("    REKORD", PCD8544_Pixel_Set, PCD8544_FontSize_5x7);
		PCD8544_GotoXY(0,30);
		PCD8544_Puts("    AUTORZY", PCD8544_Pixel_Set, PCD8544_FontSize_5x7);
		PCD8544_GotoXY(0,40);
		PCD8544_Puts("    ZAKONCZ", PCD8544_Pixel_Set, PCD8544_FontSize_5x7);

		// WskaŸnik w menu

		PCD8544_GotoXY(0,b);
		PCD8544_Puts("-->", PCD8544_Pixel_Set, PCD8544_FontSize_5x7);

		PCD8544_Refresh();


		// Wskaznik do góry
		if(kier==3 && b!=10)
		{
			PCD8544_GotoXY(0,b);
			PCD8544_Puts("   ", PCD8544_Pixel_Set, PCD8544_FontSize_5x7);
			b=b-10;
			kier=0;
		}
		// Wska¿nik w dó³
		if(kier==4&& b!=40)
		{
			PCD8544_GotoXY(0,b);
			PCD8544_Puts("   ", PCD8544_Pixel_Set, PCD8544_FontSize_5x7);
			b=b+10;
			kier=0;
		}
		if(kier==1 && b==10)
		{
			gra();
			kier=0;
		}
		// Rekord
		if(kier==1 && b==20)
		{
		    rekord();
			kier=0;
		}
		// Opcje
    	if(kier==1 && b==30)
    	{

    	    PCD8544_Clear();
    	    PCD8544_Refresh();
    		opcje();
    		kier=0;
    	}
    	// Wyjscie
    	if(kier==1 && b==40)
    	{
    		PCD8544_Clear();
    		kier=0;
    		return;
		}
	}
}