//Test de la ram disponible
//dans un contexte de fuite mémoire (bug !)
#include "ordonnanceur.h"

void loop1();
tache t1(loop1, 1000);
void loop1()
{
  Serial_print_millis(); 
  Serial.print("Ram disponible = ");
  uint16_t dispo = ordonnanceur.ramDisponible();
  Serial.println(dispo);
  if (dispo > 300)
  {
    //On réserve 100 octets de ram sans les libérer : beurk !
    char *c;
    for (uint8_t i=0; i<25; i++)
    {
      c = new char;
    }
  }
}

void setup()
{
  Serial.begin(115200);
  Serial.println("\nLancement programme");
  Serial.println("Lancement ordonnanceur");
  ordonnanceur.lancer();
}

void loop() {}

void Serial_print_millis()
{
  Serial.print("millis()=");
  Serial_print_int(millis(), 8);
  Serial.print(", ");
}

void Serial_print_int(uint32_t nombre, uint8_t nb_chiffres)
{
  uint32_t puissancedix = 1;
  for (uint8_t i=1; i<nb_chiffres; i++) puissancedix *= 10;
  while (puissancedix > nombre && puissancedix > 1)
  {
    Serial.print('0');
    puissancedix /= 10;
  }
  Serial.print(nombre);
}