Re: [Avr-list] Aversive sur dspic33

2009-07-14 Par sujet Olivier MATZ
> Si si, il est tout à fait possible d'utiliser la toolchain mcc30 comme
> toute autre toolchain, avec des Makefiles classiques et compagnie.
> C'est juste que pour le moment ce travail n'a pas été fait de notre
> côté.

aha ça change tout alors :)

Bon je garde le patch sur le feu de toute manière, dès que
j'aurai remis un peu d'ordre sur les serveurs je ressortirai
mon proto de framework du fond de mes disques.

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 sur dspic33

2009-07-14 Par sujet Julien Le Guen
2009/7/14 Simon Derr 

> Bonjour Olivier,
>
> > Par contre, je t'avoue que j'hésite à l'intégrer tel quel :
> >  - la séparation entre les deux architectures est un peu
> >trop floue. Dans mes rêves les plus fous, il y aurait
> >un repertoire arch/ et un nouveau framework qui saurait
> >gérer ça proprement. Même si j'ai commencé à faire un
> >proto l'an dernier (basé sur les Makefiles du kernel
> >linux-2.6), il reste beaucoup de travail pour finaliser
> >ce prototype.
> En fait je n'ai pas envoyé le patch pour qu'il soit intégré tel quel.
> C'est surtout, disons, un point de départ :)
> C'est aussi pour montrer, comme tu l'as remarqué, que le patch est
> finalement assez petit.
>

Comme Simon vient de le dire, le patch est un bon point de depart pour
jauger les modifications a faire.
On a commence a discuter un peu de notre cote pour modifier un peu
l'arborescence d'Aversive, pour prendre en compte les architectures, et la
discussion actuelle sur avr-list est la pour recueillir l'avis de tous les
utilisateurs (et createurs ;) a ce sujet.
Par exemple:

aversive
- commun
- - schelduler
- - filtres
- - trajectoire
- AVR
- - fonctions_de_base
- - interruptions_appel_schelduler
- - pwm
- - encoder
- DSPIC
- - fonctions_de_base
- - interruptions_appel_schelduler
- - pwm
- - encoder

etc...



>
> >  - tu dis qu'il manque dans le patch un système de build et
> >que tout est mis en dur dans MPLAB.
> >Si j'ai bien compris (corrige moi si je me trompe), il
> >n'est pas possible d'utiliser le compilateur dspic de
> >la même manière qu'une toolchain classique ? Est-ce qu'on
> >pourrait imaginer par exemple de compiler pour dspic en
> >remplaçant avr-gcc par "dspic-gcc" ?
> Si si, il est tout à fait possible d'utiliser la toolchain mcc30 comme
> toute autre toolchain, avec des Makefiles classiques et compagnie.
> C'est juste que pour le moment ce travail n'a pas été fait de notre
> côté.
>
>Simon
>



-- 
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

Re: [Avr-list] Aversive sur dspic33

2009-07-13 Par sujet Simon Derr
Bonjour Olivier,

> Par contre, je t'avoue que j'hésite à l'intégrer tel quel :
>  - la séparation entre les deux architectures est un peu
>    trop floue. Dans mes rêves les plus fous, il y aurait
>    un repertoire arch/ et un nouveau framework qui saurait
>    gérer ça proprement. Même si j'ai commencé à faire un
>    proto l'an dernier (basé sur les Makefiles du kernel
>    linux-2.6), il reste beaucoup de travail pour finaliser
>    ce prototype.
En fait je n'ai pas envoyé le patch pour qu'il soit intégré tel quel.
C'est surtout, disons, un point de départ :)
C'est aussi pour montrer, comme tu l'as remarqué, que le patch est
finalement assez petit.

>  - tu dis qu'il manque dans le patch un système de build et
>    que tout est mis en dur dans MPLAB.
>    Si j'ai bien compris (corrige moi si je me trompe), il
>    n'est pas possible d'utiliser le compilateur dspic de
>    la même manière qu'une toolchain classique ? Est-ce qu'on
>    pourrait imaginer par exemple de compiler pour dspic en
>    remplaçant avr-gcc par "dspic-gcc" ?
Si si, il est tout à fait possible d'utiliser la toolchain mcc30 comme
toute autre toolchain, avec des Makefiles classiques et compagnie.
C'est juste que pour le moment ce travail n'a pas été fait de notre
côté.

