Problème place memoire

Merci Jean-Marc je vais m'y mettre. J'ai juste a obtenir la suppression de l'ancienne MaxMatrix qui ne figure pas dans le dossier "libraries", pourtant elle apparait dans la liste des librairies installées. IDE refuse donc d'incorporer la nouvelle avec le message disant qu'elle existe déjà. Je vais piocher par là et mettre la main dessus pour l'enlever.
Bonne soirée.

Jean-Marc SUPER !! Vous avez mis le doigt sur ce qui n'allait pas et vous m'avez tiré d'affaire. UN GROS MERCI .. En effet m.writeSprite(32,0,buffer); était erroné . Il fallait un multiple de 8 pour remonter dans l'ordre des matrices. 32 c'était en fait la 4eme . Avec (56,0,buffer) j'affiche bien sur les huit matrices. OUF !!!
Bonne nuit ...

Super :slight_smile:

Mon Cher Jean-Marc, je viens à nouveau vous demander de l'aide. Je désire comme je vous l'avais indiqué obtenir les caractères français accentués et spéciaux ( ç , à , ù , µ .. etc ) dans mon message lumineux. Pour ce faire j'ai redéfini dans le bon ordre standard (à la main dur..dur..) l'ensemble des 255 caractères ASCII pour déclaration en constante unsigned char placé en PROGMEM, mais cela ne semble pas marcher aucun caractère au delà des 125 de l'ascii standard n'est reconnu bien que le compilateur admet l'ensemble du tableau. L'affichage les ignore purement et simplement, sans message d'erreur .. Je pense que je ne suis pas le premier à chercher une solution à ce problème. Pouvez vous m'indiquer une piste ou un exemple existant ?? Merci d'avance. Très amicales salutations ..
François

Il faut voir le code, mais Arduino ne travaille pas avec de l'ascii, mais avec de l'uft8. Cela colle avec les 128 premiers caractères ascii, mais les autres caractères sont codés avec Arduino sur 2 ou 3 char. Les caractères dont le code est supérieur à 128 sont par exemple affichés sur la console par un ? à l'envers.

Merci Jean-Marc, je vais creuser dans le sens que vous me donnez. Il s'agit donc d'une limitation "Hardware" . Il existe sans doute une librairie qui permet de la contourner. Je vais donc reprendre à ce niveau, quitte à modifier profondément le croquis . Bonne soirée .. A bientôt ..(sans doute ..)

C’est Olivier qui a répondu et sa réponse est correcte.

Le codage UTF8 du ’é’ tient sur 2 octets C3 A9 Donc il faudrait modifier l’affichage pour décoder les caractères pour voir si c’est de l’ascii de base sur 1 octet ou si plusieurs octets sont utilisés (c’est pas compliqué car l’UTF8 se décode simplement cf UTF-8 — Wikipédia)

Une fois le caractère UTF8 identifié, il faut trouver à quel dessin il correspond dans la bibliothèque est appeler ce dessin.

Pour avoir non pas le pourquoi, mais les codes en fonction du dessin, je recommande HTML: liste de caractères Unicode en UTF-8

Les codes que j'utilise et qui ne sont pas entre 0x20 et 0x7F sont:
sur 2 octets: àáâçèéêëîï°±òóôµö÷ùúûü
sur 3 octets: €
Seul € est sur 3 octets
Ce sont les codes que je peux mettre dans Serial.print().

Merci Olivier pour m'avoir donné une réponse qui va me permettre d'avancer dans mon projet ...
Amicale salutations.
François

1 Like

Jean-Marc , je vais tout reprendre à partir de vos judicieux conseils car évidemment le mode de récupération des caractères que j'ai utilisé n'est pas adapté au codage UTF-8. Olivier m'a aussi donné de très bonnes informations .Encore merci à tous les deux et bonne journée.
François

1 Like