void test_Oled(void) { int i; ExpanderSetbit(7,0); HAL_Delay(100); ExpanderSetbit(7,1); HAL_Delay(100); ssd1306Init(0); ssd1306ClearScreen(); ssd1306Refresh(); ssd1306DrawBmp(Pacabot_bmp, 1, 10, 128, 40); ssd1306Refresh(); HAL_Delay(3500); ssd1306ClearScreen(); ssd1306Refresh(); // miniature bitmap display ssd1306DrawCircle(40, 30, 20); // ssd1306DrawCircle(50, 20, 10); ssd1306FillCircle(100, 40, 15); ssd1306DrawRect(110, 3, 15, 6); ssd1306FillRect(1, 60, 10, 20); ssd1306DrawLine(5, 45, 70, 60); ssd1306Refresh(); HAL_Delay(5500); ssd1306ClearScreen(); for (i = 0; i <= 100; i+=2) { ssd1306ProgressBar(10, 20, i); // HAL_Delay(1); ssd1306Refresh(); } ssd1306ShiftFrameBuffer(8); ssd1306DrawString(13, 1, "Oled 128x64", &Font_8x8); // 3x6 is UPPER CASE only ssd1306Refresh(); HAL_Delay(1500); ssd1306DrawString(1, 25, "Driver for STM32f4xx", &Font_5x8); // 3x6 is UPPER CASE only ssd1306Refresh(); HAL_Delay(500); ssd1306DrawString(1, 35, "2 Wire SPI mode", &Font_5x8); // 3x6 is UPPER CASE only ssd1306Refresh(); HAL_Delay(1500); ssd1306DrawString(10, 55, "BY PLF, PACABOT TEAM", &Font_3x6); // 3x6 is UPPER CASE only ssd1306Refresh(); HAL_Delay(5000); ssd1306ClearScreen(); ssd1306Refresh(); }
void testWallsSensors() { telemetersInit(); telemetersStart(); while (expanderJoyFiltered() != JOY_LEFT) { ssd1306ClearScreen(MAIN_AREA); if (getWallPresence(FRONT_WALL) == TRUE) { ssd1306FillRect(0, 59, 54, 5); } else { ssd1306DrawRect(0, 59, 54, 5); } if (getWallPresence(LEFT_WALL) == TRUE) { ssd1306FillRect(0, 10, 5, 54); } else { ssd1306DrawRect(0, 10, 5, 54); } if (getWallPresence(RIGHT_WALL) == TRUE) { ssd1306FillRect(49, 10, 5, 54); } else { ssd1306DrawRect(49, 10, 5, 54); } ssd1306PrintIntAtLine(60, 1, "FL ", (uint32_t) (getTelemeterDist(TELEMETER_FL) * 10.00), &Font_5x8); ssd1306PrintIntAtLine(60, 2, "DL ", (uint32_t) (getTelemeterDist(TELEMETER_DL) * 10.00), &Font_5x8); ssd1306PrintIntAtLine(60, 3, "DR ", (uint32_t) (getTelemeterDist(TELEMETER_DR) * 10.00), &Font_5x8); ssd1306PrintIntAtLine(60, 4, "FR ", (uint32_t) (getTelemeterDist(TELEMETER_FR) * 10.00), &Font_5x8); ssd1306Refresh(); } telemetersStop(); }
int test_oled1(void) { int i; ssd1306Init(0); ssd1306Refresh(); ssd1306ClearScreen(); ssd1306DrawBmp(Pacabot_bmp, 1, 1, 128, 40); ssd1306Refresh(); HAL_Delay(3500); ssd1306ClearScreen(); ssd1306Refresh(); // miniature bitmap display ssd1306DrawCircle(40, 30, 20); // ssd1306DrawCircle(50, 20, 10); ssd1306FillCircle(100, 40, 15); ssd1306DrawRect(110, 3, 15, 6); ssd1306FillRect(1, 60, 10, 20); ssd1306DrawLine(5, 45, 70, 60); ssd1306Refresh(); HAL_Delay(5500); ssd1306ClearScreen(); for (i = 0; i <= 100; i++) { ssd1306ProgressBar(10, 20, i); HAL_Delay(1); ssd1306Refresh(); } ssd1306ShiftFrameBuffer(8); ssd1306DrawString(13, 1, "Oled 128x64", &Font_8x8); // 3x6 is UPPER CASE only ssd1306Refresh(); HAL_Delay(1500); ssd1306DrawString(1, 25, "Driver for STM32f10x", &Font_5x8); // 3x6 is UPPER CASE only ssd1306Refresh(); HAL_Delay(500); ssd1306DrawString(1, 35, "4 Wire SPI mode", &Font_5x8); // 3x6 is UPPER CASE only ssd1306Refresh(); HAL_Delay(1500); ssd1306DrawString(10, 55, "BY PLF ALL RIGHTS RESERVED", &Font_3x6); // 3x6 is UPPER CASE only ssd1306Refresh(); HAL_Delay(5000); ssd1306ClearScreen(); ssd1306Refresh(); return 0; }
void displayMenu(const menuItem menu,int line) { //char str[5]; ssd1306ClearScreen(); ssd1306DrawString(0,0,menu.name,&Font_5x8); ssd1306DrawLine(0,8,128,8); for (int i=0;i<MAX_LINE_SCREEN;i++) { if(menu.line[i].name!=null) ssd1306DrawString(0,MARGIN*i+MARGIN+1,menu.line[line+i].name,&Font_5x8); switch (menu.line[line+i].type) { case 'b': if(*((bool*)menu.line[i+line].param)==true) ssd1306DrawString(90,MARGIN*i+MARGIN+1,"yes",&Font_5x8); else ssd1306DrawString(90,MARGIN*i+MARGIN+1,"no",&Font_5x8); break; case 'i': ssd1306PrintInt(90,MARGIN*i+MARGIN+1," ",*((unsigned int*)menu.line[i+line].param),&Font_3x6); break; case 'l': ssd1306PrintInt(90,MARGIN*i+MARGIN+1," ",*((unsigned long*)menu.line[i+line].param),&Font_3x6); break; case 'f': ssd1306DrawString(110,i*MARGIN+MARGIN+1,"->",&Font_3x6); break; case 'm': ssd1306DrawString(115,i*MARGIN+MARGIN+1,">",&Font_3x6); break; // case 'a': // sprintf(str,"%f.2",*(float*)menu.line[i+line].param); // ssd1306DrawString(110,i*MARGIN+MARGIN+1,str,&Font_3x6); } } uint8_t nmbr_item = 0; while(menu.line[nmbr_item].name != null) { nmbr_item++; } if (nmbr_item>MAX_LINE_SCREEN) { //int heightOneItem=54/nmbr_item; ssd1306DrawRect(123,(54*line)/nmbr_item+MARGIN,3,(54*MAX_LINE_SCREEN)/nmbr_item); } ssd1306Refresh(); }