Offline
Newbie
Karma: 0
Posts: 9
|
 |
« Reply #30 on: June 25, 2012, 09:32:26 am » |
Salut skywodd! Dis moi, je test un peu le matos que je vais utiliser pour mon montage avec DuinOS, pour l'instant j'utilise le shield LCD+keypad que tu as présenté sur ton blog. Celui-ci n'est pas fonctionnel avec DuinOS, en tout cas avec DuinOS+mega2560. J'ai un peu regardé le code de la librairie LiquidCrystal, j'ai pas trouvé pourquoi ça ne fonctionnerai pas avec DuinOS. Mais c'est un excellent aprentissage du c++ pour arduino (je connais bien le python, pour le reste je balbutie!) Aurais-tu une idée?? Je sens que je risque d'avoir le même genre de problème pour les autres shields... (je compte utiliser un shield ethernet+carte SD) Merci beaucoup a+
|
|
|
|
|
Logged
|
Thomas
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4307
Arduino Hacker
|
 |
« Reply #31 on: June 25, 2012, 11:32:38 am » |
Dis moi, je test un peu le matos que je vais utiliser pour mon montage avec DuinOS, pour l'instant j'utilise le shield LCD+keypad que tu as présenté sur ton blog. Celui-ci n'est pas fonctionnel avec DuinOS, en tout cas avec DuinOS+mega2560. Tu as testé la shield sans duinOS avant pour être sure de son bon fonctionnement ? J'ai un peu regardé le code de la librairie LiquidCrystal, j'ai pas trouvé pourquoi ça ne fonctionnerai pas avec DuinOS. Mais c'est un excellent aprentissage du c++ pour arduino (je connais bien le python, pour le reste je balbutie!) Aurais-tu une idée??
Si tu ne spécifie pas la broche RW la librairie LiquidCrystal se base sur une série de timings prédéfini pour les transfert de données. Comme duinOS altère plus ou moins ces timings ça peu être la cause du probléme. Essaye de placer les morceaux de codes utilisant le lcd en section critique (morceau de code devant être exécuté en une seul fois) : portENTER_CRITICAL(); lcd.xxxx(); portEXIT_CRITICAL(); Ils seront exécuté comme dans un programme normal et les autres taches seront mis en pause jusqu'à la fin de la section critique. Je sens que je risque d'avoir le même genre de problème pour les autres shields... (je compte utiliser un shield ethernet+carte SD)
Tu devra gérer toi même tout cela, duinOS est basé sur FreeRTOS, il faut avoir une vu d'ensemble du programme et gérer les accès aux ressources.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 9
|
 |
« Reply #32 on: June 26, 2012, 02:03:10 pm » |
Dis moi, je test un peu le matos que je vais utiliser pour mon montage avec DuinOS, pour l'instant j'utilise le shield LCD+keypad que tu as présenté sur ton blog. Celui-ci n'est pas fonctionnel avec DuinOS, en tout cas avec DuinOS+mega2560. Tu as testé la shield sans duinOS avant pour être sure de son bon fonctionnement ? Oui, pour l'instant, j'apprend à m'en servir, alors je ne fais que des petits bout de code, que je test avec DuinOS et sans. J'ai un peu regardé le code de la librairie LiquidCrystal, j'ai pas trouvé pourquoi ça ne fonctionnerai pas avec DuinOS. Mais c'est un excellent aprentissage du c++ pour arduino (je connais bien le python, pour le reste je balbutie!) Aurais-tu une idée??
Si tu ne spécifie pas la broche RW la librairie LiquidCrystal se base sur une série de timings prédéfini pour les transfert de données. Comme duinOS altère plus ou moins ces timings ça peu être la cause du probléme. Essaye de placer les morceaux de codes utilisant le lcd en section critique (morceau de code devant être exécuté en une seul fois) : portENTER_CRITICAL(); lcd.xxxx(); portEXIT_CRITICAL(); Ils seront exécuté comme dans un programme normal et les autres taches seront mis en pause jusqu'à la fin de la section critique. Cool, merci, la broche RW n'est pas utilisable avec le shield en question (ou alors faudrait désouder/resouder)! Par contre, j'ai modifié la librairie LiquidCrystal en utilisant portENTER_CRITICAL();/portEXIT_CRITICAL(); dans les fonctions bas niveaux gérant la communication avec l'écran. Et ça marche sans problème! Merci beaucoup
|
|
|
|
|
Logged
|
Thomas
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 15
|
 |
« Reply #33 on: June 27, 2012, 02:20:11 pm » |
Bonjour,
Je débute avec les Arduino et je souhaiterais utiliser DuinOS. Quelqu'un l'utilise-t-il avec cette board??
Merci d'avance pour vos réponses.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 9
|
 |
« Reply #34 on: July 04, 2012, 06:24:25 am » |
Je débute avec les Arduino et je souhaiterais utiliser DuinOS. Quelqu'un l'utilise-t-il avec cette board??
Salut! Avec quelle board compte tu l'utiliser? pour ma part, je l'utilise avec un arduino mega2560 rev2!
|
|
|
|
|
Logged
|
Thomas
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4307
Arduino Hacker
|
 |
« Reply #35 on: July 04, 2012, 11:05:35 am » |
Bonjour, Je débute avec les Arduino et je souhaiterais utiliser DuinOS. Quelqu'un l'utilise-t-il avec cette board??
Ton topic a été fusionné avec celui déja existant portant sur le même sujet, relie le topic en entier et tu auras ta réponse 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 15
|
 |
« Reply #36 on: July 05, 2012, 09:54:25 am » |
Merci bien, je vais étudier la chose...
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 15
|
 |
