web-dev-qa-db-fra.com

GUI-Library pour microcontrôleur

Je souhaite créer une application pilotée par une interface graphique pour un micro-contrôleur ( Atmel XMEGA ) connecté à un graphique de 128x64 points LCD ( EA DOGL128-6 ) et 4 boutons pour la navigation.

Contrôler l'affichage lui-même (par exemple, dessiner des pixels et des caractères) est non problème mais pour m'empêcher de réinventer la roue, je cherchais une GUI-Library /-Toolkit écrite en c, inclut son source. code, fonctionnera sur un microcontrôleur 8 bits à 32 MHz et fournit au moins les contrôles suivants:

  • panneau (pour regrouper des éléments)
  • menu (scrollable)
  • icône
  • label
  • bouton
  • graphique linéaire (facultatif)

Mais je n'ai rien trouvé d'utile. Est-ce que quelqu'un connaît (ou utilise mieux) une telle bibliothèque (de préférence gratuite)?

26
Martin

J'envisagerais de lancer votre propre interface graphique "mode immédiat". Jari Komppa a un bon tutoriel à leur sujet. C'est beaucoup plus facile que vous ne le pensez et vous constaterez probablement que la plupart des bibliothèques d'interface graphique, même celles ciblant des systèmes intégrés, sont un peu lourdes pour votre système.

Si vous insistez pour utiliser une bibliothèque tierce, voici quelques-unes de celles-ci. Je n'ai jamais utilisé aucun d'eux et ils sont probablement assez chers.

13
Judge Maygarden

J'ai personnellement utilisé PEG (au travail), mais ce n'est pas gratuit. Vous avez juste besoin d'écrire une petite couche d'adaptation et de l'utiliser. Vous pouvez aussi regarder Qt ou minigui .

5
INS

J'ai aussi écrit une bibliothèque qui supporte presque toutes les technologies d'affichage: µGUI

http://www.embeddedlightning.com/ugui/

µGUI est une bibliothèque graphique gratuite et à code source ouvert pour les systèmes intégrés. Il est indépendant de la plate-forme et peut être facilement porté sur presque tous les systèmes de micro-contrôleurs. Tant que l’affichage est capable d’afficher des graphiques, µGUI n’est pas limité à une certaine technologie d’affichage. Par conséquent, les technologies d'affichage telles que LCD, TFT, E-Paper, LED ou OLED sont prises en charge. L'ensemble du module est constitué de deux fichiers: ugui.c et ugui.h.

Cela pourrait être utile aussi

4
Achim Döbler

Vous devriez jeter un oeil à Contiki [wikipedia.org]

En plus d’être un système d’exploitation petit et élégant pour de nombreux microcontrôleurs 8/16/32 bits, il dispose également d’une boîte à outils à interface graphique. Il tourne sur l'Atmel AVR!

Pour votre commodité, voici un lien direct vers Le code source de Contiki Toolkit (CTK) .

3
Oskar N.
1
Timmmm

NuttX est un système d'exploitation en temps réel pour les microcontrôleurs. L'auteur a commencé à développer quelques primitives d'interface graphique pour LCD écrans.

1
Jay Atkinson

En plus de la liste du juge Maygarden RAMTEX , des bibliothèques spécialement conçues pour les petits écrans LCD graphiques. Encore une fois, ce n’est pas gratuit, mais c’est pour un usage commercial, rappelez-vous que si vous le faites vous-même, la fabrication d’un produit poli peut prendre plusieurs heures de travail; pensez donc à cela avant de construire le vôtre.

Si mon entreprise prenait plus de cinq heures, je ferais mieux d’acheter la bibliothèque Ramtex (environ deux jours si vous ne tenez compte que de mon salaire.) . Si toutefois vous avez le temps et l'envie, ce n'est pas une tâche difficile et probablement amusante.

1
Clifford

J'ai travaillé sur un projet similaire. Les liens les plus proches que je pourrais trouver sont dans les liens suivants, mais je doute que vous trouviez une bibliothèque avec toutes les fonctionnalités que vous désirez. Ceux-ci ne configureront que les fonctions de dessin de base, mais c'est un début. Il existe également des outils utiles pour la conversion de bitmap et les créateurs de polices si vous creusez.

http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/glcd_dcf77/index.html

http://fr.radzio.dxp.pl/

Presque tout ce que j'ai vu ici est excessif pour ce que l'affiche semble demander.

0
radix07

Vous pouvez utiliser le " Bibliothèque de graphiques Microchip " gratuitement.

Ceci inclut l’outil graphique " Graphics Display Designer X " pour la conception d’écrans, qui génère les fichiers "C" de votre écran.

J'utilise cet outil qui est très convivial, mais certains des widgets que vous cherchez peuvent ne pas être trouvés.

Voici le lien pour l'outil graphique: Cliquez _ ici !

0
mailforthis

L'environnement de développement CodeVisionAVR dispose désormais de bibliothèques graphiques pour XMEGA.

Le compilateur CodeVisionAVR C comprend une puissante bibliothèque graphique pour les écrans à cristaux liquides Avec des résolutions allant de 84x48 à 800x480 pixels.

Cependant, ce n'est pas gratuit.

0
vsz

Nous avons commencé à utiliser easyGui et cela semble bien. Vous concevez les écrans dans une application PC, puis le code source est généré, ce qui facilite grandement la phase de conception.

Il fait la plupart des choses sur la liste. Les graphiques linéaires sont à venir. Vous pouvez facilement créer des boutons en tant que structures réutilisables.

Il est livré avec des pilotes de modèles pour de nombreux affichages - vous pouvez utiliser le code non modifié ou le modifier en fonction du degré de correspondance du modèle avec votre affichage (la profondeur de couleur et l'interface sont les principaux problèmes).

0
peter_mcc

Rich Quinnell mentionne "... J'ai vu une démonstration d'applications Java s'exécutant sur un MCU STM32-F3 ..." http://www.microcontrollercentral.com/author.asp ? section_id = 1741 & doc_id = 253618

Je suppose que c'est ce que vous cherchez?

0
mike redmont

Vous voudrez peut-être jeter un coup d'œil au framework Nano-X (anciennement appelé Microwindows): http://www.microwindows.org/

Il prétend prendre en charge un système DOS 16 bits, donc je ne sais pas si cela convient à un 8 bits, mais peut-être que la bibliothèque peut être réduite à ce dont vous avez besoin. 

Je ne l'ai pas utilisé, mais à un moment donné, on envisageait de l'utiliser pour une interface utilisateur d'affichage simple (bien que sur un système ARM 32 bits). Malheureusement, le projet a évolué avant que je ne fasse quoi que ce soit avec. Je serais intéressé par ce que vous en pensez (ou à quel point cela fonctionne si vous décidez de l'utiliser).

0
Michael Burr