Simon

___
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 sur dspic33

2009-07-13 Par sujet Olivier MATZ
Salut Simon,

J'ai enfin pris le temps de regarder ton patch en détails
-- c'est pas trop tôt, mais bon c'est l'été alors j'ai une
excuse ;) --

D'abord merci de remonter tes modifications, ça fait plaisir
de voir qu'au finales les modifications pour faire compiler
aversive sur un autre microcontrôleur ne sont pas si énormes.

Par contre, je t'avoue que j'hésite à l'intégrer tel quel :
  - la séparation entre les deux architectures est un peu
trop floue. Dans mes rêves les plus fous, il y aurait
un repertoire arch/ et un nouveau framework qui saurait
gérer ça proprement. Même si j'ai commencé à faire un
proto l'an dernier (basé sur les Makefiles du kernel
linux-2.6), il reste beaucoup de travail pour finaliser
ce prototype.
  - tu dis qu'il manque dans le patch un système de build et
que tout est mis en dur dans MPLAB.
Si j'ai bien compris (corrige moi si je me trompe), il
n'est pas possible d'utiliser le compilateur dspic de
la même manière qu'une toolchain classique ? Est-ce qu'on
pourrait imaginer par exemple de compiler pour dspic en
remplaçant avr-gcc par "dspic-gcc" ?

Celà dit, l'idée même qu'aversive puisse devenir multiplateforme
me plaît beaucoup, j'ai juste un peu peur de m'embarquer dans
une tâche un peu complexe qui n'apportera pas forcément beaucoup
aux utilisateurs (et à moi aussi, il faut bien le reconnaître) ;)

Comme je le diais sur cette liste il y a quelques mois, d'autres
personnes ont également utilisé aversive sur d'autres uC, notamment
Monstralopytech qui utiliser un Freescale 68360 et Projet & Tech'
qui ont utilisé des PSoC (cypress). Je n'ai pas vraiment d'expérience
sur ces architectures, mais s'il est possible d'utiliser le
compilateur hors de l'IDE fourni par le fabricant, et de l'intégrer
au framework d'aversive, alors je pense que ça peut valoir le coup
de le faire. C'est précisémment ce que j'apprécie avec la toolchain
avr-gcc / avr-binutils / avr-libc.

Je suis preneur d'avis externes s'il y en a !

A+
Olivier



Simon Derr wrote:
> Je disais donc...
> 
>> Bref, assez de blabla, voici le patch. (en fichier attaché).
> 
> 
>Simon
> 
> 
> 
> 
> ___
> 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] Aversive sur dspic33

2009-07-03 Par sujet Simon Derr
2009/7/3 GMail :
> Salut,
> Juste une petite question : pourquoi avoir porté Aversive sur cette
> architecture ? Nous avions commencé a envisager cette possibilité pour la
> facilité que le module QEI fournissait, mais au final nous nous sommes
> rendus compte qu'une solution plus rapide est d'utiliser un compteur
> externe, cette solution a en plus l'avantage d'être extensible a volonté,
> simplement en ajoutant des puces au bus SPI.
> Donc quel est l'avantage de porter aversive ? C'est un défi technique ?

On a juste fait le cheminement inverse : on avait choisi le dspic (il
faut dire qu'à l'époque Microchip n'avait pas encore changé sa
politique de samples) et vu qu'au final on a dû réaliser notre carte
asservissement sur une plaque pastillée,  avoir tout intégré dans une
seule puce en PDIP est quand même bien confortable.

Là dessus on a recruté JLG qui nous a dit "Allez, aversive, en plus
c'est fait par des potes à moi" (libre à vous maintenant de démentir
;))

  Simon

___
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 sur dspic33

2009-07-03 Par sujet GMail
Fait comme moi pour ceux qui n jurent que par les pics: tu leur montre  
une Arduino, tu leur expliques a quel point la programmation de Mcu  
est simple, tu t'arrange pour en mettre tout plein dans le robot (pour  
cette étape, t'es avantage si comme nous t'as pas d'elec pour faire  
les cartes lui même :p), puis tu leur montres comme Aversive fait  
tout, de la comm a la regulation en passant par l'evitement d'obstacle  
(quoi, ça fait pas le café ?:D). Et après, l'étape "choix de  
l'architecture du processeur" est réglée :D

