Re: [Avr-list] quadramp_derivate : l'ebauche de l'asserv qui tu tout ( ou pas )
Je viens de regarder le patch pour quadramp_derivate et les brushless. Je vais donc faire un merge dans la branche principale de ces modules, mais je ferai certainement des modifications concernant l'indentation, les types (s08, u08, ... qui apparaissent de temps en temps), et quelques commentaires. Il suffira que tu reportes mes modifications dans ta branche avec le script de cvsutils. Ca pourra permettre de vérifier que le script fonctionne correctement ; si tu veux on fait ça ensemble un soir. Olv Le 9 janv. 07 à 20:52, christoph a écrit : salut voici l'arrivee d'un module sur le theme autour duquel je traficote depuis pas mal de temps le quadramp_derivate. dispo sur b_tof : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/ devices/control_system/filters/quadramp_derivate/?pathrev=b_tof le concept est simple : faire une sorte de quadramp, mais qui sort une consigne de vitesse pour un asserv de vitesse. le fonctionnement est assez original : au lieu de calculer un profil de vitesse, on calcule le point pivot, c'est a dire grosso modo le point ou il faut commencer a deccelerer. selon que l'on est avant ou apres ce point, on accelere ou n decelere (pas de position de repos) ensuite on integre cette valeur binaire pour avoir une vitesse, qu'on limite. et voila le pire : ca marche tip top : http://f4eru.free.fr/quadramp_derivate/ on remarquera que le géné de traj ne part pas en couille apres un blocage (bordel, ca fait mal au doigts ces moteurs) Remarques, critiques, lettres d'amour ou tomates pourries: hop, un reply :) a++ tof PS : question cvs pour oliv (faut bien qu'il bosse, en vacances): http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/ devices/brushless_motors/brushless_3phase_digital_hall_double/? hideattic=0pathrev=b_tof pourquoi mes brushless sont tous dead ?? ___ 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
Re: [Avr-list] i2c, le bout du tunnel
Et là (j'ai commité il y a 10 mn) ? http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/comm/i2c/?pathrev=b_zer0 (je remets le lien, il était mal passé) Olivier Fabrice Larribe wrote: Je vois les dociers du CVS-Web vides Fab ___ 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] list : une ptite amélioration ?
Dans le cas du LIST_PULL_END le code n'a pas été modifié correctement (en fait c'est la meme chose qu'avant): http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/base/list/list.h?r1=1.14.2.2r2=1.14.2.3 Sinon ça me va. Si tu corriges le bug, je pense qu'il faudrait en profiter pour réindenter LIST_ARRAY_PULL_*() christoph wrote: salut j'utilis intensivement le module list. un pti truc me soule un peu : quand on fait un LIST_PULL_START (ou end), et qu'on veut simplement deleter n element sans le regarder ( ce qui m'arrive ) il faut faire : int dummy; LIST_PULL_START(liste_de_int, dummy); alors qu'il serait tellement plus simple de faire: LIST_PULL_START(liste_de_int, NULL); la modif mineure dans ma branche, non testees. ya t il des objections a ce type de comportement ? tof ___ 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] Aversive 1.1
Hello, Les features planifiées (si tant est qu'il y ait un planning) pour la version 1.1 sont intégrées dans la HEAD d'Aversive depuis aujourd'hui. Si vous avez l'occastion de tester vos projets avec les snapshots courants, ça m'intéresse. Le dernier commit supprime les modules utils, wait et list pour être dispatchés dans le repertoire include/ aversive. Normallement, la compilation d'un projet utilisant des includes comme utils/utils.h devraient afficher un warning mais compiler. S'il n'y a pas de retour négatif, je ferai un tag cvs AVERSIVE_1_1. Mes prochains travaux seront clairement l'i2c (encore jamais testé, c'est mal), les modules mf2_client et mf2_server, très expérimentaux pour le moment, et probablement une optimisation du filtre quadramp, et de robot_system. On attaquera ensuite avec Fabrice le codage d'un module trajectory décent. Vala, j'ai fait un simili-planning. 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
Re: [Avr-list] error: aversive.h: No such file or directory
Fabien M wrote: Si tu commites, je veut bien faire le end-user pour le tester. Ah cool... ben c'est déjà commité. Le snapshot sera dispo demain, sinon par cvs ça doit être ok. Oliv ___ 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] noob help ;-)
Laisser quoi configurable ? le timer, le prescaler, et le fait d'utiliser soit l'int de debordement, soit celle du compare auto-resettant (bien pratique pour les valeurs rondes ) Oui, le output compare j'y avait pensé aussi, mais pour le moment ça n'est pas encore faisable... quand ça sera implémenté dans le module hardware/timer, ça sera facilement utilisable par le scheduler. Oliv ___ 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] noob help ;-)
Ok ok, donc si je veut la ms à 8Mhz ça me f'ra 32. c'est ça : 8 000 000 / (32*256) = 976 Hz soit une période de 1024 us bin le base/time, mon but c'est d'avoir l'heure pour pouvoir faire des log (en secondes unix ça me semble bien). Est-ce que l'heure est précise ? Est-ce qu'elle est corrélée avec le scheduler ? Est-ce que je peut faire de la PWM, de l'ADC, utiliser le scheduler ET base/time en même temps sans avoir de problèmes de manque de timer ? je dirais oui. base/time utilise le scheduler, et donc l'heure sera mise à jour toute les ms dans ton cas, et elle sera précise (pas de dérive) s'il n'y a pas de bug :) En fait le arg2 c'est la fonction (car scheduler_add_periodical_event() est en fait une macro). Du coup le prototype de transmettre() ne doit pas etre correct. Ca doit etre qqchose du genre void f(void *). Aaah ok, c'est un peu tordu toutes ces macros ;-) hum certes. Je voulais refaire l'interface, mais je ne voulais pas trop casser la compatibilité avec le reste. Cela dit des static inline seraient peut être mieux. ++ Oliv ___ 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] noob help ;-)
yop, printf(%lu %u\n,(unsigned long)sec,(unsigned int)nbre_tours); en déclarant sec comme seconds et j'ai quand même un débordement sur 16bits. ça devrait marcher pourtant. Par défaut je mets %ld mais je pense que c'est pareil. Sinon rebalance le code ;) Ci-joint. Je vois pas l'erreur là. J'essayerai sur sur notre robot la semaine prochaine parce que ça m'intrigue ;) Essaye de regarder si un truc comme ça fonctionne : long i=153548L; printf(%ld\n, i); Sinon, je pense pas que ce soit ça, mais dans le menuconfig, tu peux choisir différents types de printf (dans generation options). Sinon, j'ai du mal à comprendre comment marche tout le bousin. Je voudrai utiliser le timer0 pour avoir un rapport cyclique variable sur OC0, est-ce que c'est possible de le faire tout en ayant le scheduler sur le même timer ? Je pense que c'est possible... même si le module est pas vraiment prévu pour. Dans le cas où tu utilises le scheduler avec le timer0 (sans utiliser le module hardware/timer), il va initialiser les registres de la manière suivante : sbi(TIMSK, TOIE0); TCNT0 = 0; TCCR0 = SCHEDULER_CK; En gros, tu dois pouvoir changer la valeur de TCCR0 après l'initialisation du scheduler pour utiliser le mode PWM du timer 0, tout en gardant l'interruption overflow, utilisée par le scheduler. a+ 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] test
test mailing list après changement de serveur mail ___ 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] Faire du profiling sur AVR
lu, pour le moment je fais ca en envoynt des donnees par printf a chaque cycle. pas tres propre, mais bon. ah, quoi comme données ? et qu'est ce que tu appelles un cycle ? Là dans mon cas, le but est de choper et d'afficher la valeur du PC a intervale régulier... en fait, pas tout à fait régulier, il y a une part d'aléatoire pour éviter que la période soit multiple d'une periode d'un autre évenement, par exemple une fonction appelée par le scheduler. Le gros avantage est que c'est suffisamment lent pour ne pas influer sur le fonctionnement du prog, ce qui permet de vraiment profiler ton appli. Par contre, ça ne te dis pas par quel chemin tu t'es retrouvé dans telle fonction... et je pense que cette info est relativement difficile à rétrouver, car il n'y a pas de frame pointer. Oliv ___ 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] Nicolas Villedary - Demande d'information
lu, Oui, à la base ABS_AVERSIVE_DIR est utilisé par le framework d'aversive uniquement et est déduit de AVERSIVE_DIR. Il faudrait essayer de tester sous win ce que fait une ligne comme celle là dans un makefile à part: AVERSIVE_DIR=../ ABS_AVERSIVE_DIR:=$(shell cd $(AVERSIVE_DIR) ; pwd) all: pwd echo $(ABS_AVERSIVE_DIR) Sous linux, le résultat est: [EMAIL PROTECTED]:/tmp/test_mk$ make pwd /tmp/test_mk echo /tmp /tmp Après ça peut déconner s'il y a des espaces dans le nom du répertoire. Olivier On Wed, Jan 09, 2008 at 09:59:16PM +0900, tof wrote: salut chez moi ca fonctionnait toujours... probablement car hutilisais toujours un chemin relatif du genre : ../../aversive_libs (c est aussi plus pratique) d'ailleurs il vaut mieux modifier AVERSIVE_DIR et non ABS_AVERSIVE_DIR dans le makefile. ou bien manquerait il un espace quelque part, oliv, qu en dis tu ? tof Nicolas Villedary a écrit : Suite à un essais concluant, je me permet de vous contacter une troiséme fois pour vous donner la solution, en vue de peu etre la publier sous wiki : //Ligne actuelle dans le Makefile_projet.mk #ABS_AVERSIVE_DIR:=$(shell cd $(AVERSIVE_DIR) ; pwd) //Ligne modifiée pour que cela fonctionne sous Windows et WinAVR ABS_AVERSIVE_DIR:=c:/WinAVR-20070525/aversive Avec c:/WinAVR-20070525/aversive le chemin du dossier racine d'aversive. Cordialement Nicolas Villedary, désolé du dérangement ! Merci pour tout ! X2BF3.com Nicolas Villedary a écrit : Je vien de me rendre compte qu'en occultant la ligne : -include .aversive_conf du Makefile dans le dossier projet, le debugger me renvoyé une ligne de compilation tres similaire voir assimilable à un chemin windows formaté à la sauce linux ... Il y a de grandes chances je pense que mon problême soit dû à une erreure dans le fichier mk/Makefile_project.mk avr-gcc -c -g -0 -Wall -Wstrict-prototypes -I. -I/c/WinAVR-20070525/aversive/include etc Ceci me semble etre du path linux tout craché ! I/c/WinAVR-20070525/aversive/include Mais cela me semble plus digeste sous Windows : I c:/WinAVR-20070525/aversive/include Cordialement, Nicolas Villedary X2BF3.com ___ 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
Re: [Avr-list] uart0_send et buffers
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 ? 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. 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 ) ++ 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
Re: [Avr-list] Aversive
Euh oui, il y des entrées dans bugzilla qui me servent de reminder notamment: http://bugzilla.droids-corp.org/cgi-bin/bugzilla/buglist.cgi? quicksearch=aversive Après si tu as des idées de trucs qui pourraient te servir, ça peut être intégré... la liste sert justement à discuter de ce genre de chose Le 14 févr. 08 à 17:40, [EMAIL PROTECTED] a écrit : Hello, depuis que je suis inscrit sur le liste droids, je vois passer tout plein de message a propos d'aversive. J'ai jamais regardé de près !!! Pourrais tu m'en dire plus si je veux utiliser ou participer a développement ? Merci. ___ 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
Re: [Avr-list] CVS Eirbot, le combat continue
La branche b_eirbot est crée. pour info, j'utilise les scripts cvsutils stockés ici : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/cvsutils/ Le jour où vous voulez faire un merge, executer ./merge1.sh et suivez les instructions :) JD wrote: 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. ___ 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
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
Re: [Avr-list] Problèmes avec trajectory_manager
oué tiens moi au courant, on n'est pas à l'abri d'un bug non plus :) JD wrote: 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 ___ 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] résultats de notre équipe à la co upe
Notre équipe (Microb Technology) termine 4e à la coupe de France de robotique 2008 ! Cette année, il semble que plusieurs équipes ont utilisé (au moins en partie) du code provenant d'Aversive, ça fait plaisir et ça donne envie de continuer à développer ces libs... Voilà, du coup y'a des chances qu'on remette ça en 2009 ;) 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
Re: [Avr-list] erreur lors d'un make config ou make menuconfig
lol Dommage qu'il y ait pas bot d'avant, sinon je me serais inscrit en me faisant passer pour un bot pour être plus furtif. Enfoirés d'humains. Le 12 mai 08 à 17:57, serpilliere a écrit : En meme temps c'est peut etre un bot qui s'inscrit sur Copain d'avant pour etre beaucoup plus furtif. Enfoiré de bot. + serpilliere Olivier MATZ wrote: yop, s'il y a les mêmes mails demain, je ferai le nécessaire au niveau du gestionnaire de mailing list. Celà dit je ne pense pas que ce soit un bot. Olivier Le 12 mai 08 à 16:52, serpilliere a écrit : Bonjour, je ne sais absolument pas qui est philippe dansaert , mais je recois des mails qui sont des copier/coller de la liste avr sur la liste avr, je pense ne pas être le seul *Si c'est une personne humaine, pouvez vous corriger vos fwd ou autre, *si c'est une sorte de bot, peut on le dégager de la liste? En vous remerciant. + serpilliere ___ 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
Re: [Avr-list] [RobOtter] Code et gestion d'erreurs.
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
[Avr-list] aversive 1.1
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
Re: [Avr-list] aversive 1.1
Tiens en parlant de bootloader, je ne connais pas le butterfly mais perso j'aime pas dépendre d'un programme supplémentaire (ie en plus de la toolchain habituelle) pour programmer le bestiau. Quand je bossais avec des PICs (ahem) j'avais modifié un bootloader tiré d'un AN, il prenait directement le .hex (:12345 etc...) sur un port série, ce qui fait que $ cat prog.hex /dev/ttyS0 programmait directement le truc (le bootloader se chargeait de vérifier l'ancien/nouveau byte pour ne pas le réécrire inutilement), y'avait pas de protocole particulier entre le bootloader et le pc host. Je me suis pas encore trop documenté sur le projet, mais je me dis que le bootloader est capable de faire d'autre trucs qu'un simple update de flash : eeprom et fusibles par exemple. Après, meme si c'est vrai que tu peux programmer de n'importe quelle machine qui n'a pas l'outil (avrdude, avarice, ...), tu en as qd meme besoin pour la premiere fois, et tu as toujours besoin d'avoir les outils de compil, donc t'es plus à un package près :p Mais j'avoue que c'est pas completement con :) ___ 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
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) - 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. - 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). Si vous avez d'autres requetes... ___ 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
- 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 ? oui, du moment que tu as la lib. Mais après le script qui fait le menuconfig utilise une version modifiée de dialog qui utilise ncurses. ___ 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] clés serveur cvs
J'ai oublié de dire aussi, la nouvell empreinte du serveur est: a2:2e:42:f1:b7:5b:82:71:ed:37:6c:89:af:ca:ba:37 On Mon, May 19, 2008 at 11:03:09PM +0200, Olivier MATZ wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hello, Juste pour signaler que suite à la faille openssl debian, de nouvelles clés ont été générées sur le serveur cvs. D'autre part, j'ai par prudence supprimé toutes les clés d'accès, il va falloir m'en réenvoyer pour ceux qui veulent commiter du code. Merci de bien faire gaffe à ne pas envoyer une clé faible :p ++ Olivier -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIMesN1TDCnJpO6PURAo8hAKCe9zf5XUBR1ZSJTA7HIbgRrjd2VQCeJeXb AXM0q3XGdADCG/m0f5oYvJI= =0DL5 -END PGP SIGNATURE- ___ 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 signature.asc Description: Digital signature ___ 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] GCC bug 64 bits
Hi Tof, I stumbled across a really rare animal this week : a gcc bug ;) http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27386 yes, i wrote a piece of code with a lot of u64 take care if you use 64 bit vars aversive is potentially affected, especially the fixed point lib, used by robot system. thanks for the report. You can launch the test program of fixed_point module on an AVR to see if there is a problem. subliminal message : are there some gcc experts here ? mouahahaha. no. ;) oliv : for aversive 1.1, i plan to make one or two little commits if there is time remaining. Sorry 1.1 is already out. But, if there is a critical issue, we can prepare a 1.1.1 version PS: au fait quelqu'un sait pourquoi on parle anglais ? ___ 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 CVS_LOG 2008-06-15
yop tof, Pour les macros extr_xxx, elles ne ressemblent plus à ça dans la head : ça fait raler gcc-4.2 sinon, du coup je les avais refait d'une manière plus correcte. http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/include/ aversive.h?revision=1.4view=markup Sinon bien vu pour le reset(). Le 15 juin 08 à 06:52, root a écrit : Commit from tof on branch b_tof (2008-06-14 10:02 CEST) === reset SW macro changed kbd updated aversive include/ aversive.h 1.3.2.3 aversive modules/devices/ihm/kbd/kbd_matrix_4x4/doc/ SCHEMA.DDB1.1.2.2 aversive modules/devices/ihm/kbd/kbd_matrix_4x4_4port/ kbd_matrix_4x4_4port.c 1.1.2.5 === aversive/include/aversive.h (1.3.2.2 - 1.3.2.3) === @@ -15,7 +15,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * Revision : $Id: aversive.h,v 1.3.2.2 2008-02-11 10:40:52 tof Exp $ + * Revision : $Id: aversive.h,v 1.3.2.3 2008-06-14 08:02:46 tof Exp $ * */ @@ -114,17 +114,41 @@ * use only if you need speed optimization ! * use instead for current operations */ -#define extr16_08_0(i) (*(char *)(i)) // LSB of a 16bit -#define extr16_08_1(i) (*((char *)(i)+1)) // MSB of a 16bit +#define extr16_08_0(i) (*(uint8_t *)(i)) // LSB of a 16bit +#define extr16_08_1(i) (*((uint8_t *)(i)+1)) // MSB of a 16bit + +#define extr32_16_0(i) (*(uint16_t *)(i)) // LSB of a 32 bit +#define extr32_16_1(i) (* (((uint16_t *)(i)) +1)) // MSB of a 32 bit +//#define extr32_16_23(i) (*((uint16_t *)((uint8_t *)(i)+1))) // middle of a 32 bit // deprecated + +#define extr32_08_0(i) (*(uint8_t *)(i)) // same stuff +#define extr32_08_1(i) (*((uint8_t *)(i)+1)) +#define extr32_08_2(i) (*((uint8_t *)(i)+2)) +#define extr32_08_3(i) (*((uint8_t *)(i)+3)) + + + +#define extr64_33_0(i) (*(uint32_t *)(i)) +#define extr64_32_1(i) (*((uint32_t *)(i)+1)) + +#define extr64_16_0(i) (*(uint16_t *)(i)) +#define extr64_16_1(i) (*((uint16_t *)(i)+1)) +#define extr64_16_2(i) (*((uint16_t *)(i)+2)) +#define extr64_16_3(i) (*((uint16_t *)(i)+3)) + +#define extr64_08_0(i) (*(uint8_t *)(i)) // same stuff +#define extr64_08_1(i) (*((uint8_t *)(i)+1)) +#define extr64_08_2(i) (*((uint8_t *)(i)+2)) +#define extr64_08_3(i) (*((uint8_t *)(i)+3)) +#define extr64_08_4(i) (*((uint8_t *)(i)+4)) +#define extr64_08_5(i) (*((uint8_t *)(i)+5)) +#define extr64_08_6(i) (*((uint8_t *)(i)+6)) +#define extr64_08_7(i) (*((uint8_t *)(i)+7)) + + + + -#define extr32_16_0(i) (*(int *)(i)) // LSB of a 32 bit -#define extr32_16_1(i) (* (((int *)(i)) +1)) // MSB of a 32 bit -#define extr32_16_23(i) (*((int *)((char *)(i)+1))) // middle of a 32 bit - -#define extr32_08_0(i) (*(char *)(i)) // same stuff -#define extr32_08_1(i) (*((char *)(i)+1)) -#define extr32_08_2(i) (*((char *)(i)+2)) -#define extr32_08_3(i) (*((char *)(i)+3)) /* a few asm utilities */ @@ -141,13 +165,18 @@ #ifndef sei #define sei() __asm__ __volatile__ (SEI\n) /** enable interrupts */ #endif -/** simple software reset, but doesn't initialize the registers */ +/** software reset through WDT + this procedure is recommended by atmel + http://support.atmel.no/bin/customer? custSessionKey=customerLang=ennoCookies=trueaction=viewKbEntryid=2 1 + */ #ifndef reset +#include avr/io.h +#include avr/wdt.h #define reset() \ do {\ - __asm__ __volatile__ (ldi r30,0\n); \ - __asm__ __volatile__ (ldi r31,0\n); \ - __asm__ __volatile__ (ijmp\n); \ + cli(); \ + wdt_enable(WDTO_30MS); \ + while(1) {}; \ } while(0) #endif == aversive/modules/devices/ihm/kbd/kbd_matrix_4x4/doc/SCHEMA.DDB (1.1.2.1 - 1.1.2.2) == == == aversive/modules/devices/ihm/kbd/kbd_matrix_4x4_4port/ kbd_matrix_4x4_4port.c (1.1.2.4 - 1.1.2.5) == == @@ -15,7 +15,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * Revision : $Id: kbd_matrix_4x4_4port.c,v 1.1.2.4 2008-03-16 15:12:49 tof Exp $ + * Revision : $Id: kbd_matrix_4x4_4port.c,v 1.1.2.5 2008-06-14 08:03:09 tof Exp $ * */ @@ -224,10 +224,10 @@ // ! a l ordre, car si on mettait d abord le port a 1, on aurait une impulsion sur le port // meme chose + haut -if ((value KBD_BIT2)!=0) +if ((value (1KBD_BIT2))!=0) return 0; // no key pressed - value |=
Re: [Avr-list] bug scheduler
Lu, il y avait bien un bug dans le classement de la liste. Un élément n'était jamais inséré en tete de liste, sauf lorsque la liste est vide. Du coup si on fait deux add_event() et que le 2e a une priorité plus forte, il sera qd meme executé en 1er. Le patch corrigeant le pb est attaché. Olivier. PS: je te mets un bon 19.5/20 pour ton exemple récursif sur la fonction main() qui permet une incompréhension totale du code :) On Sun, Sep 07, 2008 at 06:05:01PM +0900, tof wrote: Salut j'ai trouve un pti bug du scheduler : la prio n est pas prise en compte correctement selon l'ordre d'init si on ajoute une fonction de haute prio apres avoir ajoute celle de basse prio, la fonction de haute prio est bloquee pendant l'execution de celle de basse prio j'avoue que je n ai pas compris pourquoi ca ne fonctionne pas, en parcourant le code du scheduler... voici donc un ptit bout de code qui met en evidence le bug. (pour ceux qui n ont pas de HW sous la main, le resultat est dans le log) normalement les fonctions sont classes avant exec dans une table... oliv as tu une idee ? au pire on pourrait classer les fonctions dans une table reclassee a chaque ajout, non ? ca eviterait de faire du classement en int periodique a++ christoph /* * Copyright Droids Corporation, Microb Technology, Eirbot (2005) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Revision : $Id: main.c,v 1.15.8.5 2008-02-11 10:40:57 tof Exp $ * */ #include uart.h #include aversive/wait.h #include stdio.h #include avr/io.h #include avr/pgmspace.h // for printf_P and PSTR #include stdio.h #include scheduler.h volatile int high_cpt; volatile int low_cpt; volatile int sucess; // high prio : counts void high_prio_func(void * dummy) { high_cpt++; } // low prio : displays, and waits a very long time void low_prio_func(void * dummy) { printf(h_prio_int count=%i\n, high_cpt); low_cpt++; wait_ms(1000); } int main(void) { uart_init(); fdevopen(uart0_dev_send, NULL); scheduler_init(); if (sucess) { printf(\nThis test succeeds\n); printf(the counter increments a lot between each low prio\n); printf(the high prio sched is initialized first\n\n); /* working init */ scheduler_add_periodical_event_priority(high_prio_func, NULL, 1, 200); // high prio, 1 tick scheduler_add_periodical_event_priority( low_prio_func, NULL, 1, 100); // low prio, 1 tick } else { printf(\nThis test fails\n); printf(the counter increments ONLY ONCE between each low prio\n); printf(the hlow prio sched is initialized first\n\n); /* this init leads to failure of the prio system */ scheduler_add_periodical_event_priority( low_prio_func, NULL, 1, 100); // low prio, 1 tick scheduler_add_periodical_event_priority(high_prio_func, NULL, 1, 200); // high prio, 1 tick } /** autorize interrupts */ sei(); while(1) { sei(); nop(); /** autorize interrupts */ cli(); // restart after 10 low prio ints. if( low_cpt = 10) { high_cpt =0; // rst counters low_cpt =0; sucess = !sucess; // invert sucess main(); // restart } }; return 0; } Terminal log file Date: 07/09/2008 - 10:51:43 --- This test fails the counter increments ONLY ONCE between each low prio the hlow prio sched is initialized first h_prio_int count=0 h_prio_int count=1 h_prio_int count=2 h_prio_int count=3 h_prio_int count=4 h_prio_int count=5 h_prio_int count=6 h_prio_int count=7 h_prio_int count=8 h_prio_int count=9 This test succeeds the counter
Re: [Avr-list] I2C on ATtiny45
Hi Ali, The question is: Is it possible to reconfigure somehow pin assignation in order to use hardware USI module with my pin assignation? I never used micros from ATMEL before so any suggest highly appreciable. No, if you plan to use the hardware TWI module (i2c), the pin assignation is fixed. In my opinion, the 2 solutions are: - Modify the pcb to invert the 2 pins - If it's really impossible, implement a software i2c, which is not a simple task. By the way, there's an i2c module in aversive: http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/comm/i2c/ 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
Re: [Avr-list] Probleme timers atmega16
Yop, j'ai eu vent par un des p'tits jeunes d'eirbot d'un problème avec les atmega16 et le module PWM. Ce n'est donc pas une légende, il y a des gens qui bossent à Eirbot :) À la compil on se retrouve avec /tmp/aversive_09-01-18/include/aversive/timers.h:241:2: error: #error No timer/prescaler definitions for your AVR type et autres machin undeclared. En fouinant j'ai remarqué que toute trace de l'ATmega16 a disparu du fichier aversive/include/aversive/timers.h alors qu'il était présent dans l'ancienne version d'aversive dans aversive/include/aversive_timers.h. Effectivement, il était présent dans la branche eirbot, et je ne l'ai pas mergé au moment où j'ai migré les infos dans include/aversive/timers.h Je vais corriger ça rapidement, sachant que ça peut se faire facilement dans leur espace je pense. A noter que je suis en train de faire un module pwm_ng (qui fonctionne d'ores et déjà dans mon espace) qui sera un peu plus dynamique, donc un peu moins perf et consommant un peu plus de ram. Par contre il prendra moins de mémoire programme s'il y a plusieurs pwm. Ce module par contre a la conne idée de ne pas (ou très peu) dépendre de la version de l'AVR utilisé. Il faut par contre que je mette à jour tous les include/aversive/parts/*.h qui n'ont pas été updaté depuis longtemps. C'est dans le pipe comme on dit dans le jargon ;) Je pense commiter ça la semaine prochaine. Merci. 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
Re: [Avr-list] Probleme timers atmega16
j'ai eu vent par un des p'tits jeunes d'eirbot d'un problème avec les atmega16 et le module PWM. Normallement dans la branche b_zer0 ça a bien avancé pour corriger le pb: - Les nouveaux headers des avr, qui contiennent (jlg sera content) le mapping des fonctions speciales des ports. Par exemple, il y a un #define OC1A_PORT PORTD. Voir à la fin de ce fichier par exemple: http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/include/aversive/parts/ATmega16.h?revision=1.1.2.2view=markuppathrev=b_zer0 - Le module pwm_ng qui n'est plus limité à 3 timers. http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/hardware/pwm_ng/?pathrev=b_zer0 - Il reste encore à updater aversive/timers.h qui n'aura bientot plus de raison d'etre. http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/include/aversive/timers.h?revision=1.1.2.4view=markuppathrev=b_zer0 Je merge ça prochainement. Il faut lire ça comme il se doit... à savoir: des gars qui, un peu par hasard, sont à eirbot et font des bidouilles sur atmega16 dans leur chambre au V1. Tu devrais pourtant le savoir, zero... Toujours se méfier des gens d'eirbot. dark-crazy c'était mieux avant ? ;) ___ 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] Probleme timers atmega16
Yeah ! Ca oune les mamans ours ca, c'est cool ! c'est marrant que tu dises ça, j'étais justement en train de manger un petit ourson (le gateau hein, pas un vrai). Le seul truc dommage c'est que pour le moment je n'utilise plus Aversive, mais j'ai une arduino qui traine, je vais recommencer a jouer je pense. (bah ouais ils sont a fond PICs dans mon equipe :( ) A quand PICersive ? ;) ___ 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ème scheduler ATmega88
Lu, Tu peux tester le patch attaché, ça devrait marcher. L'idée est d'utiliser ce qui est défini dans include/aversive/parts/Atmega88.h Sinon, une solution peut être de changer ta config du scheduler pour ne pas utiliser le timer 0 (voir l'aide dans le menuconfig ou le Configure.help). Tiens moi au courant. Olivier On Tue, Jan 27, 2009 at 12:08:05PM +0100, METGE Julien wrote: Salut, JE vient confirmer la légende, il se passe des truc a EIRBOT :-P , pour changer, nous avons un petit problème... Je voulais utiliser les scheduler sur un ATmega88, j'ai donc inclus de module, et je me retouve avec des erreurs de compilation dans le fichier scheduler.c En fait c'est des problèmes de définition pour les timers. Il semblerai qu'il faille changer TIMSK en TIMSK0 ligne 48 et TCCK0 en TCCK0B ligne 51 dans scheduler.c Le problème, 'est que je ne suis pas vraiment sur qu'il faille changer que ça, et que ce soit le bon endroit... A+ Julien ___ 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ème scheduler ATmega88
il manque le patch dans ton dernier message ;) bien vu, il y en a qui suivent ;) --- scheduler.c.old 2009-01-27 13:48:35.0 +0100 +++ scheduler.c 2009-01-27 13:52:25.0 +0100 @@ -43,10 +43,10 @@ void scheduler_init(void) SCHEDULER_TIMER_REGISTER(); #else /* activation of corresponding interrupt */ - sbi(TIMSK, TOIE0); + TOIE0_REG |= (1TOIE0); /* TIMSK */ - TCNT0 = 0; - TCCR0 = SCHEDULER_CK; + TCNT0 = 0; + CS00_REG = SCHEDULER_CK; /* TCCR0 */ #endif } ___ 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] Bizarrerie dans le pid.c d'aversive
Salut Christophe, Je suis tombé votre librairie de filtre PID, et je trouve quelque chose d'étrange : Le signal d'entrée est saturé en software, jusque là ça va. Le hic, c'est que la dérivée est calculée avant la saturation, entre le signal d'entrée non saturé (in) et l'ancien signal d'entrée saturé (prev_samples[pid-index]). Je trouve cette approche un peu étrange, est-ce une erreur, ou y voyez-vous une justification particulière ? Je viens de regarder, il y a bien un soucis de ce coté. En fait, je crois que je n'ai jamais utilisé la saturation sur l'entrée, ce qui peut expliquer pourquoi je n'ai jamais eu de problème. La correction est appliquée dans la branche b_zer0 pour le moment: http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/ devices/control_system/filters/pid/pid.c?r1=1.5.4.7r2=1.5.4.8 Ca devrait être reporté avec tout le reste dans la branche principale dans pas trop longtemps. Merci, 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
Re: [Avr-list] aversive CVS_LOG 2009-03-18
yop j'ai deja eu ce pb la. je pense qu'il y a 2 cas: - evenement cyclique : error - evenement unique : il faudrait ne pas faire d'erreur mais scheduler un evenement des la prochaine exec du scheduler. en fait, pour ca il suffit de passer 1 au lieu de 0 a la fonction. si la periode est issue d'un calcul (c'est le cas de nos bras-ventouses cette annee), alors soit tu regardes la valeur de retour, soit tu t'arranges pour faire un test de ce style: time = calcul_complexe(); if (time SCHEDULER_UNIT) time = SCHEDULER_UNIT; ret = scheduler_add_event(SCHEDULER_SINGLE, func, data, time/SCHEDULER_UNIT, MY_PRIO); if (ret) { /* traitement du code d'erreur */ } Oliv ___ 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] passage des cm aux mm
Hello, Je pense faire prochainement une modif de l'interface des modules trajectory_manager et position_manager: le but est de les passer en mm plutôt qu'en cm. Pour le moment, ça ne sera que dans la branche b_zer0, mais je voudrais savoir si ça intéresse/gêne quelqu'un ? Au final, assez peu de code (peut être même rien du tout ?) sera modifié, il s'agit surtout de renommer certains params qui ont explicitement l'unité cm dans leur nom. Celà va peut-être influer certains code qui faisaient leurs calculs en cm et qui risquent un overflow (obstacle_avoidance ?) car avec les dimensions d'un terrain de la coupe (3m x 2.1m), on se rapproche pas mal du maximum d'un entier 16 bits signé: 3 pour 32767. Tof avait déjà suggéré de changer d'unité il euh... presque 2 ans; celà dit le mm me parait plus adapté que le metre. La raison est qu'on peut continuer à travailler sur des entiers tout en augmentant la précision. Des avis ? 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
Re: [Avr-list] passage des cm aux mm
Je me reponds a moi meme: car avec les dimensions d'un terrain de la coupe (3m x 2.1m), on se rapproche pas mal du maximum d'un entier 16 bits signé: 3 pour 32767. en fait, c'est 3000 et non 3, donc c'est moins risque que ce qu'il n'y parait. 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
Re: [Avr-list] Patch pour ajouter la sélection du ba udrate dans avrdude
Salut, j'ai fait un petit patch qui permet de choisir le baudrate du programmateur dans avrdude. C'est très utile pour augmenter la vitesse des bootloaders qui émulent un stk500. Merci, je vais intégrer ça rapidement. 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
Re: [Avr-list] Problème de compréhension du module scheduler
Antoine albertelli wrote: Merci beaucoup pour ce complément d'information. Je pense que ce serait une bonne idée de le mettre sur le wiki d'Aversive, comme documentation du module scheduler. hehe, pas faux... Je mets ça dans mes todo :) 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
Re: [Avr-list] Problème de compréhension du module scheduler
Antoine albertelli wrote: Encore une question : A quoi correspond par exemple 1L / SCHEDULER_UNIT ? J'ai vu que ca correspond à 10ms et que SCHEDULER_UNIT vaut 512, mais ca ne m'aide pas trop... SCHEDULER_UNIT est le nombre de microsecondes entre chaque appel à scheduler_interrupt(). C'est l'unité de base du scheduler (parfois appelé le tick), et donc le période minimale pour un événement périodique. Cette valeur dépend de la configuration des timers. Plus cette valeur est petite, plus le scheduler est précis, mais plus il consomme de temps CPU. Pour un uC à 16 Mhz, 512 est une valeur relativement moyenne. 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
Re: [Avr-list] Port d'Aversive sur dsPic33
Yop, Julien Le Guen wrote: Juste pour vous informer qu'un port (partiel pour le moment) d'Aversive est en cours par un gars de mon equipe pour dsPic33 (on choisit pas ses amis... :D). Wah cool ! Bah ça a l'air d'être à la mode en 2009, j'ai justement discuté ce week-end avec l'équipe Monstralopytech, et j'ai appris que leur code se basait sur Aversive et était porté sur Freescale 68360 ! http://monstralopytech.nyug.org/?page_id=23 Et puis il y a Fayce de Projet Tech' (Istase) qui bosse aussi sur le même code pour des PSoC (cypress). Va peut-être falloir que je fasse un répertoire arch/ un de ces quatre ;) En tout cas, n'hésitez pas à reporter tout problème ici, ça permettra à tout le monde d'en profiter. J'en profite aussi pour rappeler que la branche cvs la plus à jour est la branche b_zer0 qui sert notamment pour le robot de Microb. 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
Re: [Avr-list] Aide pour mes 2 précédents patchs
Antoine albertelli wrote: j'ai ajouté une aide integrée à mes 2 patchs récédents (baudrate bypass signature). Le patch est en attachement. Merci, c'est intégré dans la branche b_zer0 et fera partie du prochain merge. 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
Re: [Avr-list] limitation en vitesse et en accélerat ion
Salut Sylvain, J'ai deux principaux problèmes Premièrement, on met une limitation en vitesse et en accélération à deux endroits: aux niveaux du quadramp avant le PID quadramp_set_1st_order_vars(robot.qr_d, 250, 250); /* set speed */ quadramp_set_2nd_order_vars(robot.qr_d, 15, 15); /* set accel */ dans le module trajectory: trajectory_set_speed(robot.traj, 250, 3000); /* d, a */ Effectivement, quadramp_set_1st_order_vars() et trajectory_set_speed() agissent sur le mêmes paramètres. En gros, trajectory_manager utilise le filtre quadramp pour fixer la vitesse max en angle/distance. Appeler quadramp_set_1st_order_vars() n'a donc a priori pas d'intérêt si on utilise le trajectory manager puisque c'est lui qui va écraser la conf du filtre. Ca permet cependant de mettre une valeur par défaut à l'init. En gros, dans certains cas, le trajectory_manager est capable de limiter la vitesse maximale (dans le quadramp) à une valeur plus faible que celle configurée par trajectory_set_speed(): typiquement lorsqu'il faut beaucoup tourner pour se mettre face au point visé, alors la limite de vitesse en distance est réduite pour que le robot fasse un pivot. Les paramètres d'accélération ne sont par contre pas modifiés par le trajectory_manager. Deuxièmement, je ne suis pas certain de l'unité utilisée cm/(periode de l'asservissement) ?? Comment doit on choisir la valeur de ces seuils ? Pour la vitesse, il s'agit du delta de pas codeurs en une période d'asservissement. Pour l'accélération, il s'agit du delta de vitesse (le delta du delta en fait) par période d'asservissement. Les cm ne sont utilisés que pour les fonctions du style goto_truc(). A noter d'ailleurs que j'utilise des mm depuis peu dans la branche b_zer0. 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
Re: [Avr-list] watchdog
Yo, Tout pareil, merci a tout le monde, cette coupe restera dans mes souvenirs... un grand moment ! Sinon j'ai besoin de mettre un watchdog avec un Atméga32L. Je voudrais savoir quelles sont les broches qu'il faut se réserver (TOSC12?) A quoi servirait les broches en question dans le cas d'un watchdog ? Je n'ai jamais utilis� de watchdog sur AVR, mais j'imagine qu'il s'agit d'un timer interne qu'il faut recharger regulierement sinon le uP reset. 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
Re: [Avr-list] Terminal série sous Mac Os X
Salut Antoine, Zer0, j'ai vu la coupe que tu utilise un mac. Vu que je suis aussi un macuser, je gal re pour trouver un terminal s rie efficace, le seul que j'aie tant Quickterm, et il est tout sauf efficace... Si tu pouvais me dire ce que tu utilise, ce serait cool !! Pour faire terminal, on utilise un script python avec le module serial-python en mode raw. Ca marche plutot pas mal. Sinon, il y a 'screen' qui fait aussi terminal serie, mais qui peut faire bien d'autres choses. Et pour finir, je pense que 'tip' doit pouvoir etre recompil� pour mac OS (j'ai pas essay�): http://zer0.droids-corp.org/tip/ 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
Re: [Avr-list] Problèmes d'UART
Salut Antoine, Tu pourrais envoyer ton fichier uart_config.h aussi ? Olivier Antoine albertelli wrote: Hello, Voilà, j'ai faits quelques tests du module UART de Aversive, et j'ai des petits bugs. Tant que je n'active pas les interrupts, tout va très bien. Mais dés que je mets un sei() pour utiliser le scheduler, le module UART déclenche ce que je pense être un reset du processeur... une idée ? Merci pour votre attention Antoine P.S. : Je travaille sur Atmega168, et voici mon code (tiré en grande partie du code microb 2009) : int main(void) { sbi(DDRB,5); /* Met la LED en sortie. */ uart_init(); fdevopen(uart0_dev_send, NULL); sei(); /* BUG. */ for(counter = 0;counter 5;counter++) { // chenillard pour le reset BIT_TOGGLE(PORTB,5); wait_ms(500); } for(;;) printf_P(PSTR(Dass das Gluck deinen Haus setzt.\r\n)); return 0; } ___ 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
Re: [Avr-list] Problèmes d'UART
hmmm j'ai pas trop d'idée là comme ça... je pensais d'abord à un dépassement de pile : le uC a 1024 octets de RAM et 128 sont utilisés pour les fifo d'émission / réception. Celà dit s'il n'y a que ça comme code, je n'y crois pas trop. Que se passe-t-il exactement lorsque tu émets ? Est-ce que tu vois quelques caractères sortir avant le reset ? Est-ce que tu peux reproduire le problème en émettant juste un seul caractère ? J'ai testé le module UART sur atmega8, 32, 128 et 2560. Il se peut que ça déconne sur un 168... Jette à tout hasard un coup d'oeil aux valeurs des vecteurs d'interruptions dans iom168.h. Tu peux aussi essayer de configurer l'uart à la main, et comparer les valeurs des registres. Il est possible qu'il y ait un bug dans le module... Oliv Antoine albertelli wrote: le voilà : #ifndef UART_CONFIG_H #define UART_CONFIG_H /* * UART0 definitions */ /* compile uart0 fonctions, undefine it to pass compilation */ #define UART0_COMPILE /* enable uart0 if == 1, disable if == 0 */ #define UART0_ENABLED 1 /* enable uart0 interrupts if == 1, disable if == 0 */ #define UART0_INTERRUPT_ENABLED 1 #define UART0_BAUDRATE 38400 /* * if you enable this, the maximum baudrate you can reach is * higher, but the precision is lower. */ #define UART0_USE_DOUBLE_SPEED 0 //#define UART0_USE_DOUBLE_SPEED 1 #define UART0_RX_FIFO_SIZE 64 #define UART0_TX_FIFO_SIZE 64 //#define UART0_NBITS 5 //#define UART0_NBITS 6 //#define UART0_NBITS 7 #define UART0_NBITS 8 //#define UART0_NBITS 9 #define UART0_PARITY UART_PARTITY_NONE //#define UART0_PARITY UART_PARTITY_ODD //#define UART0_PARITY UART_PARTITY_EVEN #define UART0_STOP_BIT UART_STOP_BITS_1 //#define UART0_STOP_BIT UART_STOP_BITS_2 /* same for uart 1, 2, 3 ... */ Le 26 mai 2009 22:21, Olivier MATZ z...@droids-corp.org mailto:z...@droids-corp.org a écrit : Salut Antoine, Tu pourrais envoyer ton fichier uart_config.h aussi ? Olivier Antoine albertelli wrote: Hello, Voilà, j'ai faits quelques tests du module UART de Aversive, et j'ai des petits bugs. Tant que je n'active pas les interrupts, tout va très bien. Mais dés que je mets un sei() pour utiliser le scheduler, le module UART déclenche ce que je pense être un reset du processeur... une idée ? Merci pour votre attention Antoine P.S. : Je travaille sur Atmega168, et voici mon code (tiré en grande partie du code microb 2009) : int main(void) { sbi(DDRB,5); /* Met la LED en sortie. */ uart_init(); fdevopen(uart0_dev_send, NULL); sei(); /* BUG. */ for(counter = 0;counter 5;counter++) { // chenillard pour le reset BIT_TOGGLE(PORTB,5); wait_ms(500); } for(;;) printf_P(PSTR(Dass das Gluck deinen Haus setzt.\r\n)); return 0; } ___ Avr-list mailing list Avr-list@droids-corp.org mailto: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 mailto: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
Re: [Avr-list] Atmega2560
Salut, Il semble que la mainline de gcc/binutils ne supporte pas l'atmega2560. Dans le package debian, il y a les patchs (qui proviennent il me semble de WinAVR) permettant de compiler pour cette cible. Je pense qu'il est possible de récupérer les sources de la version debian et de recompiler la toolchain (gcc + binutils + libc). Il doit aussi être possible de récupérer directement les patchs sur de WinAVR (voir http://winavr.cvs.sourceforge.net/viewvc/winavr/ ) mais on a essayé, et un truc est sûr, ça ne se fait pas en 5 mn. Il faut repartir d'une version connue de gcc et binutils sinon les patchs ne s'appliquent pas, et je ne sais pas où trouver cette info... D'autre part, on s'est rendu compte que les programmes de deux cartes du robot ne pouvaient fonctionner que s'ils étaient compilés respectivement sur debian-linux et sur mac OS AvrMac pack (proche de WinAVR). Je n'ai pas eu le temps d'investiguer si le problème provient du compilateur ou du programme en lui-même. A+ Olivier weebe...@free.fr wrote: Bonjour, Je suis sous Fedora Linux 64bits, j'ai installé les paquets correspondant à avr-gcc avr-libc avrdude... Cependant quand j'essaye de compiler un des exemples fournis pour un ATmega2560 j'obtient l'erreur suivante: unknown MCU 'atmega2560' specified Known MCU names: avr2 at90s2313 at90s2323 ... attiny12 attiny15 attiny28 gcc version 4.3.3 avr-libc-1.6.4 Je sais qu'il y a Winavr, mais j'aimerai bien rester sous Linux, quelqu'un aurait'il une solution? Merci weeber ___ 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
Re: [Avr-list] Atmega2560
Celà dit je suis intéressé par ta solution si tu en trouves une :) PS: la solution wine c'est tricher ça compte pas ;) weebe...@free.fr wrote: oki, merci J'avais trouvé un topic qui donnait les patch aussi, sinon winavr sous wine :s. Merci pour vos réponses! ___ 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] Congratulations !
PS: qqun se rend au SSTIC cette année ? Serpi et moi on y sera. ___ 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 d'UART
Salut Antoine, J'ai pas vraiment trop d'idée non plus. Peut-être que tu peux essayer de remplacer la ligne par: UCSRB |= (1 UDRIE); (UDRIE = Data Register Empty Interrupt Enable) Ca permettra de tester que le tableau uart_reg est bien initialisé, mais j'imagine que c'est bon de ce coté... Une autre possibilité est que le vecteur d'interruption pour Data Register Empty est mal initialisé. Il faut regarder dans la doc pour vérifier à quel numéro ça correspond, et s'assurer que: 1- le numéro est bien le même dans le .h de la libc 2- dans le fichier compiler_files/main.lss, les adresses des vecteurs sont bien initialisés vers la bonne fonction. Si ça aide toujours pas, il faut débugger à la LED et au while(1) avec les interruptions verouillées, mais j'avoue que ça doit pas être terrible... Tiens moi au courant. ++ Olivier Le 28 mai 09 à 17:31, Antoine albertelli a écrit : J'ai ouvert un rapport de bug sur le bugzilla. Après un peu de debug, j'ai trouvé que la ligne qui causait le reset est celle-ci (dans uart_send_nowait.c, ligne 61) : sbi(*uart_regs[num].ucsrb, UDRIE); //FIXME: Apparement le bug est ici T'aurais pas une idée, parce que là je sèche un peu... A+ ___ 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] compte sur le wiki
Salut Antoine, Ecoute, aucun probleme sur le principe, c'est meme super cool si tu peux faire ca. Envoie moi ton login par mail. Par contre, je suis en train de migrer le wiki en ce moment (d'ailleurs il y a aura probablement des coupures dans les prochains jours), j'aurai surement besoin de figer l'etat du wiki pendant un certain temps pour pouvoir faire la migration plus facilement. Olivier On Wed, Jul 01, 2009 at 11:24:19AM +0200, Antoine albertelli wrote: Hello, J'ai un problème quand j'essaye de créer un compte sur le wiki d'Aversive : L'option créer un compte n'existe pas, je suppose que c'est pour des raisons de securité ,mais est-ce que je pourrais avoir un compte ? Ca me permettrait de mettre de la doc en ligne pour les autres membres de mon club (et le reste de la planète :D) qui a chaque fois me demandent quelle fonction fait quoi ;) A+ ___ 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] migration services
Salut à tous, Certains sont déjà au courant, mais je suis en train de faire la migration de certains services sur un serveur plus puissant et avec une meilleure bande passante. Celà peut occasionner des problèmes sur le wiki, bugzilla, cvsweb, cvs tout court (qui ne marche d'ailleurs probablement pas en ce moment même). Merci de ne pas modifier le wiki dans les jours qui viennent. Après ce sera au tour des mailing-list. 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
Re: [Avr-list] Petit patch Aversive
Tiens en lisant mes mails je me rends compte que j'ai toujours pas répondu. Je fais ça ce week end ! Olivier On Thu, Sep 24, 2009 at 07:38:15PM +0200, Antoine Albertelli wrote: Hello, Juste un petit patch pour bien reprendre la coupe (eh oui, plus que deux jours de vacances ;)). Ce patch rend l'étape de configuration moins brouillon en enlevant le ficher adc_config.h et la possibilité de le créer automatiquement (ce fichier était vide de toute façon). Ce patch remplace aussi l'option Avrdude - Check device signature par Avrdude - Don't check device signature pour plus de facilité pour l'utilisateur et remet cette entrée dans le menu Avrdude. Voilà Patch summary : config/config.in |5 + config/generate_aversive_config|6 +++--- modules/hardware/adc/adc.h |2 +- modules/hardware/adc/test/adc_config.h |7 --- A+ ___ 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
Re: [Avr-list] Snapshot Aversive
Yo, oG wrote: Le lien pour télécharger le daily snapfhot d'aversive, semble ne plus fonctionner ... celui-là : http://zer0.droids-corp.org/aversive_snapshot.tar.gz Visiblement c'était un problème de DNS, ça devrait fonctionner d'ici quelques heures, le temps que ça converge (si y'a pas un autre soucis derrière) 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