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 ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#91 Message par Jérémy » lun. 30 mai 2022 08:17

:bravo:
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
francois77
Passioné
Passioné
Messages : 307
Enregistré en : avril 2022

#92 Message par francois77 » jeu. 2 juin 2022 08:21

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
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é
Passioné
Messages : 307
Enregistré en : avril 2022

#93 Message par francois77 » ven. 3 juin 2022 13:24

Bonjour,

trop de soleil a priori pour une reponse ....

j'ai reussi a comprendre la fonction du dernier chiffre , mais toujours pas compris comment definir la ligne de reference

+A

Francois

Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#94 Message par satinas » ven. 3 juin 2022 14:09

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 :)

Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#95 Message par Temps-x » ven. 3 juin 2022 18:16

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 :?:

satinas a écrit :Source du message avant de retourner à ses tomates :)


:sifflotte: 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. :lol:


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 :langue:

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#96 Message par satinas » ven. 3 juin 2022 18:24

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)

corps_typographique.png
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é
Passioné
Messages : 307
Enregistré en : avril 2022

#97 Message par francois77 » ven. 3 juin 2022 20:07

bonsoir ,

Pour ce soir mes pieds de tomates vont bien ......

A+

Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
francois77
Passioné
Passioné
Messages : 307
Enregistré en : avril 2022

#98 Message par francois77 » sam. 4 juin 2022 07:18

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
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#99 Message par satinas » sam. 4 juin 2022 08:27

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

Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
francois77
Passioné
Passioné
Messages : 307
Enregistré en : avril 2022

#100 Message par francois77 » sam. 4 juin 2022 11:49

Re Bonjour,

C'est possible sans problème, c'était même mon idée du départ mais petit problème

les tables en 9 ==> possible


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Bing [Bot] et 51 invités