En plus sur Mac, tu peux pas utiliser les PICs ! (ok je sors)

Antoine

Le 3 juil. 2009 à 23:15, Julien Le Guen  a écrit :




2009/7/3 GMail 
Salut,
Juste une petite question : pourquoi avoir porté Aversive sur cette  
architecture ? Nous avions commencé a envisager cette possibilité po 
ur la facilité que le module QEI fournissait, mais au final nous nou 
s sommes rendus compte qu'une solution plus rapide est d'utiliser un 
 compteur externe, cette solution a en plus l'avantage d'être extens 
ible a volonté, simplement en ajoutant des puces au bus SPI.
Donc quel est l'avantage de porter aversive ? C'est un défi techniqu 
e ?


J'avoue, c'est de ma faute :D

Je suis un AVRien a la base, j'utilise Aversive depuis 2007 je  
crois, mais chez Igrebot les elecs sont plutot PIC.
Je leur ai vante les charmes d'aversive, montre une photo de zer0 a  
poil et hop, portage en cours :D


Plus serieusement, aversive a des tas d'avantages par rapport aux  
libs fournies par MPLAB et consors, outre le fait que je connaisse  
deja et que la courbe d'apprentissage est pas (trop) violente.



--
Jlg
Igrebot 2009, Esial 2005-2007


A+

Antoine

Le 3 juil. 2009 à 21:10, Simon Derr  a écrit :

Salut la jeunesse,

Comme certains d'entre vous le savent déjà, mon équipe (I-Grebot) a
effectué un portage d'aversive sur dspic33 pour la coupe cette anné 
e.

(dspic33fj128mc802)

L'idée étant que ça puisse servir à d'autres, nous espérons que  
ce

travail pourrait à terme être intégré dans aversive.

Dans cette optique j'ai tenté de réduire au maximum l'écart entre
notre code et ce qui m'a semblé être la version la plus récente des
sources officielles (snapshot de la branche b_zer0 du 30 juin).

Le code fonctionne en l'état mais il manque dans le patch certaines
choses, à savoir surtout un système de build (nous avons pour le
moment tout mis en dur dans MPLAB...) et de configuration.

Bref, assez de blabla, voici le patch. (en fichier attaché).

 Simon

include/aversive.h
   |   31 +-
include/aversive/irq_lock.h
   |   17 +
include/aversive/parts.h
   |2
include/dspic/inttypes.h
   |   13
include/dspic/stdint.h
   |4
modules/base/scheduler/scheduler.c
   |   30 ++
modules/devices/encoders/encoders_igrebot/config/ 
encoders_igrebot_config.h

|   33 ++
modules/devices/encoders/encoders_igrebot/encoders_igrebot.c
   |  115 
modules/devices/encoders/encoders_igrebot/encoders_igrebot.h
   |   47 +++
modules/devices/robot/position_manager/position_manager.c
   |2
modules/devices/robot/trajectory_manager/trajectory_manager.c
   |   10
modules/devices/robot/trajectory_manager/trajectory_manager.h
   |3
modules/hardware/pwm_igrebot/config/pwm_config.h
   |   52 +++
modules/hardware/pwm_igrebot/pwm_igrebot.c
   |  136 ++
modules/hardware/pwm_igrebot/pwm_igrebot.h
   |   54 +++
15 files changed, 540 insertions(+), 9 deletions(-)

___
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



--
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 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 sur dspic33

2009-07-03 Par sujet Jean Damien Brossillon
Il faut dire aussi que c'est une bonne manière de passer
progressivement à des uC sérieux comme les AVR.
:D

JD, pour le troll.

