Pages: 1 [2] 3 4   Go Down
Author Topic: Arduino Leonardo problème de compilation/uploading sous linux  (Read 4394 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Petite question (hé oui encore...). Comment puis-je mettre à jours ma librairie rx/tx? Ayant l'IDE 1.0.1 je pensais qu'elle le serait mais même si le CDC pour le port série fonctionne bien désormais j'ai des problèmes de synchronisation sur les ports Tx/Rx. En effet j'ai l'impression que la vitesse de communication effective ne correspond pas à la vitesse souhaitée.
Cela peu venir en effet de la librairie si celle-ci n'est pas à jours.

Question parallèle : où puis-je trouver les fichiers ioctl? Car j'aimerais justement vérifier leur contenu.

Encore merci!
Logged

France S-O ou exil en IDF
Offline Offline
Edison Member
*
Karma: 25
Posts: 1904
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il y a une discussion à ce sujet sur le site de développement de l'IDE arduino
http://code.google.com/p/arduino/issues/list
Issue 14

Je n'ai pas compris si une décision a été prise.
Si Rx/Tx sont toujours fournies par l'IDE arduino dans la version Linuxarduino elles devraient être "cohérentes" avec le reste de l'IDE chargé chez arduino.
Si elles ne sont plus fournies c'est à partir de ta distribution que tu dois les mettre  à jour.

Excuse moi si tu as déjà donné la réponse mais quelle est ta distribution ?
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Comment puis-je mettre à jours ma librairie rx/tx?
Il suffit d'aller chercher la dernière version du driver à la source :
http://rxtx.qbang.org/wiki/index.php/Main_Page

Question parallèle : où puis-je trouver les fichiers ioctl? Car j'aimerais justement vérifier leur contenu.
Les fichiers ioctl sont des fichiers bas niveau du kernel linux, tu n'as rien à aller toucher dedans smiley-eek
Ce sont des fichiers critiques qui permettent la gestion trés bas niveau du matériel.
http://www.kernel.org/doc/man-pages/online/pages/man2/ioctl.2.html
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour à tous.

Désolé de ne répondre que maintenant mais je n'avais pas internet.

Pour ma distribution il s'agit d'un Xubuntu 11.10 (désolé je me suis trompé ^^)

Je voulais aller voir les fichiers ioctl non pas pour les modifier mais pour voir si la division clock processeur est juste (afin d'obtenir un temps réel non décalé).

Merci pour vos réponses je regarde ça dès ce soir et je vous tiens au courant!!!

Bonne journée à tous.

Mike
« Last Edit: July 16, 2012, 06:46:31 am by MikeLarson » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Petite remarque : quand j'utilisais l'arduino UNO je n'avais pas de problème avec rx/tx (pour la même distribution. C'est vraiment le passage au nouvel IDE (1.0.1) pour Leonardo qui fait que ça ne marche plus. De plus j'utilisais l'API "NewSoftSerial" qui a été implanté à l'IDE désormais sous le nom (SoftSerial). Cependant quand je chercher a créer une instance "SoftSerial mySerial" il me crache dessus à la compilation. Le .h et .cpp sont bien présent dans le /librairies mais bon...

Je ne m'y suis pas forcement attardé mais je me dit que ça pourrait venir de là?
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Cependant quand je chercher a créer une instance "SoftSerial mySerial" il me crache dessus à la compilation. Le .h et .cpp sont bien présent dans le /librairies mais bon...
C'est pas "SoftSerial" mais "SoftwareSerial" smiley-wink
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui oui pardon j'écris mes remarques de tête (sans avoir le code devant les yeux) mais c'est bien ça que je voulais dire ^^.

Dans le doute je revérifie mon code ce soir, mais si le problème vient de là.....   smiley-mr-green
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Dans le doute je revérifie mon code ce soir, mais si le problème vient de là.....   smiley-mr-green
Comme on dit :
"Stupid errors are allways stupid"
 smiley-mr-green
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour à tous! Désolé pour le temps écoulé mais je n'étais pas dans les parages.

Alors le problème de compilation est corrigé (stupid error....). Mais cela ne résouds pas mon problème de communication RX/TX, je n'arrive toujours pas à communiquer via ce port série de m****!!!  smiley-mr-green

Je vais refaire des tests dans la semaine pour voir si les trames que j'envoi (et que je reçoit de l'autre coté) correspondent bien à ce que j'attends (normalement oui car avec le Uno ça marchait très bien). J'en profiterais pour voir si la fréquence de communication est bien celle attendue (9600 bauds) car la dernière fois j'avais eu un gros doute (malheureusement je n'avais pu gardé l'oscilloscope assez longtemps pour m'en assurer).

