void gui_upd_display() { SSD1306_UpdateScreen(); SSD1306_Fill(SSD1306_COLOR_BLACK); }
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 */ }