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 le langage C !

Modérateur : Jérémy

Fonctionnement des "FONT" sur écran OLED
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#61 Message par Guest » sam. 21 mai 2016 07:37

bonjour

TABLEAU a 2 DIMENSIONS peut-être avec kering

A+

Fonctionnement des "FONT" sur écran OLED
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#62 Message par Guest » sam. 21 mai 2016 07:48

cela nous donne pour le :!: 1,4,9,7,12,9,13,3,5,7,1,4,1,4,7,4 si je me suis pas plante dans la recopie :wink: faire un essai, j'ai pas remis le KS108 en service
j'ai pris verticalement
A+

Fonctionnement des "FONT" sur écran OLED
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#63 Message par Jérémy » sam. 21 mai 2016 07:56

Hello Maï,

Je travaillais dessus justement . Le tableau de kerning doit servir a quelques choses , mais je n'arrive pas a comprendre son intérêt et la façon dont il à été créer !

Je vais essayer de me dépatouiller avec le tableau "descriptions"
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Fonctionnement des "FONT" sur écran OLED
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#64 Message par Guest » sam. 21 mai 2016 08:24

C'est sur que le tableau a 2D est trop simple. les données vont de 0 a15 soit sur un quartet je vais gratter un peu, comme dab tu stimules ma curiosité :lol:

Fonctionnement des "FONT" sur écran OLED
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#65 Message par Jérémy » sam. 21 mai 2016 08:30

Oui ma aussi !!

Mais je viens encore de me rendre compte d'un autre problème !

C'est qu'il y a des caractères plus large que les autres ! donc au lieu de devoir transformer 2 X 8octets ; il faut transformer 4 X 8 Octets !! je cherche donc maintenant a faire la fonction pour les grosses lettres , avant d'utiliser les infos a notre disposition pour les aligner comme il faut ! Ca fait travailler les neurones
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Fonctionnement des "FONT" sur écran OLED
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#66 Message par Guest » sam. 21 mai 2016 09:07

Oui c'est pas du 8x16 mais en 8x32 la matrice, commence a faire grand plus que 2 lignes d’écriture sur 128x64 ,
Pour la conversion, cela va, poser un problème, comment déterminer, matrice 8x16 convertie en - > 8x16 et les 16x16 convertie en -> 8x32.

Une Solution ,sortie de la matrice, tout les caractères > 8 et les mettre dans un autre tableau et le traiter avec la conversion 8x16 et la pousser jusqu' a 32
:!: le problème, va ce retrouver aussi cote affichage
Modifié en dernier par Anonymous le sam. 21 mai 2016 09:11, modifié 1 fois.

Fonctionnement des "FONT" sur écran OLED
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#67 Message par Jérémy » sam. 21 mai 2016 09:11

Lol un truc de fou !

Je pense passer par deux fonctions différentes après détection si le caractères a afficher est grand ou petit . ce sera plus simple pour moi !

En gardant la même base de code, et en prenant un chiffre sur deux je n'arrive pas à obtenir l'effet voulus pour le moment .
Un bon casse tête :roll:
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Fonctionnement des "FONT" sur écran OLED
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#68 Message par Guest » sam. 21 mai 2016 09:13

:!: tu as aussi pensé a la fonction affichage pas la même, AMHA il vaut mieux séparer les 2 conversions

Fonctionnement des "FONT" sur écran OLED
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#69 Message par Guest » sam. 21 mai 2016 09:29

Jérémy a écrit :Lol un truc de fou !

Je pense passer par deux fonctions différentes après détection si le caractères a afficher est grand ou petit . ce sera plus simple pour moi !

En gardant la même base de code, et en prenant un chiffre sur deux je n'arrive pas à obtenir l'effet voulus pour le moment .
Un bon casse tête :roll:


Dit moi comment tu fais ce test il y a un petit problème la c'est des données sur 8 bits ?????

Explication ,comment ce fait un appel a des données en ROM EPROM et RAM

On prend notre chiffre 4 lorsque tu dis a ton contrôleur va me chercher les données du chiffre 4 , celui ci (le chiffre4) fait référence a 1 point D'ADRESSE (par exemple le 380) on met ce point dans un pointeur, puis 0n incrémente le pointeur de X positions en récupérant les données

Dans notre cas comment tu vas faire pour lui dire les petits, c'est 16 positions les grands c'est 32

il y a une solution, je te laisse chercher, allez une soustraction, tu sais sur ce que tu aimes pas trop :wink:

Fonctionnement des "FONT" sur écran OLED
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#70 Message par Jérémy » sam. 21 mai 2016 09:49

Dit moi comment tu fais ce test il y a un petit problème la c'est des données sur 8 bits ?????

En utilisant le tableau "description" qui justement dit la largeur de chaque lettre ! ceci afin de les espacées correctement je suppose !

J'ai finis par trouver !!

L'astuce consiste à faire comme ceci .

Je prends pour exemple la lettre "E" sur 9 caractéres de large:

Code : Tout sélectionner

    // @704 'E' (9 pixels wide)
    
0x000x00//
    
0xFF0x80// OOOOOOOOO
    
0x800x00// O
    
0x800x00// O
    
0x800x00// O
    
0x800x00// O
    
0xFF0x00// OOOOOOOO
    
0x800x00// O
    
0x800x00// O
    
0x800x00// O
    
0x800x00// O
    
0x800x00// O
    
0xFF0x80// OOOOOOOOO
    
0x000x00//
    
0x000x00//
    
0x000x00// 


Je fais une première boucle en récupérant les 8 premières données paires(0-2-4-6-8-10-12-14) pour former les 8 premiers segments verticaux.
Puis à la suite de cela,je recupére les 8 données impaires (1.3.5.7.9.11.13.15) pour faire les 8 segments verticaux suivants qui seront collés au 8 premiers.
dans cette première boucle je travaille sur les données du tableau de 704 à 718

Ensuite je pas sur la deuxième ligne et fais la même chose , mais en partant de la 8iéme données jusqu’à la 16iéme données ( du tableau 720 à 736).

Ce qui donne :

Code : Tout sélectionner

//---------------------------------------------------------------------------------
void affichage_Lettre2(){

     
unsigned int valeur,i,j,k,m,lettre ;
     
unsigned char tableau[255];

     
zone_ecran(50,65,1,3);
     
lettre 672 ;
     
k=0;

     for (
k=0;k<=1;k++){
         for (
m=0;m<=1;m++){
             
lettre += m;

              for (
i=0;i<=7;i++){
                   for (
j=0;j<=7;j++){
                        
valeur +=  (  (((font16x8[(lettre+(k*15)+(j*2))])>>(7-i)) & (0x01))  << j  )  ;
                    }
                    
OLED_M_data(valeur);
                    
valeur ;
               }
          }
      }
}
 


Voila je peux maintenant affiché des lettres/chiffres de 16 données ou 32 données
C'est en faisant des erreurs, que l'on apprend le mieux !!!


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 47 invités