Re: [Avr-list] [Aversive] Problème module PWM
Hello, > Merci, je te joint un tgz... Il y avait bien un problème. C'est corrigé dans la HEAD. En fait, les anciens TIMER_8_PRESCALE_64 et équivalents ne sont plus définis (ils étaient dans include/aversive_timers.h) et sont remplacés par des constantes propres à chaque timer et à chaque type de uC, par exemple dans aversive_ATmega128.h, on a un TIMER0_PRESCALER_DIV_64. Du coup, il faut que tu updates aversive, et que tu utilises le fichier de config joint. > Pour le scheduler, j'ai juste testé avec la config par défaut, il > fallait peut-être régler des trucs, j'ai pas cherché à fouiller plus > loin... je retesterai tout ça :) ok ça marche... ++ Olivier /* * 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: pwm_config.h,v 1.2 2006-02-28 00:13:10 zer0 Exp $ * */ /* Droids-corp, Eirbot, Microb Technology 2005 - Zer0 * Config for PWM */ /** \file pwm_config.h \brief Module to operate all PWM outputs \test not tested */ #ifndef _PWM_CONFIG_ #define _PWM_CONFIG_ #define _PWM_CONFIG_VERSION_ 2 /* Which PWM are enabled ? */ //#define PWM0_ENABLED #define PWM1A_ENABLED #define PWM1B_ENABLED //#define PWM1C_ENABLED //#define PWM2_ENABLED //#define PWM3A_ENABLED //#define PWM3B_ENABLED //#define PWM3C_ENABLED /** max value for PWM entry, default 12 bits > 4095 */ #define PWM_SIGNIFICANT_BITS 12 // timer configs (not all possibilities can be used at this time) #define TIMER0_MODE TIMER_8_MODE_PWM #define TIMER0_PRESCALE TIMER0_PRESCALER_DIV_64 #define TIMER1_MODE TIMER_16_MODE_PWM_10 #define TIMER1_PRESCALE TIMER1_PRESCALER_DIV_8 #define TIMER2_MODE TIMER_8_MODE_PWM #define TIMER2_PRESCALE TIMER1_PRESCALER_DIV_64 #define TIMER3_MODE TIMER_16_MODE_PWM_10 #define TIMER3_PRESCALE TIMER3_PRESCALER_DIV_8 /** config for pwm and signs The pwm mode is defined as follows : you can add flags like the ones who follow : PWM_NORMAL: normal pwm, just to put a value if nothing else is needed PWM_REVERSE : invert pwm output, not sign PWM_SIGNED: activate the sign output on a port (see config) PWM_SIGN_INVERTED : invert sign output PWM_SPECIAL_SIGN_MODE : if defined, the pwm is always near 0 for low values, else negative low values are near 100% the values of PWMxx_SIGN_PORT and PWMxx_SIGN_BIT are simply ignored if the PWM is not signed, but must be defined if you need for example a PWM1A with special sign mode you configure like this : #define PWM1A_MODE (PWM_SIGNED | PWM_SPECIAL_SIGN_MODE) #define PWM1A_SIGN_PORT PORTB #define PWM1A_SIGN_BIT 2 */ // example for signed pwm1A #define PWM1A_MODE (PWM_SIGNED) #define PWM1A_SIGN_PORT PORTB #define PWM1A_SIGN_BIT 4 #define PWM1B_MODE (PWM_SIGNED) #define PWM1B_SIGN_PORT PORTB #define PWM1B_SIGN_BIT 7 /** PWM synchronization. this makes the PWMs synchronized. just activate the timers you want to synchronize to synch PWMs you need to enshure that the timers have same prescales. This is verified. you need also to enshure that the PWM mode is the same, this is NOT verified !! especially, for syncing 8 and 16 bit timers, the PWM mode should be 8 bit. side effect : on some controllers prescalers are shared, so unwanted prescalers can be reset. This feature is not 100% shure for the moment, but has been tested on M32 and M128 */ //#define TIMER0_SYNCH //#define TIMER1_SYNCH //#define TIMER2_SYNCH //#define TIMER3_SYNCH #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] [Aversive] Problème module PWM
Le 05/05/07, Olivier MATZ <[EMAIL PROTECTED]> a écrit : Hello, En ce qui concerne l'update du CVS que tu as fait, tu as updaté tous les fichiers ? je veux dire est-ce que tu as fait un : cvs update -dP Initialement non, mais je viens de le faire, ça ne change rien... [après make noconfig et make clean] Sinon, tu peux envoyer les logs de compile, ou carrément un tgz de tes sources, je peux y jeter un oeil. En ce qui concerne le scheduler, je l'avais essayé dans les 2 modes, et ça fonctionnait (en tout cas sur un atmega128)... Merci, je te joint un tgz... Pour le scheduler, j'ai juste testé avec la config par défaut, il fallait peut-être régler des trucs, j'ai pas cherché à fouiller plus loin... je retesterai tout ça :) Merci pour le retour d'info Olivier Julien LE GUEN wrote: > Salut tout le monde ! > > J'ai mis à jour aversive depuis le CVS, mais j'ai un *léger* bug avec le > module PWM, apparemment il ne prend pas en compte pwm_config.h contenu > dans le dossier du projet. Il ne connaît pas "pwm_set_1A", etc... alors > que c'est bien "ENABLED" dans le fichier de config. > Du coup j'ai essayé de changer les appels "pwm_set_1A" par > "pwm_set((void *)PWM1A_NUM, valeur)" mais il m'insulte en disant qu'il > ne connaît pas PWM1A_NUM > -> déduction le fichier de conf n'est pas lu > > Je n'ai rien changé dans mon programme, ni include, ni autre... Si tu as > une idée sur la raison du bug, je prends ;) > > > > Sinon j'ai testé brièvement le scheduler en mode timer, à priori ça > déconne chez moi (la led clignotte pas) alors qu'en mode "normal" ça > fonctionne. Je ferai des essais plus poussés un peu plus tard, pour le > moment je reste comme ça... > > > Je continue de chercher de mon côté pour les PWM, mais ça m'enquiquine :) > > Bon week end ! > > -- > Julien Le Guen -- Julien Le Guen asserv_esial_20070505.tar.gz Description: GNU Zip compressed data ___ 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] Problème module PWM
Hello, En ce qui concerne l'update du CVS que tu as fait, tu as updaté tous les fichiers ? je veux dire est-ce que tu as fait un : cvs update -dP Sinon, tu peux envoyer les logs de compile, ou carrément un tgz de tes sources, je peux y jeter un oeil. En ce qui concerne le scheduler, je l'avais essayé dans les 2 modes, et ça fonctionnait (en tout cas sur un atmega128)... Merci pour le retour d'info Olivier Julien LE GUEN wrote: > Salut tout le monde ! > > J'ai mis à jour aversive depuis le CVS, mais j'ai un *léger* bug avec le > module PWM, apparemment il ne prend pas en compte pwm_config.h contenu > dans le dossier du projet. Il ne connaît pas "pwm_set_1A", etc... alors > que c'est bien "ENABLED" dans le fichier de config. > Du coup j'ai essayé de changer les appels "pwm_set_1A" par > "pwm_set((void *)PWM1A_NUM, valeur)" mais il m'insulte en disant qu'il > ne connaît pas PWM1A_NUM > -> déduction le fichier de conf n'est pas lu > > Je n'ai rien changé dans mon programme, ni include, ni autre... Si tu as > une idée sur la raison du bug, je prends ;) > > > > Sinon j'ai testé brièvement le scheduler en mode timer, à priori ça > déconne chez moi (la led clignotte pas) alors qu'en mode "normal" ça > fonctionne. Je ferai des essais plus poussés un peu plus tard, pour le > moment je reste comme ça... > > > Je continue de chercher de mon côté pour les PWM, mais ça m'enquiquine :) > > Bon week end ! > > -- > Julien Le Guen ___ 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] Problème module PWM
Salut tout le monde ! J'ai mis à jour aversive depuis le CVS, mais j'ai un *léger* bug avec le module PWM, apparemment il ne prend pas en compte pwm_config.h contenu dans le dossier du projet. Il ne connaît pas "pwm_set_1A", etc... alors que c'est bien "ENABLED" dans le fichier de config. Du coup j'ai essayé de changer les appels "pwm_set_1A" par "pwm_set((void *)PWM1A_NUM, valeur)" mais il m'insulte en disant qu'il ne connaît pas PWM1A_NUM -> déduction le fichier de conf n'est pas lu Je n'ai rien changé dans mon programme, ni include, ni autre... Si tu as une idée sur la raison du bug, je prends ;) Sinon j'ai testé brièvement le scheduler en mode timer, à priori ça déconne chez moi (la led clignotte pas) alors qu'en mode "normal" ça fonctionne. Je ferai des essais plus poussés un peu plus tard, pour le moment je reste comme ça... Je continue de chercher de mon côté pour les PWM, mais ça m'enquiquine :) Bon week end ! -- Julien Le Guen ___ 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