Re: [Avr-list] aversive 1.1
2008/5/15 Olivier MATZ [EMAIL PROTECTED]: On Wed, May 14, 2008 at 10:26:56PM +0200, JD wrote: Au passage si tu as besoin d'aide/avis/etc sur le dev ou autre n'hésite pas :) la liste et Eirbot est remplie de bonne volontée (bon pour Eirbot ils sont pas encore tout à fait au courant mais ça va changer ;P). Alors oui évidemment ça me dit d'avoir de l'aide... si par exemple quelqu'un a déjà mis en place un bootloader sur liaison série (LeBomb l'avait fait, avec un dongle bluetooth si je me souviens bien), ça me dit bien d'avoir des infos. Après, comme je le disais dans mon mail précédent, j'ai envie de refondre un peu le framework -- attention tof va raler :p -- ; sachant que l'idée c'est de pouvoir: - Avoir plusieurs 'config.in' (ou équivalent) dans chaque répertoire de module, plutot qu'un global. Ca rend les merge et l'ajout d'un nouveau module plus facile (typiquement ce qui est fait avec les Kconfig depuis linux-2.6) Là j'approuve... - Du coup ça implique de supprimer la liste des modules dans le script generate_aversive_config - Une fois que ça c'est fait, gros progrès, on peut avoir des modules privés : un utilisateur peut avoir un ou plusieurs répertoires dans lequel chercher ses modules aversive, en plus du aversive/modules classique. Ca veut dire que si quelqu'un a des modules très spécifiques, ils peuvent etre géré en conf ailleurs que dans aversive. J'approuve totalement même :) - avoir une meilleure gestion des dépendances (pour le moment, qd on touche à un makefile, un make mrproper est souvent nécessaire) - possibilité de faire de la cross-compilation pour une autre plateforme facilement : ça n'a rien d'absolument nécessaire, mais si ça marche, ça montrerait que le framework est bien foutu (et il pourra etre utilisé pour des projets pas à base d'AVR) - rendre la configuration sous possible avec ncurses et/ou tk sous linux ET sous windows, de maniere native (on pourra toujours distribuer un binaire pour win). Mais c'est déjà natif sous linux le curse... non ? JD. ___ 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
Re: [Avr-list] [RobOtter] Re: Code et gestion d'erreurs.
Si mais je voulais voir si il y avait des idées et/ou des besoins particuliers sur le sujet avant de leur vendre directement aversive/error. Bien sûr j'aurais fait payer la totalité du développement du module error quand même (SSII spirit :p). JD. PS: Aversive, moi, j'en prend un grand bol tout les matins. 2008/5/14 Olivier MATZ [EMAIL PROTECTED]: c'est pas ça que tu cherches ? http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/debug/error On Wed, May 14, 2008 at 02:22:50PM +0200, Fabrice Larribe wrote: Il faudrais metre ça dans AVERSIVE !!! - Original Message - From: JD [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, May 14, 2008 2:18 PM Subject: [RobOtter] Code et gestion d'erreurs. Un petit mail pour démarrer la discution sur du code que j'aimerais voir dans le robot cette année et qui manquait cruellement aux robots eirbots des années passées. Une gestion des erreurs. Un système de debug/log. Pour la gestion d'erreur ça serait mettre en place des macros permettant de faire des choses du genre : void func(struct otter* potter) { if(!potter) ERROR(ERR_PARAM_NULL_POINTER); ... Créant sur le débug une sortie du genre : ERROR in otter.c at line 154 : ERR_PARAM_NULL_POINTER (function receive a NULL pointer parameter). Avec un système permettant de définir si l'erreur est fatale ou non, une erreur fatale amenant le programme dans un fonction qui stoppera ses actionneurs et le laissera dans une boucle infinie. Pour ce qui est du log, ça serait systématiser les messages de debug dans les modules en donnant la possibilitée à l'utilisateur de définir un niveau de verbosité et de contrôler l'affichage des messages à l'échelle du module. Donc voilà si vous avez des idées de choses à ajouter et si (mieux encore) vous vous sentez l'envie de commencer la rédaction d'un CDC ne vous privez pas ! JD, coders on the storm. --~--~-~--~~~---~--~~ La grande loutre vaincra. -~--~~~~--~~--~--~--- ___ 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
Re: [Avr-list] aversive 1.1
Au passage si tu as besoin d'aide/avis/etc sur le dev ou autre n'hésite pas :) la liste et Eirbot est remplie de bonne volontée (bon pour Eirbot ils sont pas encore tout à fait au courant mais ça va changer ;P). JD, lève son verre à la 1.1. PS: Bon c'est du jus de pomme certes (j'ai pas les moyens moi !) mais le coeur y est ;) 2008/5/14 Olivier MATZ [EMAIL PROTECTED]: Pour marquer la fin de la coupe, j'en ai profité pour sortir une nouvelle version stable d'aversive. Je fais pas la liste des nouvelles features, il y en a un peu trop, ça faisait quand même 2 ans depuis la dernière version... J'essaierai d'être plus régulier les prochaines fois. Au menu de la 1.2, j'aimerais bien ajouter un bootloader compatible butterfly, un nouveau framework (j'en dirai plus bientôt), et un intégrer les modules de la branche eirbot (AX12 notamment). Olivier ___ 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] Problèmes avec trajectory_manager
Salut, je suis en train de jouer avec le module de gestion de trajectoire de la nouvelle branche eirbot (mergé le 17/02 de la branche MAIN je vous le rappelle). Et voilà j'ai un problème avec ce module : dès que le robot doit se déplacer en XY (aucun problème pour les déplacements en distance ou angle seuls) il tourne en rond dès que son objectif n'est pas dans le cône où la consigne en distance est activée. Par tourner en rond j'entend : faire un demi tour sur lui même dans un sens, repartir dans l'autre et recommencer. :) D'où question: Est ce un bug oublié de la branche MAIN ? Dans le cas contraire je vais continuer à chercher dans le code pour cerner le problème. JD. ___ 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
Re: [Avr-list] Problèmes avec trajectory_manager
Okay j'vais voir tout ça dès que possible :) JD. 2008/3/25 Olivier MATZ [EMAIL PROTECTED]: Salut JD, A priori, il n'y a pas de diffs entre la HEAD et la branche b_zer0 (celle qui marche actuellement sur notre robot). Par contre, ce module est relativement sensible certains paramètres un peu empiriques ; par exemple dans notre init, on a: /* vitesse linéaire et angulaire */ trajectory_set_speed(robot.traj, 2000, 2000); /* distance window: distance entre le robot et le point de * destination à partir de laquelle on arrete * de mettre à jour la position (la consigne reste sur la * dernière envoyée) * angle window: pareil mais pour l'angle * angle start : si le point destination est en face de nous, * on avance à fond, et plus l'angle augemente, plus on * diminue la vitesse linéaire, jusqu'à 0 lorsque l'angle * vaut cette valeur. */ trajectory_set_windows(robot.traj, 20.0, 10.0, 50.0); Sinon j'ai mis en standby il y a quelque temps, mais ça ne m'a pas gêné dernièrement: * - trajectory_in_window() marche peut etre pas bien en marche arriere * - 'goto xy_rel 0 0' marche pas Le 25 mars 08 à 20:06, JD a écrit : Salut, je suis en train de jouer avec le module de gestion de trajectoire de la nouvelle branche eirbot (mergé le 17/02 de la branche MAIN je vous le rappelle). Et voilà j'ai un problème avec ce module : dès que le robot doit se déplacer en XY (aucun problème pour les déplacements en distance ou angle seuls) il tourne en rond dès que son objectif n'est pas dans le cône où la consigne en distance est activée. Par tourner en rond j'entend : faire un demi tour sur lui même dans un sens, repartir dans l'autre et recommencer. :) D'où question: Est ce un bug oublié de la branche MAIN ? Dans le cas contraire je vais continuer à chercher dans le code pour cerner le problème. JD. ___ 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] CVS Eirbot, le combat continue
Salut ;) C'est la mort dans l'âme (si si) que j'ai voulu remettre le cvs aversive / branche eirbot sur pieds. Or j'ai remarqué une grande différence entre la branche head et la notre, et pour cause: ça fait une éternité que rien n'a bougé sur Eirbot. Donc j'aimerais reprendre la branche head du CVS puis rajouter les modifs Eirbot dessus (nos modules d'asserv et les autres). Sauf que j'ai beau chercher je vois pas de manière facile d'y arriver :) Le maître du CVS aurait-il un conseil à me donner ? JD. ___ 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
Re: [Avr-list] CVS Eirbot, le combat continue
L'idée de la nouvelle branche me plait beaucoup, ça permettra d'y aller doucement et de refaire une nouvelle branche bien propre. Tu peux y aller ;) JD. 2008/2/17 Olivier MATZ [EMAIL PROTECTED]: Salut JD, Donc j'aimerais reprendre la branche head du CVS puis rajouter les modifs Eirbot dessus (nos modules d'asserv et les autres). Sauf que j'ai beau chercher je vois pas de manière facile d'y arriver :) Le maître du CVS aurait-il un conseil à me donner ? Muhahaha. Alors le maître du CVS, je sais pas où il est, mais moi je veux bien donner mon avis à la limite. 1/ Dans le cas où le nombre de modifications est faible et où elles sont clairement identifées et cloisonnées. - Le faire à la main, ça sera le plus rapide : checkout de la head et de la branche, copie des fichiers de l'un vers l'autre, et commit. 2/ Dans le cas où on ne sait pas trop où ça a bougé (et qu'on a une après midi perdre). cd /tmp cvs co -d aversive_head aversive cvs co -d aversive_eirbot -r eirbot aversive cd aversive_eirbot/ cvs -q update -j HEAD cvs -qn up | more # permet de voir l'étendue des dégats. Ensuite, il faut prendre chaque conflit. Si t'es sur que y'a aucune modif dans la branche eirbot qu'il faut garder, alors le plus simple est de le recopier depuis aversive_head. Les .config peuvent être regénérer donc pas besoin de s'embêter à les merger. Et sur tout ce qu'il reste, il faut vraiment résoudre les conflits. Ne pas oublier cvs commit :) 3/ Utiliser cvsps (jamais essayé) mkdir patchs_eirbot cvsps -g -p patchs_eirbot -b eirbot aversive # c'est long cd patchs_eirbot/ ls Bon moi quand je fais ça chez moi, il filtre pas correctement par branche. Du coup, je refais un petit grep. mkdir filtered cp `grep Branch: eirbot * | cut -d ':' -f1` filtered Tu as la liste des patchs fais dans la branche eirbot depuis sa création, tu peux les reporter dans la head. A mon avis, c'est très long aussi (les patchs ne vont pas s'appliquer et tout et tout). Ce que je peux te proposer aussi c'est la création d'un nouvelle branche b_eirbot (comme j'ai fait pour tof y'a qqs mois). J'ai fait des scripts qui facilient ensuite les merges (qui devraient en tout cas). Olivier ___ 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] uart0_send et buffers
Salut, Nous essayons actuellement d'implémenter une communication série full-duplex sur ATmega. Pour se faire on utilise le module uart d'aversive, deux buffers sur TX / RX et un port pour la direction. Toutefois on se confronte à un petit problème, les données ne semblent pas envoyées directement après l'appel d'uart0_send. Je crois savoir que l'ATmega possède un buffer sur l'envoi. D'où la question : - Peut-on, en utilisant le module UART, forcer l'envoi du buffer ? Donc voilà, je prend toutes bonnes idées :) JD. (et ~salva qui se cache, le faible) ___ 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
Re: [Avr-list] uart0_send et buffers
2008/1/24 Olivier MATZ [EMAIL PROTECTED]: Yop, Pour se faire on utilise le module uart d'aversive, deux buffers sur TX / RX et un port pour la direction. Qu'entends-tu par un port pour la direction ? Un PIN en fait... pas un port complet :P Relié à deux buffer pour brancher soit TX soit RX sur la ligne de communication full-duplex. Toutefois on se confronte à un petit problème, les données ne semblent pas envoyées directement après l'appel d'uart0_send. Je crois savoir que l'ATmega possède un buffer sur l'envoi. En fait il n'est pas hardware, mais soft. Le buffer d'envoi de l'ATmega en hard fait un octet. Ah okay ;) donc j'avais pas tout pigé moi. D'où la question : - Peut-on, en utilisant le module UART, forcer l'envoi du buffer ? si tu as les interruptions masquées et que tu as configuré l'uart en mode interruption, effectivement certaines données restent dans le buffer. Celà dit une fonction de flush serait la bienvenue (c'est d'ailleurs prévu : http://bugzilla.droids-corp.org/cgi-bin/bugzilla/show_bug.cgi?id=71 ) Okay j'vais voir ce que je peux faire. m'ci bien. JD. ___ 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
Re: [Avr-list] bug particulierement coriace : UART freeze by full buffer ( -O3 only)
Je confirme j'ai parfois vu des choses étranges se produire lors d'un compile en O3 avec les printfs. Toutefois j'ai jamais trouvé exactement d'où ça venait :) Merci tof' ! JD. On 21/01/07, christoph [EMAIL PROTECTED] wrote: Salut j'ai eu un probleme avec une UART qui fsait planter un printf. en gros, quand le buffer etait plein, freeze du uart0_send. j'ai mis un temps certain, voir un certain temps, que cela ne se produisait que quand j'activais le niveau d'optimisation -O3. Ensuite j'ai cherche en vain la cause en essayant de debugger avec le JTAG, mais insight est assez imbittable, et ne fait pas trop ce qu'on lui demande. J'ai fini par trouver la cause du probleme : http://cvs.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/comm/uart/uart.c?r1=1.33.2.2r2=1.33.2.3pathrev=b_tof quelques volatiles qui manquaient. j'ai aussi commite un nouveau programme de test : http://cvs.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/comm/uart/test/main.c?revision=1.15.8.3view=markuppathrev=b_tof avec l'uart non corrigee, cela sortait : x0x1x2x3x4x5x6x7x8x9 Uart puis plantait, car le buffer de 4 cars etait arrivee a saturation et la boucle d'attente avait ete optimisee par GCC en while(1). Il serait judicieux de commiter uart.c et test/main.c dans le main, non ? a++ tof, debugger de la mort ___ 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