2009/7/3 Julien Le Guen :
>
>
> 2009/7/3 GMail 
>>
>> Salut,
>> Juste une petite question : pourquoi avoir porté Aversive sur cette
>> architecture ? Nous avions commencé a envisager cette possibilité pour la
>> facilité que le module QEI fournissait, mais au final nous nous sommes
>> rendus compte qu'une solution plus rapide est d'utiliser un compteur
>> externe, cette solution a en plus l'avantage d'être extensible a volonté,
>> simplement en ajoutant des puces au bus SPI.
>> Donc quel est l'avantage de porter aversive ? C'est un défi technique ?
>
> J'avoue, c'est de ma faute :D
>
> Je suis un AVRien a la base, j'utilise Aversive depuis 2007 je crois, mais
> chez Igrebot les elecs sont plutot PIC.
> Je leur ai vante les charmes d'aversive, montre une photo de zer0 a poil et
> hop, portage en cours :D
>
> Plus serieusement, aversive a des tas d'avantages par rapport aux libs
> fournies par MPLAB et consors, outre le fait que je connaisse deja et que la
> courbe d'apprentissage est pas (trop) violente.
>
>
> --
> Jlg
> Igrebot 2009, Esial 2005-2007
>
>>
>> A+
>>
>> Antoine
>>
>> Le 3 juil. 2009 à 21:10, Simon Derr  a écrit :
>>
>>> Salut la jeunesse,
>>>
>>> Comme certains d'entre vous le savent déjà, mon équipe (I-Grebot) a
>>> effectué un portage d'aversive sur dspic33 pour la coupe cette année.
>>> (dspic33fj128mc802)
>>>
>>> L'idée étant que ça puisse servir à d'autres, nous espérons que ce
>>> travail pourrait à terme être intégré dans aversive.
>>>
>>> Dans cette optique j'ai tenté de réduire au maximum l'écart entre
>>> notre code et ce qui m'a semblé être la version la plus récente des
>>> sources officielles (snapshot de la branche b_zer0 du 30 juin).
>>>
>>> Le code fonctionne en l'état mais il manque dans le patch certaines
>>> choses, à savoir surtout un système de build (nous avons pour le
>>> moment tout mis en dur dans MPLAB...) et de configuration.
>>>
>>> Bref, assez de blabla, voici le patch. (en fichier attaché).
>>>
>>>  Simon
>>>
>>> include/aversive.h
>>>    |   31 +-
>>> include/aversive/irq_lock.h
>>>    |   17 +
>>> include/aversive/parts.h
>>>    |    2
>>> include/dspic/inttypes.h
>>>    |   13
>>> include/dspic/stdint.h
>>>    |    4
>>> modules/base/scheduler/scheduler.c
>>>    |   30 ++
>>>
>>> modules/devices/encoders/encoders_igrebot/config/encoders_igrebot_config.h
>>> |   33 ++
>>> modules/devices/encoders/encoders_igrebot/encoders_igrebot.c
>>>    |  115 
>>> modules/devices/encoders/encoders_igrebot/encoders_igrebot.h
>>>    |   47 +++
>>> modules/devices/robot/position_manager/position_manager.c
>>>    |    2
>>> modules/devices/robot/trajectory_manager/trajectory_manager.c
>>>    |   10
>>> modules/devices/robot/trajectory_manager/trajectory_manager.h
>>>    |    3
>>> modules/hardware/pwm_igrebot/config/pwm_config.h
>>>    |   52 +++
>>> modules/hardware/pwm_igrebot/pwm_igrebot.c
>>>    |  136 ++
>>> modules/hardware/pwm_igrebot/pwm_igrebot.h
>>>    |   54 +++
>>> 15 files changed, 540 insertions(+), 9 deletions(-)
>>>
>>> ___
>>> 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
>
>
> --
> 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 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 sur dspic33

2009-07-03 Par sujet Julien Le Guen
2009/7/3 GMail 

> Salut,
> Juste une petite question : pourquoi avoir porté Aversive sur cette
> architecture ? Nous avions commencé a envisager cette possibilité pour la
> facilité que le module QEI fournissait, mais au final nous nous sommes
> rendus compte qu'une solution plus rapide est d'utiliser un compteur
> externe, cette solution a en plus l'avantage d'être extensible a volonté,
> simplement en ajoutant des puces au bus SPI.
> Donc quel est l'avantage de porter aversive ? C'est un défi technique ?
>

J'avoue, c'est de ma faute :D

