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