
/* Étude des méthodes de U8glib. Utilise deux tailles de caractères.
   Démonstrateur qui teste les fonctions "get". (Page 7 du petit livret.)

   SDA est branché sur A4.   SCL est branché sur A5
     
                                            PGM                 RAM dynamique
Compilateur v1.7.9 :                  7412 Octets (22%)          318 Octets (15%)   */

//--------------------- Définition des broches d'E/S ------------------------
// Pas d'E/S à initialiser, c'est U8glib qui s'en charge.

//------------------------ Constantes du programme --------------------------
#define Version "22/08/2024" // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

#include "U8glib.h"

U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // Usage de la ligne I2C (Two Wire Interface)

//------------------------- Variables du programme --------------------------
unsigned int I = 00000;
unsigned int J = 65535;

//-------------------------------------------------------------------------------------

void setup() {u8g.setFont(u8g_font_6x10); // Police de matrices de 6x10 pixels lettres MJA/min comprises.
  u8g.firstPage();
  do {CADRE(); Aff_TEXTE(5,11,"Parametres de 'get'"); u8g.drawHLine(1,14,126);   
      Aff_TEXTE(5,24,"Mode = ");
      u8g.setPrintPos(47, 24); u8g.print(u8g.getMode());
      Aff_TEXTE(5,33,"ColorIndex =");
      u8g.setPrintPos(85, 33); u8g.print(u8g.getMode());
      Aff_TEXTE(5,42,"FontLineSpacing =");
      u8g.setPrintPos(111, 42); u8g.print(u8g.getFontLineSpacing());
      Aff_TEXTE(5,51,"FontAscent =");
      u8g.setPrintPos(81, 51); u8g.print(u8g.getFontAscent());
      Aff_TEXTE(5,60,"FontDescent =");
      u8g.setPrintPos(87, 60); u8g.print(u8g.getFontDescent());}  // Fin du do while.
  while(u8g.nextPage());}

void loop(void) {}

//======================== Procédures de servitude =============================
void CADRE() {u8g.drawFrame(0,0,128,64);}

void Aff_TEXTE(byte X, byte Y, char TEXTE[]) {// Choisir Y=9 pour tous les titres.
  char Caractere; byte I = 0;
  while (Caractere !=0) {Caractere = TEXTE[I]; u8g.setPrintPos((I*6)+X, Y); I++; u8g.print(Caractere);}}
