#include <LDisplay.h> // pour utiliser les librairies de l’affichage
#include <LGPS.h> // pour utiliser les librairies GPS
#include <LBattery.h> // pour utiliser les librairies de Batterie
char buffers[50]={0,};
void setup() 
{
  Serial.begin(115200);
  Serial.print("\r\n");
  Serial.print("GPS Test\r\n");  
   Lcd.init(); //initialization de l’écran
  Lcd.font_init();
  Lcd.back_light_level(50);
  Lcd.screen_set(0xFFFFFF);
  Tp.Init();
} 
void loop() 
{
 unsigned char *utc_date_time = 0;
  char buffer[50] = {0,};
//affichage dans le debugger et sur l’écran des infos GPS
  if(LGPS.check_online())
  {
    utc_date_time = LGPS.get_utc_date_time();
    sprintf(buffer, "GPS UTC:%d-%d-%d %d:%d:%d\r\n", utc_date_time[0], utc_date_time[1], utc_date_time[2], utc_date_time[3], utc_date_time[4],utc_date_time[5]);
    Serial.print(buffer);
 
    sprintf(buffer, "GPS status is %c\r\n", LGPS.get_status());
   //  Serial.print(buffer);
    Lcd.draw_font(0, 0, buffer, 0xffffff, 0);
    sprintf(buffer, "GPS latitude is %c:%f\r\n", LGPS.get_ns(), LGPS.get_latitude());
  //  Serial.print(buffer);
    Lcd.draw_font(0, 20, buffer, 0xffffff, 0);
    sprintf(buffer, "GPS longitude is %c:%f\r\n", LGPS.get_ew(), LGPS.get_longitude());
   //  Serial.print(buffer);
    Lcd.draw_font(0, 40, buffer, 0xffffff, 0);
    sprintf(buffer, "GPS speed is %f\r\n", LGPS.get_speed());
   // Serial.print(buffer);
     Lcd.draw_font(0, 60, buffer, 0xffffff, 0);
    sprintf(buffer, "GPS course is %f\r\n", LGPS.get_course());
   // Serial.print(buffer);
     Lcd.draw_font(0, 80, buffer, 0xffffff, 0);
    sprintf(buffer, "GPS position fix is %c\r\n", LGPS.get_position_fix());
   //  Serial.print(buffer);
    Lcd.draw_font(0, 100, buffer, 0xffffff, 0);
    sprintf(buffer, "GPS sate used is %d\r\n", LGPS.get_sate_used());
  //  Serial.print(buffer);
 
    sprintf(buffer, "GPS altitude is %f\r\n", LGPS.get_altitude());
  //  Serial.print(buffer);
 
    sprintf(buffer, "GPS mode is %c\r\n", LGPS.get_mode());
  //  Serial.print(buffer);
     sprintf(buffer, "GPS mode2 is %c\r\n", LGPS.get_mode2());
//  Serial.print(buffer);
//affichage dans le debugger et sur l’écran des infos batterie
      int batteryLlevel;
    batteryLlevel = LBattery.level();
    sprintf(buffer, "Battery level: %d %%\r\n", batteryLlevel);
   // Serial.print(buffer);
   if (batteryLlevel>20)  Lcd.draw_font(0, 120, buffer, 0x00ff00, 0);
   else Lcd.draw_font(0, 120, buffer, 0xff0000, 0);
    }  
  delay(100); 
}

Void setup()
{/* code précédent
*/
while(!LSMS.ready()) //Tant que la SIM n’est pas prête nous affichons « Initialisation »
  {
   Lcd.draw_font(70, 200, "Initialisation", 0xffffff, 0);
    delay(1000);
   //Lcd.draw_font(70, 200, "Initialisation", 0xffffff, 0);
  }
    if(LCheckSIM.isCheck() == 1) //Tout va bien pour la SIM
    {
     Lcd.draw_font(0, 140, "sim ok", 0xff0000, 0);
    }
}

#include <LGTouch.h>
#include <LCheckSIM.h>
#include <LGSM.h>
char * text = "Envoi avec projet RePhone"; // le texte envoyé dans le SMS
char num[20] = "0xxxxxxxxx";//numéro de téléphone cible
Void loop()
{ if(Tp.Event_available())//est-ce que l’on a touché l’écran ?
  {/*code precedent*/  
    Serial.print(buffer); 
  LSMS.beginSMS(num);//envoi du SMS
  LSMS.print(text); 
    if(LSMS.endSMS())// est-ce que le SMS a bien été envoyé ?
    {
      Serial.println("SMS is sent\r\n");
    }
    else
    {
      Serial.println("SMS send fail\r\n");
    } 
    LSMS.flush(); 
    }