Afin de générer les nouveau caractère, j'ai utiliser l'utilitaire fournit par Maxim ( le fabricant du Max7456 ), qui sert a généré un fichier texte contenant l'information sur chaque pixel ( 64 pixel par caractère ) de chaque caractère ( 256 caractère).
Chaque pixel a 2 bits, donc un caractère est composé de 128bit, donc 16 bytes.
Puisqu'il y a 256 caractères ca fait 256 x 16 bytes, donc 4096 bytes, c'est 25% de la mémoire totale que dispose le microprocesseur. C'est donc ridicule de mettre en mémoire dans le Atmel toute l'information des caractères. J'ai donc écris le code pour programmer les caracteres dans un autre project C. Donc pour changer les caractères, ce sera un autre .hex file qu'on mettera dans l'atmel.
Et deviner quoi, ca marche
En quelque minute, on peut envoiller le fichier généré par l'application de Maxim, via hyper terminal de windows, et l'atmel formate et transfert l'info au Max7456 Lorsque c'est terminer, apres 2.85 minutes, un message l'affiche a l'écran, et les nouveau caractère sont disponible, suffit de remettre le code C permanant dans l'Atmel.
Sauf qu'hier soir j'ai tué mon module GPS, j'avais fait un petit circuit avec des transistor pour répliquer les données GPS TTL vers un port Rs232, et j'ai une soudure qui a lacher, ce qui a envoillé du 12Vdc dans le GPS qui était lui même en sortie, a des niveau TTL ( 5V dans ce cas ).
J'en ai commandé 2 autres de mon ami Zoltan de NGHobbies.com que je devrais recevoit vendredi.
J'ai aussi compris ( enfin ) la fameuse string que m'envoillait le GPS.
les ddmm.mmmm pour la latitude est en faite comme ceci. lat = aabb.cccc
ou aa est en degré
bb est en minute
cc est en millieme de minute
donc pour séparé les variables
deg =(short)lat/100;
min = lat-(deg*100);
sec =(int)(((float)((float)(lat-deg)-min))*1000)
reste plus qu'a convertir des degré minutes seconde en degré décimal et a tester le tout.
Attendez vous a voir cet OSD rapidement, le développement est tres rapide.
Ca m'obsède.