Je suis un AVRien a la base, j'utilise Aversive depuis 2007 je crois, mais
chez Igrebot les elecs sont plutot PIC.
Je leur ai vante les charmes d'aversive, montre une photo de zer0 a poil et
hop, portage en cours :D

Plus serieusement, aversive a des tas d'avantages par rapport aux libs
fournies par MPLAB et consors, outre le fait que je connaisse deja et que la
courbe d'apprentissage est pas (trop) violente.


-- 
Jlg
Igrebot 2009, Esial 2005-2007


>
> A+
>
> Antoine
>
> Le 3 juil. 2009 à 21:10, Simon Derr  a écrit :
>
>  Salut la jeunesse,
>>
>> Comme certains d'entre vous le savent déjà, mon équipe (I-Grebot) a
>> effectué un portage d'aversive sur dspic33 pour la coupe cette année.
>> (dspic33fj128mc802)
>>
>> L'idée étant que ça puisse servir à d'autres, nous espérons que ce
>> travail pourrait à terme être intégré dans aversive.
>>
>> Dans cette optique j'ai tenté de réduire au maximum l'écart entre
>> notre code et ce qui m'a semblé être la version la plus récente des
>> sources officielles (snapshot de la branche b_zer0 du 30 juin).
>>
>> Le code fonctionne en l'état mais il manque dans le patch certaines
>> choses, à savoir surtout un système de build (nous avons pour le
>> moment tout mis en dur dans MPLAB...) et de configuration.
>>
>> Bref, assez de blabla, voici le patch. (en fichier attaché).
>>
>>  Simon
>>
>> include/aversive.h
>>|   31 +-
>> include/aversive/irq_lock.h
>>|   17 +
>> include/aversive/parts.h
>>|2
>> include/dspic/inttypes.h
>>|   13
>> include/dspic/stdint.h
>>|4
>> modules/base/scheduler/scheduler.c
>>|   30 ++
>> modules/devices/encoders/encoders_igrebot/config/encoders_igrebot_config.h
>> |   33 ++
>> modules/devices/encoders/encoders_igrebot/encoders_igrebot.c
>>|  115 
>> modules/devices/encoders/encoders_igrebot/encoders_igrebot.h
>>|   47 +++
>> modules/devices/robot/position_manager/position_manager.c
>>|2
>> modules/devices/robot/trajectory_manager/trajectory_manager.c
>>|   10
>> modules/devices/robot/trajectory_manager/trajectory_manager.h
>>|3
>> modules/hardware/pwm_igrebot/config/pwm_config.h
>>|   52 +++
>> modules/hardware/pwm_igrebot/pwm_igrebot.c
>>|  136 ++
>> modules/hardware/pwm_igrebot/pwm_igrebot.h
>>|   54 +++
>> 15 files changed, 540 insertions(+), 9 deletions(-)
>>
>> ___
>> 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




-- 
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

Re: [Avr-list] Aversive sur dspic33

2009-07-03 Par sujet GMail

Salut,
Juste une petite question : pourquoi avoir porté Aversive sur cette  
architecture ? Nous avions commencé a envisager cette possibilité  
pour la facilité que le module QEI fournissait, mais au final nous  
nous sommes rendus compte qu'une solution plus rapide est d'utiliser  
un compteur externe, cette solution a en plus l'avantage d'être  
extensible a volonté, simplement en ajoutant des puces au bus SPI.

Donc quel est l'avantage de porter aversive ? C'est un défi technique ?

A+

Antoine

Le 3 juil. 2009 à 21:10, Simon Derr  a écrit :


Salut la jeunesse,

Comme certains d'entre vous le savent déjà, mon équipe (I-Grebot) a
effectué un portage d'aversive sur dspic33 pour la coupe cette anné 
e.

(dspic33fj128mc802)

L'idée étant que ça puisse servir à d'autres, nous espérons que  
ce

travail pourrait à terme être intégré dans aversive.

Dans cette optique j'ai tenté de réduire au maximum l'écart entre
notre code et ce qui m'a semblé être la version la plus récente des
sources officielles (snapshot de la branche b_zer0 du 30 juin).

