Erreur compilation Arduino Leonardo 1 rc2

Bonsoir,

Je vous soumet mon problème,
Je désire utiliser le sketch du GPS logger d'Adafruit GPS datalogging shield for Arduino
avec un Atmega32u4 Breakout+ Atmega32u4 Breakout Board+

Le code se compile sans erreur lorsque je selectionne Uno ou Dueminalove, mais avec Leonardo, jai les erreurs suivante:

\arduino-1.0-rc2\libraries\SoftwareSerial\SoftwareSerial.cpp: In member function 'void SoftwareSerial::begin(long int)':
\arduino-1.0-rc2\libraries\SoftwareSerial\SoftwareSerial.cpp:396: error: 'digitalPinToPCICR' was not declared in this scope
\arduino-1.0-rc2\libraries\SoftwareSerial\SoftwareSerial.cpp:398: error: 'digitalPinToPCICRbit' was not declared in this scope
\arduino-1.0-rc2\libraries\SoftwareSerial\SoftwareSerial.cpp:399: error: 'digitalPinToPCMSK' was not declared in this scope
\arduino-1.0-rc2\libraries\SoftwareSerial\SoftwareSerial.cpp:399: error: 'digitalPinToPCMSKbit' was not declared in this scope
\arduino-1.0-rc2\libraries\SoftwareSerial\SoftwareSerial.cpp: In member function 'void SoftwareSerial::end()':
\arduino-1.0-rc2\libraries\SoftwareSerial\SoftwareSerial.cpp:414: error: 'digitalPinToPCMSK' was not declared in this scope
\arduino-1.0-rc2\libraries\SoftwareSerial\SoftwareSerial.cpp:415: error: 'digitalPinToPCMSKbit' was not declared in this scope

Je pense qu'il faut probablement modifier l'effectation des pin dans la librairie, mais a quel niveau ?

bonne nuit a tous

Ouai le leonardo vien de sortir je pense que IDE même 1.0 doit avoir besoin d'une lib supplémentaire un fichier de conf ou un truc du genre, j'opterai pour une version d'une librairy qui différent, moi j'ai eu ce genre de problème quand j'ai du adapter mon code ARDUINO a un chip kit max32 je n'ai jamais touché à ce genre de shield je te serais pas d'une grande utilités, mais attend demain les mec balèze viendrons t'aider. ^^

sure ce bonne nuit =)

Skizo !

Chaque carte est décrite dans un fichier board.txt qui est situé dans arduino-1.0\hardware\arduino
Ce fichier décrit pour chaque carte le type de bootloader, la vitesse par défaut du port série, la mémoire dispo etc...
Il indique aussi le répertoire pour un fichier standard qui s'appelle pin_arduino.h et qui sert à donner des infos sur le mapping des pins

Pour la carte UNO, c'est arduino-1.0\hardware\arduino\variants\standard
Pour léonardo c'est arduino-1.0\hardware\arduino\variants\leonardo

Et effectivement le fichier pins_arduino.h pour leonardo est plutot incomplet et manque toutes les définitions qu'il te réclame.
(ce qui n'est pas si étonnant pour une carte qui n'est pas encore dispo)

Le problème est qu'il faut bien connaitre le chip pour remplir les trous.

Donc je te suggère de regarder chez LadyAda s'ils ne fournissent pas ce qu'il faut : un fichier pins_arduino.h adapté à leur carte.

Sinon regarde aussi chez Freeduino, ils ont une carte similaire.

Bonjour,

Le support des ATmega32u4 est encore trés expérimental, la team arduino est trés active à ce sujet.
D'aprés l'erreur cela ressemble à une incompatibilité manifeste en SoftwareSerial et l'ATmega32U4.

Je vois qu tu est resté en 1.0-RC2, passe en 1.0 final, le problème doit surement être réglé dans la nouvelle version.

Bonjour a tous,

J'ai testé avec la v1, même problème ... que ci dessus.

Merci

sub6:
J'ai testé avec la v1, même problème ... que ci dessus.

Ha ... bon bin alors SoftwareSerial n'est toujours pas compatible leornardo ...

Solution de fortune, utiliser la librairie de PJRC (le concepteur de la teensy) :
http://pjrc.com/teensy/td_libs_AltSoftSerial.html

et/Ou le core arduino teensyduino.

Réponse partielle de ma part (loin de ma 'base' je n'ai pas les fichiers téléchargés sur ce sujet pour compléter les descriptions du 32u4,nterruptions entre autres). Dans mon cas la carte gérée sous Arduino1RC2 est la Vinciduino.
(Arduino 1.0 est en retrait sur RC2 pour ce qui est des exemples HID sur 32u4)

En faisant des recherches avec le mots clefs'leonardo interrupts' il semble possible de trouver les infos manquantes.
içi par exemple : Arduino Leonardo – Interrupts | [protofusion]

Un peu plus tard : trouvé içi !!