Bonjour
toujours dans mon projet de GPS, je me retrouve avec des coordonnées GPS au format décimale (45.1234567, 2.1234567 par exemple).
J'ai trouvé une fonction qui permet de les transformer en Degrés, minutes, secondes (DMS) très facilement :
void DD_DDDDDtoDDMMSS( double DD_DDDDD , int *DD, int *MM, double *SS ) {
*DD = (int)DD_DDDDD; //ne garde que les chiffres avant la virgule
*MM = (int)((DD_DDDDD - *DD) * 60); //Les minutes
*SS = ((DD_DDDDD - *DD) * 60 - *MM) * 60; //Les secondes
}
Puis je l'affiche sur mon écran avec le code suivant :
DD_DDDDDtoDDMMSS(gps.location.lat(), &DD, &MM, &SS);
display.print(DD);
display.print(char(265));
display.print(MM);
display.print("'");
display.print(SS);
display.print("\"");
Je trouve ça long comme méthode d'affichage et pas très pratique/lisible si elle doit être recopier plusieurs fois dans le code (pour être affiché à différents endroit).
N'y aurait-il pas une solution pour créer, par exemple, un CHAR contenant la totalité du texte à afficher ?
Merci