Le code fonctionne en l'état mais il manque dans le patch certaines
choses, à savoir surtout un système de build (nous avons pour le
moment tout mis en dur dans MPLAB...) et de configuration.

Bref, assez de blabla, voici le patch. (en fichier attaché).

  Simon

include/aversive.h
|   31 +-
include/aversive/irq_lock.h
|   17 +
include/aversive/parts.h
|2
include/dspic/inttypes.h
|   13
include/dspic/stdint.h
|4
modules/base/scheduler/scheduler.c
|   30 ++
modules/devices/encoders/encoders_igrebot/config/ 
encoders_igrebot_config.h

|   33 ++
modules/devices/encoders/encoders_igrebot/encoders_igrebot.c
|  115 
modules/devices/encoders/encoders_igrebot/encoders_igrebot.h
|   47 +++
modules/devices/robot/position_manager/position_manager.c
|2
modules/devices/robot/trajectory_manager/trajectory_manager.c
|   10
modules/devices/robot/trajectory_manager/trajectory_manager.h
|3
modules/hardware/pwm_igrebot/config/pwm_config.h
|   52 +++
modules/hardware/pwm_igrebot/pwm_igrebot.c
|  136 ++
modules/hardware/pwm_igrebot/pwm_igrebot.h
|   54 +++
15 files changed, 540 insertions(+), 9 deletions(-)

___
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] Aversive sur dspic33

2009-07-03 Par sujet Simon Derr
Je disais donc...

> Bref, assez de blabla, voici le patch. (en fichier attaché).


   Simon
diff -uNr -x .svn -x '*.o' ../../orig/aversive/include/aversive/irq_lock.h 
aversive/include/aversive/irq_lock.h
--- ../../orig/aversive/include/aversive/irq_lock.h 2007-05-23 
19:18:09.0 +0200
+++ aversive/include/aversive/irq_lock.h2009-07-03 20:48:29.0 
+0200
@@ -40,6 +40,22 @@
 #ifndef _AVERSIVE_IRQ_LOCK_H_
 #define _AVERSIVE_IRQ_LOCK_H_
 
+#ifdef DSPIC
+#include "p33f.h"
+#define GLOBAL_IRQ_ARE_MASKED() (!(SRbits.IPL==7))
+
+#define IRQ_LOCK(flags) do { \
+  flags = SRbits.IPL ;   \
+  cli(); \
+  } while(0)
+
+#define IRQ_UNLOCK(flags) do {   \
+  SRbits.IPL = flags;\
+  } while ( 0 )
+
+#else
+
+
 #ifdef HOST_VERSION
 
 /* we must use 'flags' to avoid a warning */
@@ -62,4 +78,5 @@
 
 #endif /* ! HOST_VERSION */
 
+#endif /* ! DSPIC */
 #endif /* _AVERSIVE_IRQ_LOCK_H_ */
diff -uNr -x .svn -x '*.o' ../../orig/aversive/include/aversive/parts.h 
aversive/include/aversive/parts.h
--- ../../orig/aversive/include/aversive/parts.h2009-01-23 
23:53:08.0 +0100
+++ aversive/include/aversive/parts.h   2009-07-03 20:48:29.0 +0200
@@ -269,7 +269,9 @@
 #elif defined (__AVR_ATxmega64A3__)
 #include 
 #else
+#ifndef DSPIC
 #error "This arch is not implemented yet"
 #endif
+#endif
 
 #endif /* _AVERSIVE_PARTS_H_ */
diff -uNr -x .svn -x '*.o' ../../orig/aversive/include/aversive.h 
aversive/include/aversive.h
--- ../../orig/aversive/include/aversive.h  2009-05-18 14:19:51.0 
+0200
+++ aversive/include/aversive.h 2009-07-03 20:48:29.0 +0200
@@ -29,10 +29,14 @@
 #define _AVERSIVE_H_
 
 #include 
+#include 
 
 #ifndef HOST_VERSION
-#include 
-#include 
+#  ifndef DSPIC
+#define AVR
+#include 
+#include 
+#  endif
 #endif
 
 #include 
@@ -44,19 +48,27 @@
 #define __AVR_LIBC_VERSION__ 0UL 
 #endif
 
