Super. Comment as-tu fait pour obtenir le nombre de satellites?
Bonjour,
Dans le code d'Electro-Bidouilleur, il y à un test pour récupérer la trame venant du GPS qui doit commencer par $GPRMC
(variable : GPRMC_PREAMBL) pour récupérer la date, l'heure et l'année.
if (chaine_caracts_gps_recues.substring(0, 6) == GPRMC_PREAMBLE) // Comparer les 6 premiers caractères de la chaîne avec le preambule GPS
// désiré...Pour ma modification si le test est négatif, je récupère une autre trame qui commence par $GPGGA (variable :GPGGA_PREAMBLE) et qui contient le nombre de satellite reçut.
if (chaine_caracts_gps_recues.substring(0, 6) == GPGGA_PREAMBLE) // Comparer les 6 premiers caractères de la chaîne avec le
// preambule GPS désiré...
{
if ((chaine_caracts_gps_recues.substring(7,8) == ",")) // ...et vérifier que la chaîne n'est pas vide ou invalide
{ // Données invalides
}
else
{
// Extraction du nombre de satellite
unsigned short int b = 0; // utilisé comme compteur de virgules
unsigned short int c = 0; // utilisé comme compteur de caractères
do // Repérer le champ de la date dans la chaîne GPS reçue.
{
if (chaine_caracts_gps_recues[c++] == ',') b++; // Incrémenter le compteur de virgule si une d'entre elle est détectée
}
while (b < 7);
nombre_satellites_recus = chaine_caracts_gps_recues.substring(c,c+2).toInt(); // Extraire la chaîne de caractères représentant le
// nombre de satellite
}
}
Pascal.
PS.
Je ne suis vraiment pas bon en codage et je me suis inspiré du code d'électro bidouilleur, il y a quelque semaine je savais à peine faire clignoté une LED alors un peu d'indulgence pour le code de ma modification.