コード例 #1
0
ファイル: perlcd.cpp プロジェクト: gitpan/Device-Arduino-LCD
// initializer.
void setup() {
  lcd.init();
  for (int i = 1; i > sizeof(analoguePins); i++) // setup the pins.
    pinMode(analoguePins[i], OUTPUT);
  logoScreen();			// blatent self-promotion.
  clearLineHistory();
  memset(blankLine, SPACE, (LINE_SIZE - 1));
  Serial.begin(SERIAL_SPEED);
}
コード例 #2
0
ファイル: main.c プロジェクト: Nikolay-Kha/GUILib
int main(void)
{
	GUI_InitHardware();
	logoScreen();
	// delay, like something booting
	int i, prevy;
	int x = 0;
	float a = 0.0f;
	for(i = 4000000; i > 0; i--);

	GUI_initScreen(&whiteScreen, White);
	GUI_initLabel(&labelBigFontView, &whiteScreen, "Hello, red world!", &lucidaConsole_18pt, Red, 4,4, GUI_CONTENT, GUI_CONTENT, AlignCenter);
	GUI_initLabel(&labelMediumFontView, &whiteScreen, "Hello, green world!", &lucidaConsole_12pt, Green, 4, 30, GUI_CONTENT, GUI_CONTENT, AlignCenter);
	GUI_initLabel(&labelSmallFontView, &whiteScreen, "Hello, blue world!", &lucidaConsole_6pt, Blue, 4, 52, GUI_CONTENT, GUI_CONTENT, AlignCenter);
	GUI_initComboBox(&comboBoxView, &whiteScreen, " Item1\0 Item2\0 Item3\0 Item4\0 Item5\0 Item6\0 Item7\0 Item8\0 Item9\0\0", &lucidaConsole_18pt, Black, 4, 74, GUI_CONTENT, GUI_CONTENT, AlignCenter);
	GUI_initButton(&checkBoxView, &whiteScreen, checkBoxUnchecked, &lucidaConsole_12pt, Magenta, GUI_TRUE, 4, 120, GUI_CONTENT, GUI_CONTENT, AlignCenter);
	GUI_initSlider(&sliderView, &whiteScreen, Cyan, 4, 170, LCD_XSIZE - 8, GUI_CONTENT);
	GUI_initButton(&greyScreenButton, &whiteScreen, "Grey screen", &lucidaConsole_12pt, Grey, GUI_FALSE, 210, 210, GUI_CONTENT, GUI_CONTENT, AlignCenter);

	GUI_initScreen(&greyScreen, Grey);
	GUI_initButton(&menuButton, &greyScreen, "Long press", &lucidaConsole_12pt, Blue, GUI_FALSE, 30, 20, GUI_CONTENT, GUI_CONTENT, AlignCenter);
	GUI_initButton(&calibrationButton, &greyScreen, "Calibrate", &lucidaConsole_12pt, Blue2, GUI_FALSE, 190, 20, GUI_CONTENT, GUI_CONTENT, AlignCenter);
	GUI_initContextMenuItem(&contextMenuItem1View, &menuButton, "Menu Item 1", &lucidaConsole_12pt, LightGrey);
	GUI_initContextMenuItem(&contextMenuItem2View, &menuButton, "Menu Item 2", &lucidaConsole_12pt, LightGrey);
	GUI_initProgressBar(&progressBarView, &greyScreen, "ProgressBar", &lucidaConsole_12pt, Green, 78, 80, 160, GUI_CONTENT, AlignCenter);
	GUI_initButton(&whiteScreenButton, &greyScreen, "White screen", &lucidaConsole_12pt, White, GUI_FALSE, 4, 210, GUI_CONTENT, GUI_CONTENT, AlignCenter);

	GUI_drawScreen(&whiteScreen);
    while(1)
    {
    	i++;
    	if(i % 200000 == 0) {
    		if(progressBarView.value <= GUI_PROGRESSBAR_MAX_VALUE - 5)
    			progressBarView.value += 5;
    		else
    			progressBarView.value = 0;
    		GUI_drawView(&progressBarView);
    	}
    	if(i % 10000 == 0) {
    		// free draw between y=120...200
			const int ymin = 120, ymax = 200;

			if(GUI_GetCurrentScreen() == &greyScreen) {
				GUI_LCD_Rectangle(x, ymin, 3, ymax - ymin, GUI_GetCurrentScreen()->bgColor, GUI_GetCurrentScreen()->bgColor);

				// a in range -PI...PI
				a += 0.05f;
				if(a > 3.14159265358f)
					a = -3.14159265358f;
				float sina;
				// calc sin, actually can be replaced with sinf() from libmath
				if (a < 0)	{
					sina = 1.27323954f * a + 0.405284735f * a * a;
					if (sina < 0)
						sina = 0.225f * (sina *-sina - sina) + sina;
					else
						sina = 0.225f * (sina * sina - sina) + sina;
				} else {
					sina = 1.27323954f * a - 0.405284735f * a * a;
					if (sina < 0)
						sina = 0.225f * (sina *-sina - sina) + sina;
					else
						sina = 0.225f * (sina * sina - sina) + sina;
				}

				int y = ymin + (1 + sina) * (ymax - ymin) / 2;
				if(x > 0)
					GUI_LCD_Line(x, y, x - 1, prevy, Red);
				prevy = y;

				if(x < LCD_XSIZE - 1)
					x++;
				else
					x = 0;
			}
    	}
    }
}