Système d'exploitation pour Arduino pour les écrans tactiles

Je me suis écrit moi-même ma bibliothèque pour gérer un écran 320*240 avec deux pilotes que j'avais sous la main (ILI9341 et ST7781). Pour la tester, j'ai écrit un programme genre paint (celui de la vidéo. Pour le 1er avril 2049 je crois, j'ai rajouté une animation avant comme pour faire croire que l'on pouvait mettre XP sur un Arduino. La fonction qui fait XP est la suivante:

void xp(void)
{

  // Chargement de windows
  byte x=99, sens=-1; 
  writeRegister(7); writeData16(0x101); // Extinction
  clrscr(BLACK);
  bpxDraw("SD/TOOLS/XP.BPX",56,20);
  writeRegister(7); writeData16(0x133); // Normal
  rect(97,212,210,220,GREY); //266 218
  long debut=millis();
  while (debut+15000>millis())
  {
    fillRect(x,213,x+16,219, BLACK); // Effacer l'ancien
    x+=sens;
    if ((x==98)||(x==193)) sens=-sens;
    fillRect(x,213,x+4,219,BLUE);
    fillRect(x+6,213,x+10,219,BLUE);
    fillRect(x+12,213,x+16,219,BLUE);
    delay(10);
  }  

  // Ecran de base
  clrscr();
  bpxDraw("SD/TOOLS/E1b.BPX",0,211);
  delay(5000);
  bpxDraw("SD/TOOLS/E1I.BPX",0,0);
  while(!isTouch());

  // Menu 1  
  bpxDraw("SD/TOOLS/M1.BPX",0,107);
  while(!isTouch());

  // Menu 2
  bpxDraw("SD/TOOLS/M2.BPX",132,4);
  while(!isTouch());
}

Les images associées sont:
E1B: E1B

E1I: E1I

M1: M1

M2: M2

Il est impossible de mettre un OS conséquent, ce qui est sur la vidéo occupe 95% de la mémoire de l'Uno et il n'y a qu'un seul programme dedans, le "paint". Voila pourquoi c'est sorti le 1Er avril.

1 Like