-#ifndef HOST_VERSION
+#ifdef AVR
 #if __AVR_LIBC_VERSION__ < 10403UL
 #include 
 #endif
 #endif
 
-#define F_CPU ((unsigned long)CONFIG_QUARTZ)
+#ifdef DSPIC
+#  define F_CPU ((CONFIG_QUARTZ)/2) /* Do NOT make it unsigned, it breaks 
S_MAX(). */
+#  define FCY F_CPU
+#else
+#  define F_CPU ((unsigned long)CONFIG_QUARTZ)
+#endif
 
 #define Hz  1l
 #define KHz 1000l
 #define MHz 100l
 
 
+#ifndef M_PI
+#  define M_PI 3.141592653589
+#endif
 
 /*
  *  a few "mathematical" macros : maximums and minimums
@@ -193,7 +205,7 @@
 
 /* a few asm utilities */
 
-#ifndef HOST_VERSION
+#ifdef AVR
 #ifndef nop
 #define nop() __asm__ __volatile__ ("NOP\n") /** nop instruction, 1 CPU cycle 
consumed */
 #endif
@@ -215,14 +227,21 @@
   __asm__ __volatile__ ("ijmp\n");  \
 } while(0)
 #endif
+#endif /* AVR */
 
-#else /* HOST_VERSION */
+#ifdef HOST_VERSION
 #define nop() do {} while(0)
 #define nothing() do {} while(0)
 #define cli() do {} while(0)
 #define sei() do {} while(0)
 #endif /* HOST_VERSION */
 
+#ifdef DSPIC
+#  define nop() do {__asm__ volatile ("nop");} while(0)
+#  define nothing() do {} while(0)
+#  define cli() do {SRbits.IPL=7;} while(0)
+#  define sei() do {SRbits.IPL=0;} while(0)
+#endif /* DSPIC */
 /**
  *   little bit toggeling macro 
  *  
diff -uNr -x .svn -x '*.o' ../../orig/aversive/include/dspic/inttypes.h 
aversive/include/dspic/inttypes.h
--- ../../orig/aversive/include/dspic/inttypes.h1970-01-01 
01:00:00.0 +0100
+++ aversive/include/dspic/inttypes.h   2009-07-02 18:52:14.0 +0200
@@ -0,0 +1,13 @@
+#ifndef DSPIC_INTTYPES_H
+#define DSPIC_INTTYPES_H
+
+typedef signed char int8_t;
+typedef unsigned char uint8_t;
+typedef signed int int16_t;
+typedef unsigned int uint16_t;
+typedef signed long int int32_t;
+typedef unsigned long int uint32_t;
+typedef signed long long int64_t;
+typedef unsigned long long uint64_t;
+
+#endif
diff -uNr -x .svn -x '*.o' ../../orig/aversive/include/dspic/stdint.h 
aversive/include/dspic/stdint.h
--- ../../orig/aversive/include/dspic/stdint.h  1970-01-01 01:00:00.0 
+0100
+++ aversive/include/dspic/stdint.h 2009-07-03 20:48:29.0 +0200
@@ -0,0 +1,4 @@
+#ifndef DSPIC_STDINT_H
+#define DSPIC_STDINT_H
+
+#endif
diff -uNr -x .svn -x '*.o' 
../../orig/aversive/modules/base/scheduler/scheduler.c 
aversive/modules/base/scheduler/scheduler.c
--- ../../orig/aversive/modules/base/scheduler/scheduler.c  2009-01-29 
00:26:01.0 +0100
+++ aversive/modules/base/scheduler/scheduler.c 2009-07-03 20:48:30.0 
+0200
@@ -21,15 +21,15 @@
 
 #include 
 
-#include 
 #include 
+#include 
 
 #include 
 #include 
 #include 
 
 
-/* this file is compiled for AVR version only */
+/* this file is compiled for AVR/DSPIC versions only */
 
 /** declared in scheduler_host.c in case of host version */
 struct event_t g_tab_event[SCHEDULER_NB_MAX_EVENT];
@@ -39,6 +39,18 @@
 {
memset(g_tab_event, 0, sizeof(g_tab_event));
 
+
+#ifdef DSPIC
+   /* Scheduler uses timer1 on dspic33 */
+   T1CON = 0;