Ok merci et bonne chance pour la coupe !!
Antoine
Le 13 mai 2009 à 04:49, Olivier MATZ <z...@droids-corp.org> a écrit :
Salut Antoine,
Désolé de la réponse un peu tardive, mais comme tu t'en
doutes peut être, on est un peu sur notre robot 24/24, ce
qui laisse assez peu de temps pour répondre aux mails ;)
Effectivement, il y a de quoi faire une ligne de commande
-- même un peu plus que basique ;) -- dans aversive. En
gros il y a plusieurs modules impliqués:
- vt100: c'est un parseur vt100 comme son nom l'indique,
c'est à dire qu'il est capable de reconnaître les
caractères de contrôles, commes les flèches. Il permet
aussi d'envoyer des commandes spécifiques au terminal,
du style effacer la ligne ou la page.
- rdline: un peu l'équivalent de la readline de gnu avec
moins de fonctionnalités. Ce module utilise vt100 et
permet en gros de faire l'édition d'un buffer de texte
sur une ligne, en gérant un curseur qu'on peut déplacer,
et tous les raccourcis comme CTRL-a pour le retour à
la ligne, ... Le module permet de mémoriser un historique
des commandes.
- parse: c'est ce qui permet, à partir d'une liste de
commandes statiques stockées dans la mémoire programme
du uC, de savoir si un buffer renvoyé par rdline
correspond ou non à une commande utilisateur. Si c'est
le cas, il va remplir une structure contenant les
arguments préformatés et appeler la fonction correspondant
à la commande. Il gère aussi à la demande de rdline une
complétion avec la touche 'TAB' ou '?'. Le mieux est
de regarder le code d'exemple du module, ainsi que le
code de microb 2009.
Si tu as des questions spécifiques, n'hésite pas.
Olivier
Antoine albertelli wrote:
Hello,
J'ai un peu regardé le code source du robot de Microb, et j'ai vu
que
vous avez fait une ligne de commande basique pour votre robot, et
j'essaye de faire la même chose pour un projet perso, mais je n'ai
pas
compris comment le code fonctionne. J'ai plus ou moins compris
comment
marchait la définition de commande, mais pour le reste, un coup de
main
serait le bienvenu.
A+
Antoine
---
---------------------------------------------------------------------
_______________________________________________
Avr-list mailing list
Avr-list@droids-corp.org
CVSWEB : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive
WIKI : http://wiki.droids-corp.org/index.php/Aversive
DOXYGEN : http://zer0.droids-corp.org/doxygen_aversive/html/
BUGZILLA : http://bugzilla.droids-corp.org
COMMIT LOGS : http://zer0.droids-corp.org/aversive_commitlog
_______________________________________________
Avr-list mailing list
Avr-list@droids-corp.org
CVSWEB : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive
WIKI : http://wiki.droids-corp.org/index.php/Aversive
DOXYGEN : http://zer0.droids-corp.org/doxygen_aversive/html/
BUGZILLA : http://bugzilla.droids-corp.org
COMMIT LOGS : http://zer0.droids-corp.org/aversive_commitlog
_______________________________________________
Avr-list mailing list
Avr-list@droids-corp.org
CVSWEB : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive
WIKI : http://wiki.droids-corp.org/index.php/Aversive
DOXYGEN : http://zer0.droids-corp.org/doxygen_aversive/html/
BUGZILLA : http://bugzilla.droids-corp.org
COMMIT LOGS : http://zer0.droids-corp.org/aversive_commitlog