Bonjour,
Je developpe un programme actuellement sur Mega2560 le programme tourne bien, mais je n'ai plus que 1,4ko de ram j'ai eu beau optimiser mon code, mais je suis à l'etroit et je n'ai pas terminé mon programme.
Je suis passé sur le Due (plus de ram) mais là alors que mon programme compile bien sur Mega2560 et tourne bien j'ai des erreurs surtout dans des librairies fournies avec le package, que je n'ai donc pas touché et qui sont bien présente (j'ai vérifié).
Voici les erreurs merci de m'aider.
In file included from c:\program files (x86)\arduino\hardware\tools\g++_arm_none_eabi\bin../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/include/sys/stat.h:9,
from C:\Program Files (x86)\Arduino\hardware\arduino\sam\cores\arduino/syscalls.h:32,
from C:\Program Files (x86)\Arduino\hardware\arduino\sam\variants\arduino_due_x/variant.h:50,
from C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\SPI/SPI.h:14,
from Chauffage.ino:2:
C:\Program Files (x86)\Arduino\libraries\Time/time.h:15: error: conflicting declaration 'typedef long unsigned int time_t'
c:\program files (x86)\arduino\hardware\tools\g++_arm_none_eabi\bin../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/include/sys/types.h:109: error: 'time_t' has a previous declaration as 'typedef long int time_t'
In file included from c:\program files (x86)\arduino\hardware\tools\g++_arm_none_eabi\bin../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/include/sys/stat.h:9,
from C:\Program Files (x86)\Arduino\hardware\arduino\sam\cores\arduino/syscalls.h:32,
from C:\Program Files (x86)\Arduino\hardware\arduino\sam\variants\arduino_due_x/variant.h:50,
from C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\SPI/SPI.h:14,
from Chauffage.ino:2:
C:\Program Files (x86)\Arduino\libraries\Time/time.h:105: error: declaration of C function 'void setTime(int, int, int, int, int, int)' conflicts with
C:\Program Files (x86)\Arduino\libraries\Time/time.h:104: error: previous declaration 'void setTime(time_t)' here
Merci pour ta réponse, mais je crois en effet que la compatibilité y est pour beaucoup, pour le code je ne l'ai pas mis (près de 2500 lignes) pas possible de poster.
Mais entre temps j'ai fait encore quelques coupes sombres et j'ai gagné quelques % mais comme je l'ai dis mon programme n'es pas terminé et ca me fait peur...
Merci encore pour ta réponse.
Après je découvre avec toi que ça fait partie intégrante du C
Du coup ce que je comprend : la librairie Time que tu utilises, utilise Time.h qui est semble-t-il un fichier de base du C et qui est également utilisé par le compilateur ARM. Donc conflit car "c'était pas prévu pour" on va dire. Donc soit tu trouves une autre lib que Time, soit il va falloir la modifier
Bonjour,
Au vu des erreurs rencontrées, je dirai qu'il n'y a pas que là que ca coince, j'ai en fait l'impression que ide Arduino étant en version beta n'est pas encore à la hauteur pour la compatibilité direct des différentes versions d'Arduino, et j'ai dans l'idée qu'il vont bientôt créer une nouvelle version parce qu'en plus il y a un nouvelle Arduino avec processeur Intel à 400Mhz qui fait son entrée.
Alors pour le moment comme j'ai pu optimiser et gagné suffisamment pour pouvoir continuer un peu, je reste avec le2560, j'essaierai une migration plus tard.
Quoi qu'il en soit, je te remercie beaucoup pour ton aide et je reviendrai parler de la migration dès que le besoin s'en fera sentir comme ca, si ca peut en aider d'autres...
Ha ben ca y est, je viens de regarder et la version 1.5.6 vient de sortir avec prise en compte du Galileo, affaire à suivre...
Bon je réédite mon post :
Après avoir testé (juste pour voir) c'est quasiment pareil, j'ai surtout l'impression qu'il y a une vrai incompatibilité dût au matériel, du coup le compilateur ne fait pas de miracle, et moi je me vois mal réécrire tout le programme, j'y ai passé trop d'heure et je vais plutôt revoir à la baisse les possibilité que j'avais prévu.
Merci pour ton aide.
C:\Program Files (x86)\Arduino*libraries\Time/time.h*:15: error: conflicting declaration 'typedef long unsigned int time_t'
Celle là, ce n'est pas toi qui l'aurait ajoutée.
Elle n’apparaît pas chez moi. Et c'est elle qui est en conflit avec la définition dans types.h du compilateur C arm.
Je viens de voir que tu as posté pendant que je rééditais mon précédent post.
Non je n'ai retouché aucune librairies, je me contente d'écrire les programmes, ca me suffit, je n'aime pas réinventer la roue.
Avec la dernière version je n'ai pas remis cette librairie et les erreurs (même légèrement différentes) persistent.
Bonjour,
Mon projet avance bien, et je n'ai plus besoin de la librairie time.h du coup plus de problème mais je me heurte à d'autres depuis hier, j'ai mis une carte réseau w5200 à la place de la w5100 car limité et lente. Je devrai donc pouvoir avancer encore, dès que j'aurai trouvé une librairie adapté pour le due.
Merci beaucoup pour toute l'aide apportée.