Example #1
0
bool gui_init()
{
	gui_CurList = 0;
	return SSD1306_Init();
}
Example #2
0
int main(void)
{

  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_I2C1_Init();
  MX_USART1_UART_Init();

  /* USER CODE BEGIN 2 */
	uint8_t res = SSD1306_Init();
	printf("OLED init: %d\n", res);
	SSD1306_GotoXY(10,27);
	SSD1306_Puts("OLED inited", &Font_7x10, 1);
	SSD1306_GotoXY(10,52);
	SSD1306_Puts("Lutsai Alexander", &Font_7x10, 1);
	SSD1306_UpdateScreen(); //display
	HAL_Delay(1000);

	SSD1306_Fill(0); //clear oled
	int y1 = 64, y2 = 0;
	while(y1 > 0)
	{
		SSD1306_DrawLine(0, y1, 128, y2, 1);
		SSD1306_UpdateScreen();
		y1 -= 2;
		y2 += 2;
	}
	HAL_Delay(1000);
	SSD1306_Fill(1); //clear oled
	SSD1306_UpdateScreen();
	SSD1306_DrawCircle(64, 32, 25, 0);
	SSD1306_UpdateScreen();
	SSD1306_DrawCircle(128, 32, 25, 0);
	SSD1306_UpdateScreen();
	SSD1306_DrawCircle(0, 32, 25, 0);
	SSD1306_UpdateScreen();
	SSD1306_DrawCircle(32, 32, 25, 0);
	SSD1306_UpdateScreen();
	SSD1306_DrawCircle(96, 32, 25, 0);
	SSD1306_UpdateScreen();
	HAL_Delay(1000);
	
	SSD1306_Fill(0); //clear oled
	SSD1306_UpdateScreen();
	int32_t i = -100;
	char buf[10];
	while(i<=100)
	{
		memset(&buf[0], 0, sizeof(buf));
		sprintf(buf, "%d", i);
		SSD1306_GotoXY(50,27);
		SSD1306_Puts(buf, &Font_7x10, 1);
		SSD1306_DrawLine(64, 10, (i+100)*128/200, (i+100)*64/200, 1);
		SSD1306_UpdateScreen();
		SSD1306_Fill(0); //clear oled
		i++;
	}
	SSD1306_GotoXY(50,27);
	sprintf(buf, "END");
	SSD1306_Puts(buf, &Font_7x10, 1);
	SSD1306_GotoXY(10,52);
	SSD1306_Puts("Lutsai Alexander", &Font_7x10, 1);
	SSD1306_UpdateScreen();
	SSD1306_Fill(0); //clear oled
	HAL_Delay(1000);

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
	uint32_t lst = 0, cu;
  while (1)
  {
  /* USER CODE END WHILE */
		cu = HAL_GetTick();
		SSD1306_GotoXY(30,27);
		sprintf(buf, "fps: %f", 1000.0 / (double)(cu - lst));
		SSD1306_Puts(buf, &Font_7x10, 1);
		SSD1306_GotoXY(7,52);
		SSD1306_Puts("Lutsai Alexander", &Font_7x10, 1);
		SSD1306_UpdateScreen();
		SSD1306_Fill(0); //clear oled
		lst = cu;
  /* USER CODE BEGIN 3 */

  }
  /* USER CODE END 3 */

}