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

Ecran tactile autour d'un PIC18F87J50
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#31 Message par Jérémy » ven. 15 janv. 2016 22:19

bonsoir ,

Je demande quand même, mais je doute qu'il y ai une solution miracle.

Comment faite vous pour ecrire des variables sur un écran , sans avoir l'effet de scintillement ?
Je veux dire par la , j'affiche ma variable , pendant 500ms( un compteur par exemple) , ensuite j'efface ma variable en la ré-ecrivant mais en noir ( j'ai un fond noir). puis je reboucle -je réécris la nouvelle variable ... .
L'effet n'est vraiment pas fluide, et on a l'impression d'un scintillement comme pour une led qui clignote vite . Je pense pas qu'il y a ide solution miracle mise a part accélérer la vitesse ?

Voici un bon de mon code test pour le moment .

Code : Tout sélectionner

  TFT_Set_Font(TFT_defaultFont, CL_BLACK, FO_HORIZONTAL);
  TFT_Write_Text(essai, 70, 117);
  test++;
  TFT_Set_Font(TFT_defaultFont, CL_WHITE, FO_HORIZONTAL);
  IntToStr(test, essai);
  TFT_Write_Text(essai, 70, 117);


Dur dur de faire plus rapide .... j'efface le chiffre juste avant d'ecrire le nouveau .
Comment connaitre le temps que met la fonction inttostr ?
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Ecran tactile autour d'un PIC18F87J50
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#32 Message par satinas » ven. 15 janv. 2016 22:55

Tu n'as pas de couleur de fond pour la font, donc l'écriture se limite à afficher les pixels du caractère, et donc il faut bien effacer le caractère avant d'écrire par dessus. Dans d'autres librairies, on a une couleur pour le caractère, et une couleur pour le fond, et on peut réécrire sans effacer. C'est mieux au niveau vitesse, car il n'y a qu'un seul affichage au lieu de 2 dans ton cas. Pa r contre c'est moins bien si la zone d'écriture est déjà effacée, car ça fait double emploi.

C'est pour moi une question de vitesse, et des questions se posent :
- ton port parallèle 8 bit est il à sa vitesse max ?
- taille de la font ? sur de petites fonts, ça devrait être rapide. Une font 2 fois plus haute, c'est 4 fois plus de pixels.
- où est située la font, dans le pic, dans la flash, dans la SD ? J'avais été étonné de voir des fonts sur SD. Ca se précise, si il va chercher les pixels dans un fichier SD, cela me paraît pas du tout adéquat comme temps d'accès, à moins qu'il copie la font en ram avant.
- Si tu fais des inttostr() entre les affichages, ça scintille aussi si tu ne fais que des affichages sans les inttostr() ?

Pour tester la durée d'une routine, tu demandes au pic de se chronométrer. Tu dois bien avoir une fonction qui retourne un nombre de millisecondes écoulées. Tu fais une boucle qui exécute 1000 fois la fonction, tu chronomètres et tu divises par 1000.

Ecran tactile autour d'un PIC18F87J50
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#33 Message par Jérémy » ven. 15 janv. 2016 23:21

J'ai effectivement une couleur pour la font et une couleur pour le fond d’écran, mais de couleur de fond de font :D .
Je n'utilise pas encore le PORT parallèle , je n'ai pas au trop le temps, ce week end je pense accélérer . pour le moment je peaufine et m'entraine sur mon écran de test. le câblage est prêt a être connecter a ma easyPIC .

la font est petite taille de 12, elle se situe sur la carte SD . le logiciel Visual tft , me mets les données font et image sur la SD .

Sans le inttostr ça scintille aussi . j'ai écrit un texte pour voir . c'est peut être même pire avec le texte . ( plus de caractères ? )
Pour bien tester il faudrait que je mette la font en RAM plutôt que sur SD, afin de voir si c'est le temps de récupération qui est long ?
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Ecran tactile autour d'un PIC18F87J50
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#34 Message par satinas » ven. 15 janv. 2016 23:33

Je peux pas trop t'aider plus, n'ayant aucune pratique de MikroE. Tu pourrais faire un petit programme avec ta font de 12 dans le pic, donc compilée avec le programme. Si ça va plus vite, cela vient de la SD. Sinon chronométrer toutes les étapes, pour voir où sont les lenteurs (s'il y en a :?: )

La gestion d'un lcd graphique, c'est assez lourd, le pic est très sollicité, aller chercher des fonts, les afficher, calculer des figures géométriques, les dessiner, les remplir, ça demande de la cpu et de la vitesse sur le port lcd.

Ecran tactile autour d'un PIC18F87J50
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#35 Message par Guest » sam. 16 janv. 2016 08:50

bonjour

Je vois que tu es confronté a des problèmes de vitesse, occupation mémoire tient tient. ;)

C'est un simple conseil, la SD, pas une bonne idée (c'est fou, comme on veut, transformer nos petits µC en grands µP), la table de caractère pourquoi pas, mais question, c'est pour ta télécommande ? si oui tu es sur, d'utiliser toute la table, ou seulement quelques caractères si OUI charge ce qui te faut,( quitte a faire toi même ta propre font), en flash a l'init tu la charges en RAM dans une table.SINON pourquoi gaspiller des ressources inutilement(mémoire et temps).
Comme tu es parti (j'ai vu ton schéma)AMHA, tu va être confronté a ce problème encore, tu as la possibilité d'ouvrir le robinet, mais gare au plus tu tournes vite au plus, tu consommes et la problème se déporte alors sur ta batterie, Je pense que tu as fait sur cet élément important une petite étude ? NON

Tu sais il y a ce qui s'appelle un cahier des charges avec calcul des temps, algorithme, DS... Pense y cela va te faire gagne du temps dans ta réalisation.

tu vas me dire j'apprends certes...

A+

Ecran tactile autour d'un PIC18F87J50
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#36 Message par Jérémy » sam. 16 janv. 2016 09:07

tu vas me dire j'apprends certes...

:bravo: effectivement .....

pas une bonne idée la SD ? mais j'ai pas trop le choix , concernant la taille de mémoire ; Le PIC ne sera pas suffisant pour stocker plusieurs fonts et/ou images. Je crois que j'ai pas le choix, c'est SD ou Flash !

Oui toujours pour la télécommande. il y a pas mal de texte écrit dessus pour indiquer un tas de donnée . je ne peux pas me passer de font , j'ai plusieurs écran et menu.

en flash a l'init tu la charges en RAM dans une table.SINON pourquoi gaspiller des ressources inutilement.

Voila l'exemple type, je ne comprends pas trop ceci . Dans l'idée je vois ou tu veux en venir, dans les faits , je ne sais absolument pas comment faire .

Comme tu es parti (j'ai vu ton schéma)AMHA, tu va être confronté a ce problème encore, tu as la possibilité d'ouvrir le robinet, mais gare au plus tu tournes vite au plus, tu consommes et la problème se déporte alors sur ta batterie, Je pense que tu as fait sur cet élément important une petite étude ? NON

Oui et Non, avec mes petits moyens .... mais l'alimentation Du PIC est négligeable ici, face à un mon transceiver radio de plusieurs centaines de mili-amperes (700mA de souvenir).

Ensuite actuellement j'actualise mes données en permanence, ce qui ne sera pas le cas au final, seulement quand je recevrais de s données en Rx peut être deux fois par secondes pour ne pas trop gêner , la surveillance du tactile.
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Ecran tactile autour d'un PIC18F87J50
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#37 Message par Guest » sam. 16 janv. 2016 09:48

Donc je te souhaite de résoudre c'est problèmes de temps et espace tout en apprenant ;)
Un écran qui scintille lors de manipulation de données c'est que le code est trop lent.
Pourquoi:mal optimisé, algo pas bon,je ne connais pas de remède sinon monter en puissance ou refaire le code

A+

Ecran tactile autour d'un PIC18F87J50
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#38 Message par Jérémy » sam. 16 janv. 2016 10:06

Ok, c'est bien ce que je pensais, y'a peu être pas de solution. Pas de problème, merci d'avoir regarder. C'était juste pour essayer de comprendre, et savoir si il y avait une autre solution, que d'effacer le texte précédent avant d'ecrire le nouveau.

A très vite car je pense branché en UART l’écran et je sens que je vais galérer
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Ecran tactile autour d'un PIC18F87J50
sylvain54
Avatar de l’utilisateur
Amateur
Amateur
Messages : 194
Âge : 51
Enregistré en : août 2015
Localisation : Dans l'est de la France

#39 Message par sylvain54 » sam. 16 janv. 2016 12:38

Je te suis de près,

L'utilisation du TFT avec un Pic 18F m'intéresse. J'ai en ma possession un TFT proto et 2 Easy TFT de chez Mikroe. J'ai quelques projets en tête ;)
Je suppose que de ton côté que c'est pour du modélisme ? Sur terre, eau ou dans les airs ?

++

Ecran tactile autour d'un PIC18F87J50
Jérémy
Administrateur du site
Administrateur du site
Messages : 2725
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#40 Message par Jérémy » sam. 16 janv. 2016 12:51

Bonjour sylvain,

Tu devrais alors aimer le tutoriel que j’ai fais sur le TFT proto . Je pourrais t'aider la dessus.

C'est plus pour faire un drone terrestre que du modélisme , mais ça y ressemble fortement en effet. j'ai déjà réaliser un drone terrestre, mais je souhaite recommencer avec plus d'option ce coup ci. Drone car il se pilote sans le voir avec des lunettes d'immersion. mais on en est pas encore la .
C'est en faisant des erreurs, que l'on apprend le mieux !!!


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Jérémy et 103 invités