/* Programme qui permet de simuler un afficheur LCD de deux lignes de caractères.
   En fonction des polices on obtient :
      u8g2_font_crox4t_tf (Deux lignes de 14 caractères)
      u8g2_font_crox3h_tf (Deux lignes de 15 caractères)
      u8g2_font_shylock_nbp_tf  (Deux lignes de 16 caractères avec cadre)
*/

#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.drawFrame(0,0,128,32);
  u8g2.setFont(u8g2_font_shylock_nbp_tf); // Choisir la police de caractère affichée.
  u8g2.drawStr(10,14,"Cadence maximale"); // Écrire le texte dans la mémoire de l'afficheur.
  u8g2.setCursor(16,28); u8g2.print(Valeur,0);
  Compteur++; // Un calcul durant la séquence d'affichage n'est pas perturbé.
  u8g2.setCursor(76,28); u8g2.print(Compteur);
  u8g2.sendBuffer();} // Transférer le texte sur l'afficheur.

