Citation de: gebe94 le Novembre 19, 2023, 02:13:08 PMBonjour,
Bonjour, ayant 3 modules de réception GPS différent j'ai fait des mesures de jitter sur leur sortie PPS, il est évident qu'il est d'autant plus faible que l'on reçoit de nombreux satellites.
Je pense qu'il serait intéressent d'afficher le nombres de satellites "in use" disponible dans la trame GPGGA par exemple au bout de la ligne Alarmes.
Si quelqu'un est plus doué que que moi pour écrire quelques lignes de code, ça m'intéresse.
Merci
Gébé94
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.