/* Programme qui permet d'expérimenter diverses polices de caractère et qui permet d'afficher où
   on le désire des textes et de variables numériques.

   Quelques Polices possibles :
   ----------------------------
   
   ATTENTION : La bibliothède de base avec juste un affichage "noir" fait déjà 7 066 octets (23%).
               Avec un affichage de texte et d'une variable numérique on passe à 11 770 octets (38%)
               Cet afficheur est donc très gourmand en taille mémoire. 
   
   u8g2_font_u8glib_4_tf (Caractères de 4 de hauteur. Vraiment très petite !)
   u8g2_font_m2icon_5_tf (Caractères graphiques.)
   u8g2_font_micro_tr (Caractères de 5 de hauteur)
   u8g2_font_5x7_tf  (Caractères de 6 de hauteur)
   u8g2_font_5x8_tn (Que des chiffres de 6 de hauteur.)
   u8g2_font_5x7_mr  (Caractères de 6 de hauteur)
   u8g2_font_m2icon_7_tf (Caractères graphiques de 7 de hauteur)
   u8g2_font_6x12_me  (Caractères de 7 de hauteur)
   u8g2_font_amstrad_cpc_extended_8f (Caractères de 7 de hauteur mais "gras")
   u8g2_font_m2icon_9_tf (Caractères graphiques de 8 de hauteur.)
   u8g2_font_t0_11_tf  (Caractères de 8 de hauteur mais "gras")
   u8g2_font_6x13_tf   (Caractères de 9)
   u8g2_font_6x13B_tr  (Caractères de 9 de hauteur mais "gras")
   u8g2_font_8x13O_tn  (Caractères de 9 de H, que des chiffres en itallique)
   u8g2_font_7x14_tr   (Caractères de 10)
   u8g2_font_7x14B_tf  (Caractères de 10 de hauteur mais "gras")
   u8g2_font_shylock_nbp_tf  (Caractères de 11)
   u8g2_font_profont17_tr  (Caractères de 11 de hauteur mais "gras")
   u8g2_font_crox3h_tr  (Caractères de 12)
   u8g2_font_crox3hb_tf  (Caractères de 12 de hauteur mais large)
   u8g2_font_helvB12_tr  (Caractères de 12 de hauteur mais "gras")
   u8g2_font_10x20_tf  (Caractères de 12 de hauteur mais "gras")
   u8g2_font_t0_22_tr (Caractères de 13 de hauteur et large)
   u8g2_font_10x20_m  (Caractères de 14 de hauteur mais "gras")/*
*/

#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>
#include <Wire.h>

U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0); 

int Compteur = 0;
float Valeur = 0.0;
unsigned long Temps_Ecoule_depuis_RESET = 0;

void setup(void) {u8g2.begin();}

void loop(void) {
  //================= Chronométrage pour le délai écoulé ================
  if (millis() - Temps_Ecoule_depuis_RESET > 1000)  {
     Temps_Ecoule_depuis_RESET = millis();
     Valeur++;}
  //=====================================================================
  u8g2.clearBuffer(); // Efface la mémoire interne.
  u8g2.setFont(u8g2_font_7x14_tr); // Choisir la police de caractère affichée.
  u8g2.drawStr(8,10,"Cadence maximale. "); // Écrire le texte dans la mémoire de l'afficheur.
  u8g2.setCursor(8,25); u8g2.print(Valeur,0);
  Compteur++; // Un calcul durant la séquence d'affichage n'est pas perturbé.
  u8g2.setCursor(83,28); u8g2.print(Compteur);
  u8g2.sendBuffer();} // Transférer le texte sur l'afficheur.

