// Example for GEVINO TFT v1.1 // 09/12/2021 Giorgio Evangelista // Install "Arduino SAMD board" // Use "Arduino Zero Native Port" or "GEVINO SAM-BA bootloader" /* * * Per passare alla modalità verticale, bisogna cambiare la mappa caratteri scritta nel chip flash presente sul PCB. * Per avere più memoria per le immagini si può saldare un ulteriore chip. * Partendo dalla cartella Arduino\libraries\GEVINI\Vertical * Copiare il file font.bin nella SD e metterlo nel gevino. * copiare font.h e fontExt.h nella cartelle della libreria Arduino\libraries\GEVINI\ * Caricare questo esempio, oppure il test, al boot ci metterà diversi minuti per copiare il file, dalla SD al chip flash saldato. * * Per ritornare alla visione Horizzontale bisogna ripetere tutto dalla cartella Arduino\libraries\GEVINI\Horizzontal * * * * To switch to vertical mode, change the character map written in the flash chip on the PCB. * For more memory for images, it is possible weld one other chip. * Starting from the folder Arduino\libraries\GEVINI\Vertical * Copy the font.bin file to the SD and put it in the gevino. * Copy font.h and fontExt.h in the library folder Arduino\libraries\GEVINI\ * Load this example, or the test, to boot will put several minutes to copy the file, from the SD to the welded flash chip. * * To return to the horizional vision you have to repeat everything from the Arduino\libraries\GEVINI\Horizzontal folder. * * * * */ #include "gevino_tft_io.h" // Respect this sequence #include "All_76_Pic_65K.h" // Rispetta questa sequenza #include "gevino_tft_display.h" void setup() { SerialUSB.begin(115200); SerialUSB.println("Begin Test"); gevino_io_setup(); tft.init(); // Ruota Font interno. // Rotate internal font // tft.writeReg(RA8876_REG_CCR1, tft.readReg(RA8876_REG_CCR1) | 16 ); // Registro CDh - // tft.writeReg(RA8876_REG_DPCR, tft.readReg(RA8876_REG_DPCR) | 8 ); // registro 12h - VDIR bit tft.selectInternalFont(RA8876_FONT_SIZE_32); tft.setCursor(0,0); CopySDonFlash(); // if exist All_76_Pic_65K.bin or font.bin copy on flash tft.setCursor(32,0); tft.println("GEVA elettronica"); delay(500); tft.clearScreen(BLACK); } void loop() { int line; tft.clearScreen(BLACK); line = 0; tft.setTextColor(WHITE); // Clear Background tft.setFont(¬oSans_8pt); tft.setCursor(599, line); tft.println("notoSans_8pt"); line += (8*2); tft.setFont(¬oSans_12pt); tft.setCursor(599, line); tft.println("notoSans_12pt"); line += (12*2); tft.setFont(¬oSans_16pt); tft.setCursor(599, line); tft.println("notoSans_16pt"); line += (16*2); tft.setFont(¬oSans_20pt); tft.setCursor(599, line); tft.println("notoSans_20pt"); line += (20*2); tft.setFont(¬oSans_32pt); tft.setCursor(599, line); tft.println("notoSans_32pt"); line += (32*2); tft.setFont(¬oSans_48pt); tft.setCursor(599, line); tft.println("notoSans_48pt"); line += (48*2); tft.setFont(¬oSans_64pt); tft.setCursor(599, line); tft.println("Sans_64pt"); line += (64*2); tft.setFont(¬oSans_80pt); tft.setCursor(599, line); tft.println("80pt"); line += (80*2); tft.setFont(¬oSans_96pt); tft.setCursor(599, line); tft.println("96pt"); line += (96*2); // tft.setFont(¬oSans_112pt); // tft.setCursor(599, line); // tft.println("112pt"); tft.setFont(¬oSans_48pt); tft.setCursor(599, line); Colors(); delay(1500); tft.clearScreen(BLACK); line = 0; tft.setTextColor(WHITE); // Clear Background tft.setFont(¬oSansBold_8pt); tft.setCursor(599, line); tft.println("SansBold_8pt"); line += (8*2); tft.setFont(¬oSansBold_12pt); tft.setCursor(599, line); tft.println("SansBold_12pt"); line += (12*2); tft.setFont(¬oSansBold_16pt); tft.setCursor(599, line); tft.println("SansBold_16pt"); line += (16*2); tft.setFont(¬oSansBold_20pt); tft.setCursor(599, line); tft.println("SansBold_20pt"); line += (20*2); tft.setFont(¬oSansBold_32pt); tft.setCursor(599, line); tft.println("SansBold_32pt"); line += (32*2); tft.setFont(¬oSansBold_48pt); tft.setCursor(599, line); tft.println("SansBold_48pt"); line += (48*2); tft.setFont(¬oSansBold_64pt); tft.setCursor(599, line); tft.println("SansB_64pt"); line += (64*2); tft.setFont(¬oSansBold_80pt); tft.setCursor(599, line); tft.println("80pt"); line += (80*2); tft.setFont(¬oSansBold_96pt); tft.setCursor(599, line); tft.println("96pt"); line += (96*2); // tft.setFont(¬oSansBold_112pt); // tft.setCursor(599, line); // tft.println("B_112pt"); tft.setFont(¬oSansBold_48pt); tft.setCursor(599, line); Colors(); delay(1500); tft.clearScreen(BLACK); line = 0; tft.setTextColor(WHITE); // Clear Background tft.setFont(¬oSansItal_8pt); tft.setCursor(599, line); tft.println("SansItal_8pt"); line += (8*2); tft.setFont(¬oSansItal_12pt); tft.setCursor(599, line); tft.println("SansItal_12pt"); line += (12*2); tft.setFont(¬oSansItal_16pt); tft.setCursor(599, line); tft.println("SansItal_16pt"); line += (16*2); tft.setFont(¬oSansItal_20pt); tft.setCursor(599, line); tft.println("SansItal_20pt"); line += (20*2); tft.setFont(¬oSansItal_32pt); tft.setCursor(599, line); tft.println("SansItal_32pt"); line += (32*2); tft.setFont(¬oSansItal_48pt); tft.setCursor(599, line); tft.println("SansItal_48pt"); line += (48*2); tft.setFont(¬oSansItal_64pt); tft.setCursor(599, line); tft.println("SansI_64pt"); line += (64*2); tft.setFont(¬oSansItal_80pt); tft.setCursor(599, line); tft.println("80pt"); line += (80*2); tft.setFont(¬oSansItal_96pt); tft.setCursor(599, line); tft.println("96pt"); line += (96*2); // tft.setFont(¬oSansItal_112pt); // tft.setCursor(599, line); // tft.println("I_112pt"); tft.setFont(¬oSansItal_48pt); tft.setCursor(599, line); Colors(); delay(1500); tft.clearScreen(BLACK); line = 0; tft.setTextColor(WHITE); // Clear Background tft.setFont(¬oSerif_8pt); tft.setCursor(599, line); tft.println("notoSerif_8pt"); line += (8*2); tft.setFont(¬oSerif_12pt); tft.setCursor(599, line); tft.println("notoSerif_12pt"); line += (12*2); tft.setFont(¬oSerif_16pt); tft.setCursor(599, line); tft.println("notoSerif_16pt"); line += (16*2); tft.setFont(¬oSerif_20pt); tft.setCursor(599, line); tft.println("notoSerif_20pt"); line += (20*2); tft.setFont(¬oSerif_32pt); tft.setCursor(599, line); tft.println("notoSerif_32pt"); line += (32*2); tft.setFont(¬oSerif_48pt); tft.setCursor(599, line); tft.println("notoSerif_48pt"); line += (48*2); tft.setFont(¬oSerif_64pt); tft.setCursor(599, line); tft.println("Serif_64pt"); line += (64*2); tft.setFont(¬oSerif_80pt); tft.setCursor(599, line); tft.println("80pt"); line += (80*2); tft.setFont(¬oSerif_96pt); tft.setCursor(599, line); tft.println("96pt"); line += (96*2); // tft.setFont(¬oSerif_112pt); // tft.setCursor(599, line); // tft.println("112pt"); tft.setFont(¬oSerif_48pt); tft.setCursor(599, line); Colors(); delay(1500); tft.clearScreen(BLACK); line = 0; tft.setTextColor(WHITE); // Clear Background tft.setFont(¬oSerifBold_8pt); tft.setCursor(599, line); tft.println("SerifBold_8pt"); line += (8*2); tft.setFont(¬oSerifBold_12pt); tft.setCursor(599, line); tft.println("SerifBold_12pt"); line += (12*2); tft.setFont(¬oSerifBold_16pt); tft.setCursor(599, line); tft.println("SerifBold_16pt"); line += (16*2); tft.setFont(¬oSerifBold_20pt); tft.setCursor(599, line); tft.println("SerifBold_20pt"); line += (20*2); tft.setFont(¬oSerifBold_32pt); tft.setCursor(599, line); tft.println("SerifBold_32pt"); line += (32*2); tft.setFont(¬oSerifBold_48pt); tft.setCursor(599, line); tft.println("SerifBold_48pt"); line += (48*2); tft.setFont(¬oSerifBold_64pt); tft.setCursor(599, line); tft.println("SerifB_64pt"); line += (64*2); tft.setFont(¬oSerifBold_80pt); tft.setCursor(599, line); tft.println("80pt"); line += (80*2); tft.setFont(¬oSerifBold_96pt); tft.setCursor(599, line); tft.println("96pt"); line += (96*2); // tft.setFont(¬oSerifBold_112pt); // tft.setCursor(599, line); // tft.println("B_112pt"); tft.setFont(¬oSerifBold_48pt); tft.setCursor(599, line); Colors(); delay(1500); tft.clearScreen(BLACK); line = 0; tft.setTextColor(WHITE); // Clear Background tft.setFont(¬oSerifItal_8pt); tft.setCursor(599, line); tft.println("SerifItal_8pt"); line += (8*2); tft.setFont(¬oSerifItal_12pt); tft.setCursor(599, line); tft.println("SerifItal_12pt"); line += (12*2); tft.setFont(¬oSerifItal_16pt); tft.setCursor(599, line); tft.println("SerifItal_16pt"); line += (16*2); tft.setFont(¬oSerifItal_20pt); tft.setCursor(599, line); tft.println("SerifItal_20pt"); line += (20*2); tft.setFont(¬oSerifItal_32pt); tft.setCursor(599, line); tft.println("SerifItal_32pt"); line += (32*2); tft.setFont(¬oSerifItal_48pt); tft.setCursor(599, line); tft.println("SerifItal_48pt"); line += (48*2); tft.setFont(¬oSerifItal_64pt); tft.setCursor(599, line); tft.println("SerifI_64pt"); line += (64*2); tft.setFont(¬oSerifItal_80pt); tft.setCursor(599, line); tft.println("80pt"); line += (80*2); tft.setFont(¬oSerifItal_96pt); tft.setCursor(599, line); tft.println("96pt"); line += (96*2); // tft.setFont(¬oSerifItal_112pt); // tft.setCursor(599, line); // tft.println("I_112pt"); tft.setFont(¬oSerifItal_48pt); tft.setCursor(599, line); Colors(); delay(1500); tft.clearScreen(BLACK); line = 0; tft.setFont(¬oSansMono_8pt); tft.setCursor(599, line); tft.println("SansMono_8pt"); line += (8*2); tft.setFont(¬oSansMono_12pt); tft.setCursor(599, line); tft.println("SansMono_12pt"); line += (12*2); tft.setFont(¬oSansMono_16pt); tft.setCursor(599, line); tft.println("SansMono_16pt"); line += (16*2); tft.setFont(¬oSansMono_20pt); tft.setCursor(599, line); tft.println("SansMono_20pt"); line += (20*2); tft.setFont(¬oSansMono_32pt); tft.setCursor(599, line); tft.println("SansMono_32pt"); line += (32*2); tft.setFont(¬oSansMono_48pt); tft.setCursor(599, line); tft.println("SansMono_48pt"); line += (48*2); tft.setFont(¬oSansMono_64pt); tft.setCursor(599, line); tft.println("Mono_64pt"); line += (64*2); tft.setFont(¬oSansMono_80pt); tft.setCursor(599, line); tft.println("80pt"); line += (80*2); tft.setFont(¬oSansMono_96pt); tft.setCursor(599, line); tft.println("96pt"); line += (96*2); // tft.setFont(¬oSansMono_112pt); // tft.setCursor(599, line); // tft.println("112pt"); tft.setFont(¬oSansMono_48pt); tft.setCursor(599, line); Colors(); delay(1500); tft.clearScreen(BLACK); line = 0; tft.setFont(¬oSansMonoBold_8pt); tft.setCursor(599, line); tft.println("MonoBold_8pt"); line += (8*2); tft.setFont(¬oSansMonoBold_12pt); tft.setCursor(599, line); tft.println("MonoBold_12pt"); line += (12*2); tft.setFont(¬oSansMonoBold_16pt); tft.setCursor(599, line); tft.println("MonoBold_16pt"); line += (16*2); tft.setFont(¬oSansMonoBold_20pt); tft.setCursor(599, line); tft.println("MonoBold_20pt"); line += (20*2); tft.setFont(¬oSansMonoBold_32pt); tft.setCursor(599, line); tft.println("MonoBold_32pt"); line += (32*2); tft.setFont(¬oSansMonoBold_48pt); tft.setCursor(599, line); tft.println("MonoBold_48pt"); line += (48*2); tft.setFont(¬oSansMonoBold_64pt); tft.setCursor(599, line); tft.println("MonoB_64pt"); line += (64*2); tft.setFont(¬oSansMonoBold_80pt); tft.setCursor(599, line); tft.println("80pt"); line += (80*2); tft.setFont(¬oSansMonoBold_96pt); tft.setCursor(599, line); tft.println("96pt"); line += (96*2); // tft.setFont(¬oSansMonoBold_112pt); // tft.setCursor(599, line); // tft.println("B_112pt"); tft.setFont(¬oSansMonoBold_48pt); tft.setCursor(599, line); Colors(); delay(1500); tft.clearScreen(BLACK); line = 0; tft.setFont(¬oSansMonoItal_8pt); tft.setCursor(599, line); tft.println("MonoItal_8pt"); line += (8*2); tft.setFont(¬oSansMonoItal_12pt); tft.setCursor(599, line); tft.println("MonoItal_12pt"); line += (12*2); tft.setFont(¬oSansMonoItal_16pt); tft.setCursor(599, line); tft.println("MonoItal_16pt"); line += (16*2); tft.setFont(¬oSansMonoItal_20pt); tft.setCursor(599, line); tft.println("MonoItal_20pt"); line += (20*2); tft.setFont(¬oSansMonoItal_32pt); tft.setCursor(599, line); tft.println("MonoItal_32pt"); line += (32*2); tft.setFont(¬oSansMonoItal_48pt); tft.setCursor(599, line); tft.println("MonoItal_48pt"); line += (48*2); tft.setFont(¬oSansMonoItal_64pt); tft.setCursor(599, line); tft.println("MonoI_64pt"); line += (64*2); tft.setFont(¬oSansMonoItal_80pt); tft.setCursor(599, line); tft.println("80pt"); line += (80*2); tft.setFont(¬oSansMonoItal_96pt); tft.setCursor(599, line); tft.println("96pt"); line += (96*2); // tft.setFont(¬oSansMonoItal_112pt); // tft.setCursor(599, line); // tft.println("I_112pt"); tft.setFont(¬oSansMonoItal_48pt); tft.setCursor(599, line); Colors(); delay(1500); } void Colors ( void ){ tft.setTextColor(WHITE); tft.print("W"); tft.setTextColor(BLUE); tft.print("B"); tft.setTextColor(RED); tft.print("R"); tft.setTextColor(GREEN); tft.print("G"); tft.setTextColor(CYAN); tft.print("C"); tft.setTextColor(MAGENTA); tft.print("M"); tft.setTextColor(YELLOW); tft.print("Y"); tft.setTextColor(BRIGHT_RED); tft.print("bR"); tft.setTextColor(LIGHT_GREY); tft.print("lG"); tft.setTextColor(DARK_GREY); tft.print("dG"); tft.setTextColor(WHITE); // Clear Background }