« Reply #37 on: July 15, 2012, 09:28:16 am » |
Bon, j'ai tout essayé, pas moyen de compiler quoi que ce soit...  Quelqu'un pourrait-il zipper son dossier arduino qui fonctionne avec la 2560 MEGA et la mettre en ligne?? Merci d'avance.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 15
|
 |
« Reply #38 on: July 21, 2012, 01:27:47 pm » |
Personne pour m'aider? 
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4307
Arduino Hacker
|
 |
« Reply #39 on: July 22, 2012, 01:14:03 am » |
Zipper tout le dossier arduino ça prend un pas mal de place  Tu as suivis la procédure d'installation à la lettre et ça marche pas ? Qu'est qu'il te sort comme erreurs quand tu compile ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 15
|
 |
« Reply #40 on: July 22, 2012, 03:25:09 am » |
Oui c'est vrai que c'est un peu gros comme dossier. C'est bien dommage. J'ai fait plusieurs fois l'installation à la lettre, avec plusieurs versions de l'IDE et toujours la même erreur à la compil. Même avec des exemples trouvés sur le net. Le même problème que Telson avait. Voici l'erreur :
In file included from E:\arduino-0021\hardware\arduino\cores\arduino.DuinOS/DuinOS.h:14, from E:\arduino-0021\hardware\arduino\cores\arduino.DuinOS/WProgram.h:13, from E:\arduino-0021\hardware\arduino\cores\arduino.DuinOS\main.cpp:1: e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h: In function 'void eeprom_read_block(void*, const void*, size_t)': e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:290: error: ISO C++ forbids incrementing a pointer of type 'void*' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:290: error: ISO C++ forbids incrementing a pointer of type 'const void*' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:290: error: invalid conversion from 'const void*' to 'const uint8_t*' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:290: error: initializing argument 1 of 'uint8_t eeprom_read_byte(const uint8_t*)' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h: In function 'void eeprom_write_block(const void*, void*, size_t)': e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:398: error: ISO C++ forbids incrementing a pointer of type 'void*' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:398: error: ISO C++ forbids incrementing a pointer of type 'const void*' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:398: error: invalid conversion from 'void*' to 'uint8_t*' e:/arduino-0021/hardware/tools/avr/lib/gcc/../../avr/include/avr/eeprom.h:398: error: initializing argument 1 of 'void eeprom_write_byte(uint8_t*, uint8_t)'
Merci beaucoup pour ton aide.
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4307
Arduino Hacker
|
 |
« Reply #41 on: July 22, 2012, 04:10:29 pm » |
Oui c'est vrai que c'est un peu gros comme dossier. C'est bien dommage. J'ai fait plusieurs fois l'installation à la lettre, avec plusieurs versions de l'IDE et toujours la même erreur à la compil. Même avec des exemples trouvés sur le net. Le même problème que Telson avait. Voici l'erreur :
Ok ! Je vois ou est le probléme  L'erreur de compilation est du à un conflit entre la version de avr-gcc fourni avec l'ide et la version utilisé pour coder DuinOS. Il y avait justement un probléme avec le fichier eeprom.h par le passé (toujours pas réglé apparemment). Deux solutions : - pas trés propre mais 100% fonctionnelle : Dans duinos.h ligne ~14 : Mettre en commentaire l'include de eeprom.h: //#include <avr/eeprom.h> - mettre à jour la chaine win-avr : http://skyduino.wordpress.com/2012/07/07/hack-utiliser-teensyduino-avec-une-carte-arduino-leonardo-ou-compatible-leonardo/(étapes 1, 2 et 3 uniquement)
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 15
|
 |
« Reply #42 on: July 23, 2012, 02:58:33 am » |
Je vais essayer ça! Merci.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 15
|
 |
« Reply #43 on: July 23, 2012, 03:31:52 am » |
Bon, il y a du mieux. Mais ça ne veut toujours pas compiler.  J'ai cette erreur maintenant : core.a(port.c.o): In function `vPortYieldFromTick': C:\Arduino DuinOS\arduino-0021\hardware\arduino\cores\arduino.DuinOS\DuinOS/port.c:430: undefined reference to `arduino_increment_millis' Une idée? EDIT : J'ai trouvé la solution, j'ai appliqué l'astuce de cette page : http://code.google.com/p/duinos/issues/detail?id=4Merci pour votre aide précieuse!
|
|
|
|
« Last Edit: July 23, 2012, 03:43:03 am by Thibthib02 »
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 9
|
 |
« Reply #44 on: January 11, 2013, 04:54:56 pm » |
Salut Skywood! J'avais laissé le projet arduino de côté, je m'y remet maintenant. J'ai aujourd'hui un problème avec la librairie mprintf fournie avec DuinOS. ( safe printf). Pour info je suis sous ubuntu 12.04 avec arduino 1.0.1 et DuinOS 0.4 (voir plus haut). Avec une board arduino Mega2560 + DuinOS, quand je fait un (initialisation de mprintf) mprintf_init(); j'ai le message d'erreur suivant: mprintf/mprintf.cpp.o: In function `mprintf_init()': /usr/share/arduino/libraries/mprintf/mprintf.cpp:38: undefined reference to `xQueueCreateMutex' collect2: ld returned 1 exit status En compilant pour une board arduino uno + DuinOS, je n'ai pas de pb. J'ai essayé de fouiller un peu, mais je ne comprend pas l'origine du pb et je crains que mes maigres capacités ne suffisent pas pour trouver... Aurais-tu une idée? Merci, bonne soirée
|
|
|
|
|
Logged
|
Thomas
|
|
|
|
|