J'ai essayé de mettre à jours ma librairie rx/tx mais ça n'a rien changé (là par contre un gros doute sur la fiabilité de ma procédure de maj).

Sinon (question bête certainement), si la fréquence de communication n'est pas bonne, cela vient certainement du prescaler (ou d'une couche supérieur?), si c'est le cas comment faire pour le changer (sans devoir recoder l'ioctl qui est en pré compilé, donc non modifiable)? Existe t il une fonction bas niveau du genre "setPreScaler(...)"? Si c'est le cas où la modifier?

Je vous remercie encore une fois de votre aide et si vous remarquez que certaines de mes remarques et/ou de mes questions sont stupide dites le moi ^^ (sans m'envoyer caresser les vaches non plus :p)

Merci.

Mike
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sinon (question bête certainement), si la fréquence de communication n'est pas bonne, cela vient certainement du prescaler (ou d'une couche supérieur?), si c'est le cas comment faire pour le changer (sans devoir recoder l'ioctl qui est en pré compilé, donc non modifiable)? Existe t il une fonction bas niveau du genre "setPreScaler(...)"? Si c'est le cas où la modifier?
Il existe un utilitaire pour ça : setserial smiley-wink
http://linux.about.com/library/cmd/blcmdl8_setserial.htm
« Last Edit: July 30, 2012, 02:02:14 pm by skywodd » Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

0
Offline Offline
God Member
*****
Karma: 0
Posts: 798
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yep!

C'est quoi ce lien à la mord moi le noeud...

Tu voulais parler de stty ???

Code:
stty --file=/dev/ttyUSB0 -a

@+

Zoroastre.

EDIT : Tiens !!! Le lien m'a envoyer n'importe où la première fois...La seconde semble plus à propos  smiley-lol
« Last Edit: July 30, 2012, 02:05:57 pm by zoroastre » Logged

Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message smiley-wink

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est quoi ce lien à la mord moi le noeud...
Hu ... bon j'ai mis un lien vers le man de setserial smiley-razz

Tu voulais parler de stty ???
Non je parle bien de setserial smiley-wink

Edit: wait ... c'est setserial ou stty pour le baudrate ... c'est malin j'ai un gros doute smiley-yell
Edit2: les deux font le changement de baudrate (c'est pas sympa de me faire douter smiley-razz)
Exemple:
Code:
setserial /dev/ttyUSB0 baud_base 115200
« Last Edit: July 30, 2012, 02:12:11 pm by skywodd » Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

0
Offline Offline
God Member
*****
Karma: 0
Posts: 798
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yep!

Faut installer un paquet, non ???

Perso, moi je ne l'ai pas sous Debian netinstall...(user ou root)

Quote
philippe# aptitude search setserial
p   setserial                                                            - Contrôle de configuration des ports séries

stty est la commande par defaut.

@+

Zoroastre.
Logged

Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message smiley-wink

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Faut installer un paquet, non ???
Alors ça j'en sait rien, dés l'instant ou une distribution linux me passe sous la main ça devient une usine à gaz avec plein de module noyaux et de paquets installé de partout smiley-mr-green

stty est la commande par defaut.
Bin alors autant utilisé stty ... smiley-mr-green
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

0
Offline Offline
God Member
*****
Karma: 0
Posts: 798
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
stty --file=/dev/ttyUSB0 19200

10° --ROOT-- - 21:21:37
root@debian-k:/home/philippe# stty --file=/dev/ttyUSB0 -a

speed 19200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

11° --ROOT-- - 21:21:46
root@debian-k:/home/philippe# stty --file=/dev/ttyUSB0 9600

12° --ROOT-- - 21:22:31
root@debian-k:/home/philippe# stty --file=/dev/ttyUSB0 -a

speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

J'en parle un peu ici : http://arduino.cc/forum/index.php/topic,68722.0.html

@+

Zoroastre.
Logged

Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message smiley-wink

Pages: 1 [2] 3 4   Go Up
Jump to: