Auteur Sujet: Bibliothèque LcdUI  (Lu 14667 fois)

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Bibliothèque LcdUI
« le: mai 04, 2015, 11:51:50 am »
Viendra ensuite LcdUI qui permet de réaliser -assez- facilement une interface utilisateur un peu évoluée (Splash Screen, écrans de saisie entier, chaine, booléen, choix multiples, enchaînements d'écrans et messages d'interruption...).

J'ai vu que tu as comité ce projet hier sur framasoft. Ça m'intéresse :) Je cherchais justement ce type de bibliothèque et je veux bien utiliser/tester ;)
Cordialement

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 748
    • Voir le profil
Re : Bibliothèque LcdUI
« Réponse #1 le: mai 04, 2015, 12:04:23 pm »
Elle est effectivement dispo, même si certains aspects (saisie texte notamment) doivent être améliorés. Laisse moi un peu de temps pour mettre un véritable exemple (celui fourni n'a rien à voir...).

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Bibliothèque LcdUI
« Réponse #2 le: mai 04, 2015, 12:06:08 pm »
Oui j'ai vu  :D. Le readme est également celui d'UAD
Cordialement

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 748
    • Voir le profil
Re : Bibliothèque LcdUI
« Réponse #3 le: mai 04, 2015, 05:12:11 pm »
Voilà, j'ai poussé un meilleur exemple. La doc n'existe pas, et la lib ne fonctionne que pour un écran pilotable par la librairie LiquidCrystal ou sa version 'Fast'... Alors l'adaptation à ton besoin risque d'être corsée !
Je n'y ai inclus aucune interaction avec des boutons, mais ça va venir. J'ai juste laissé ma version utilisée dans Visual pour tester avec des touches du clavier. Les principaux événements sont EVENT_LESS (reculer), EVENT_MORE (avancer), EVENT_SELECT (sélectionner) et EVENT_CANCEL (annuler). Je n'ai pas testé l'exemple sur un Arduino, mais DcDccControler fonctionne sur un Nano avec la librairie, et avec beaucoup de fenêtres !
L'essentiel du travail pour le créateur d'interface se situe dans la création de la liste des textes en tête de fichier, et surtout la liste des 'Windows' et leur enchaînement. A ce sujet, attention au dernier argument de lcd.Setup() qui est le nombre total de fenêtres !

Trois types de fenêtre :
Splash pour un affichage temporaire de quelque chose, genre copyright au démarrage...
Interrupt pour accéder depuis n'importe où à une fonctionnalité particulière, comme un arrêt d'urgence ou un 'Cancel' de la fenêtre en cours,
et les fenêtres normales.

Contrairement aux deux autres, celles-ci s'enchaînent via une arborescence créée dans le setup. Là encore plusieurs types de fenêtre:
Choice permet de faire un choix parmi une liste.
Int et Text font de la saisie et permettent d'entrer une valeur.
YesNo pour valider un chois par oui ou non
Confirm pour valider un choix par l'événement EVENT_SELECT ou sortir par EVENT_CANCEL.

La filiation des fenêtre se fait par les deniers arguments de AddWindow() : l'avant dernier est l'adresse de la fenêtre mère, le dernier est l'indice du choix correspondant dans cette mère si c'est un WindowChoice.

Il y aurait beaucoup à dire, en particulier sur les fenêtres d'interruptions et sur la dérivation locale de Window pour créer ses propres fenêtres, mais déjà si je ne t'ai pas noyé, je considère que c'est un résultat acceptable !

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Bibliothèque LcdUI
« Réponse #4 le: mai 04, 2015, 05:17:26 pm »
Je vais regarder ça ;)

J'en ai profité pour scinder le sujet initial
« Modifié: mai 04, 2015, 08:08:34 pm par Jean-Luc »
Cordialement

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 748
    • Voir le profil
Re : Bibliothèque LcdUI
« Réponse #5 le: mai 05, 2015, 10:20:22 pm »
Après quelques tests sur un Mega, l'exemple a été mis à jour, en même temps que de petites corrections. La doc est en cours d'écriture sur le Wiki de framasoft.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2899
  • 100% Arduino et N
    • Voir le profil
Re : Bibliothèque LcdUI
« Réponse #6 le: juillet 25, 2015, 12:10:27 pm »
STP, peux-tu mettre un lien vers la bibliothèque ?

Merci d'avance
Cordialement,
Dominique

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 748
    • Voir le profil
Re : Bibliothèque LcdUI
« Réponse #7 le: juillet 25, 2015, 04:06:45 pm »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2899
  • 100% Arduino et N
    • Voir le profil
Re : Bibliothèque LcdUI
« Réponse #8 le: juillet 25, 2015, 07:29:29 pm »
Merci !

Et je m'aperçois que j'aurais du le savoir  :-[
Cordialement,
Dominique