Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : mazertoc
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Bonjour,
Pas trop le temps en ce moment , il fait trop beau
La table FreeMono9pt7bl
Au final, je trouve une table de 15 * 11 ou 16*11 si interligne ( 16 me convient bien pour ecrire un caractere sur deux lignes )
hauteur = 15 bits
Largeur = 11 bits
je bloque toujours sur la comprehension de la derniere valeur de la table, mais ca avance tranquillement
j'ai mis le caractere y , si quelqu'un peux m'aider, je prends
{809 9 11 11 1 -7} //0x79'y'
A+ Francois
Pas trop le temps en ce moment , il fait trop beau
La table FreeMono9pt7bl
Au final, je trouve une table de 15 * 11 ou 16*11 si interligne ( 16 me convient bien pour ecrire un caractere sur deux lignes )
hauteur = 15 bits
Largeur = 11 bits
je bloque toujours sur la comprehension de la derniere valeur de la table, mais ca avance tranquillement
j'ai mis le caractere y , si quelqu'un peux m'aider, je prends
{809 9 11 11 1 -7} //0x79'y'
A+ Francois
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
Bonjour
Cette police n'a pas de hauteur de caractère fixe, donc la position d'écriture la plus adaptée est cette ligne de référence.
Commence à programmer et cela viendra tout seul. Tu cherches trop à théoriser, à réfléchir à la place du pic, qui lui fait tout cela les doigts dans le nez, les décalages de bits par exemple.
Et si tu fais autre chose que la routine pic, là je ne peux pas t'aider.
Sur le 16F877, on peut aussi stocker la police dans la flash ou l'eeprom, en allant chercher lentement les octets avec les registres EEADRH, EEADR, EEDATA.
Un outil PC intéressant serait un convertisseur de fichier police .h format C vers fichier .h ASM pic, ce qu'a dû envisager Temps-x avant de retourner à ses tomates :)
Cette police n'a pas de hauteur de caractère fixe, donc la position d'écriture la plus adaptée est cette ligne de référence.
Commence à programmer et cela viendra tout seul. Tu cherches trop à théoriser, à réfléchir à la place du pic, qui lui fait tout cela les doigts dans le nez, les décalages de bits par exemple.
Et si tu fais autre chose que la routine pic, là je ne peux pas t'aider.
Sur le 16F877, on peut aussi stocker la police dans la flash ou l'eeprom, en allant chercher lentement les octets avec les registres EEADRH, EEADR, EEDATA.
Un outil PC intéressant serait un convertisseur de fichier police .h format C vers fichier .h ASM pic, ce qu'a dû envisager Temps-x avant de retourner à ses tomates :)
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
Bonsoir francois77, satinas, et tout le forum,
{809 9 11 11 1 -7}
francois77 moi aussi je n'ai pas compris pour les 2 derniers chiffres, la question est : Et ce que ça modifie le caractère si on en tient pas compte
Comme on est dans les fonts Arduino c'est normal de se prendre des tomates sur un forum dédié au Pic, et je peux vous dire qu'une tomate en pleine figure ça fait mal.
Satinas : mais 100 pieds de tomates son planter depuis fin avril
J'ai trouvé la solution pour une routine ASM à base de Pic16F, mais il faudrait faire cela dans deux tableaux
Dans le premier tableau on positionne juste l'adresse du commencement du tableau sur 2 octets, poids fort et poids faible, ce qui nous fait malheureusement pour un tableau de 255 caractères 510 octets, bon on n'est pas obliger de prendre tous les caractères.
Après, on va chercher le résultat dans un autre tableau, au début de celui-ci il comportera la largeur pour le mode 1, ou la longueur pour le mode 2
Tout ceci devra être calculé par mon programme, il y a de quoi s’amuser, si vous voyer une autre solution.
Il est évident qu'avec un Pic18F on n'aurait pas se genre de problème, je vais essayer de vous mettre une premier version de mon programme, ou vous pourrez pour l'instant sauvegardé la lettre modifié ou non modifié, en format hexadécimal ou binaire
Bon je vous quitte je vais arrosé mes tomates
A+
{809 9 11 11 1 -7}
francois77 moi aussi je n'ai pas compris pour les 2 derniers chiffres, la question est : Et ce que ça modifie le caractère si on en tient pas compte
satinas a écrit :Source du message avant de retourner à ses tomates :)
Comme on est dans les fonts Arduino c'est normal de se prendre des tomates sur un forum dédié au Pic, et je peux vous dire qu'une tomate en pleine figure ça fait mal.
Satinas : mais 100 pieds de tomates son planter depuis fin avril
J'ai trouvé la solution pour une routine ASM à base de Pic16F, mais il faudrait faire cela dans deux tableaux
Dans le premier tableau on positionne juste l'adresse du commencement du tableau sur 2 octets, poids fort et poids faible, ce qui nous fait malheureusement pour un tableau de 255 caractères 510 octets, bon on n'est pas obliger de prendre tous les caractères.
Après, on va chercher le résultat dans un autre tableau, au début de celui-ci il comportera la largeur pour le mode 1, ou la longueur pour le mode 2
Tout ceci devra être calculé par mon programme, il y a de quoi s’amuser, si vous voyer une autre solution.
Il est évident qu'avec un Pic18F on n'aurait pas se genre de problème, je vais essayer de vous mettre une premier version de mon programme, ou vous pourrez pour l'instant sauvegardé la lettre modifié ou non modifié, en format hexadécimal ou binaire
Bon je vous quitte je vais arrosé mes tomates
A+
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
On va dire que c'est moi qui explique mal. Qu'est ce que vous ne comprenez pas dans ce post, ou les 2 offsets apparaissent. viewtopic.php?p=18288#p18288
{ 573, 9, 8, 11, 1, -7 }, // 0x61 'a'
On veut écrire "ab" à l'écran en 30,20 (20 = ligne de base/support/référence/pied ... de tomate)
on se positionne en 30,20 pour écrire le 'a'
on se déplace de 1 en x donc 31,20
on se déplace de -7 en y donc 31,13
on trace le bitmap 9x8 stocké en 573
on se positionne en 30+11,20 pour le caractère suivant 'b'
...
on se positionne en 30,20+18 pour la ligne suivante
c'est tout :)
Le 18 vient de là
const GFXfont FreeMono9pt7b PROGMEM = {(uint8_t *)FreeMono9pt7bBitmaps, (GFXglyph *)FreeMono9pt7bGlyphs, 0x20, 0x7E, 18};
En pratique pour le 'a' on a tracé le bitmap 9x8 en 30+1,20-7 et c'est fini (voir prog ASM plus haut)
{ 573, 9, 8, 11, 1, -7 }, // 0x61 'a'
On veut écrire "ab" à l'écran en 30,20 (20 = ligne de base/support/référence/pied ... de tomate)
on se positionne en 30,20 pour écrire le 'a'
on se déplace de 1 en x donc 31,20
on se déplace de -7 en y donc 31,13
on trace le bitmap 9x8 stocké en 573
on se positionne en 30+11,20 pour le caractère suivant 'b'
...
on se positionne en 30,20+18 pour la ligne suivante
c'est tout :)
Le 18 vient de là
const GFXfont FreeMono9pt7b PROGMEM = {(uint8_t *)FreeMono9pt7bBitmaps, (GFXglyph *)FreeMono9pt7bGlyphs, 0x20, 0x7E, 18};
En pratique pour le 'a' on a tracé le bitmap 9x8 en 30+1,20-7 et c'est fini (voir prog ASM plus haut)
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Bonjour Satanas et Temps-x
Satanas :
Merci pour ton dernier message, cela permet de trouver l’interligne (c’est fait)
Toute les polices fonctionne sur mon Excel 9/12/24
Je vais intégrer ça dans ma feuille de calcul !! pour le positionnement
Pour l'instant je cherche juste à comprendre le fonctionnement de ces polices, c'est purement intellectuel !
Pour mon petit programme en ASM ne t'inquiète pas, j'ai assez joué tous seul pour le faire
Concernant mon approche Excel, c'est assez simple : c’est plus rapide de coder en Excel pour le même résultat et cela reste de la programmation et visuellement ça aide à la compréhension
Sur un gros programme en assembleur c'est bien pratique, mais chacun pratique comme il lui semble
Apres je vais regarder pour le codage en ASM en m’inspirant de ton programme
Temps-x : tu vas avoir du temps aujourd’hui, pas besoin d’arroser tes 100 pieds de tomates
A+
Francois
Satanas :
Merci pour ton dernier message, cela permet de trouver l’interligne (c’est fait)
Toute les polices fonctionne sur mon Excel 9/12/24
Je vais intégrer ça dans ma feuille de calcul !! pour le positionnement
Pour l'instant je cherche juste à comprendre le fonctionnement de ces polices, c'est purement intellectuel !
Pour mon petit programme en ASM ne t'inquiète pas, j'ai assez joué tous seul pour le faire
Concernant mon approche Excel, c'est assez simple : c’est plus rapide de coder en Excel pour le même résultat et cela reste de la programmation et visuellement ça aide à la compréhension
Sur un gros programme en assembleur c'est bien pratique, mais chacun pratique comme il lui semble
Apres je vais regarder pour le codage en ASM en m’inspirant de ton programme
Temps-x : tu vas avoir du temps aujourd’hui, pas besoin d’arroser tes 100 pieds de tomates
A+
Francois
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
Bonjour à tous
On est d'accord, disons que l'expérience me permet d'aller droit sur l'objectif, d'autant plus que j'ai beaucoup perdu en capacité de travail.
Je comprends très bien que tu veuilles prendre ton temps et aborder le problème sous différents angles.
Excel ne pourrait t-il pas produire le .h pour le pic ? Le dernier tableur que j'ai utilisé, c'est Multiplan sur Apple II :)
Bon weekend
On est d'accord, disons que l'expérience me permet d'aller droit sur l'objectif, d'autant plus que j'ai beaucoup perdu en capacité de travail.
Je comprends très bien que tu veuilles prendre ton temps et aborder le problème sous différents angles.
Excel ne pourrait t-il pas produire le .h pour le pic ? Le dernier tableur que j'ai utilisé, c'est Multiplan sur Apple II :)
Bon weekend
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Bing [Bot] et 51 invités