Eclipse et ESP8266

Bonjour,

Je tente de commencer à travailler avec Eclipse. Suite à l'installation et une prise en main progressive, j'ai rapatrier un gros projet réalisé en son temps avec l'IDE Arduino. Mon soucis est que quand je le compile (via Eclipse), il me trouve plusieurs erreurs dans le "core" sur la lib. "time.c", alors que tout fonctionne correctement en le compilant avec l'IDE Arduino. De plus sur d'autres projets réalisés avec Eclipse, je n'ai pas cette erreur de compilation et que bien entendu je n'ai absolument pas touché au "core". Si quelqu'un à déjà rencontrer ce PB, je lui serais extrêmement reconnaissant de m'aiguiller sur la démarche à suivre.

cordialement.

Et donc nous, on est censé deviner les erreurs? Qu'est-ce qu'on gagne si on trouve?

Désolé, mais mon manque d'expériences, m'a fait pensé que la description des erreurs n'était pas utile étant donné le coté saugrenu du problème. voici donc la liste des erreurs :

Description Resource    Path    Location    Type
dereferencing pointer to incomplete type    time.c  /Switchum-4/core/core   line 89 C/C++ Problem
make: *** [core/time.c.o] Error 1   Switchum-4          C/C++ Problem
recipe for target 'core/time.c.o' failed    subdir.mk   /Switchum-4/Release/core/core   line 419    C/C++ Problem
unknown type name 'clockid_t'   time.c  /Switchum-4/core/core   line 77 C/C++ Problem
unknown type name 'suseconds_t' time.c  /Switchum-4/core/core   line 27 C/C++ Problem
unknown type name 'time_t'  time.c  /Switchum-4/core/core   line 26 C/C++ Problem
unknown type name 'time_t'  time.c  /Switchum-4/core/core   line 32 C/C++ Problem
unknown type name 'time_t'  time.c  /Switchum-4/core/core   line 39 C/C++ Problem
unknown type name 'time_t'  time.c  /Switchum-4/core/core   line 46 C/C++ Problem
unknown type name 'time_t'  time.c  /Switchum-4/core/core   line 85 C/C++ Problem
unknown type name 'time_t'  time.c  /Switchum-4/core/core   line 92 C/C++ Problem
unknown type name 'time_t'  time.c  /Switchum-4/core/core   line 107    C/C++ Problem
unknown type name 'time_t'  time.c  /Switchum-4/core/core   line 112    C/C++ Problem

Pour situer les choses : Je fait appel à la librairie "Time" (pour ESP8266 : "TimeLib.h" et Time.c). Or le principal PB est ce type inconu de time_t dans time.c Si je remonte chacunes des librairies utilisées grâce à un double clique sur les objets concernés (Via eclipse), je retrouve bien la déclaration du type de time_t qui est du type TIME_T dans sys/types.h qui est lui même de type long dans machine/_default_types.h

Autres élément je tourne sous W7, le compilateur commun à Eclipse et l'IDE Arduino est gcc, la version Eclipse est 8.8.1 et le pluguin Arduino est celui chargé sur http://www.baeyens.it/eclipse/ Pour rappel : je n'ai absolument pas toucher au core et le même code compilé sous l'IDE Arduino fonctionne correctement

Merci de vous pencher sur la question.

Ok cela viendrait donc de la phase de compilation. Le compilateur étant le même (gcc) pour les 2 IDE (Eclipse et Arduino), la différence entre les 2 éditeurs, serait la ligne de commande pour gcc.

Si mon analyse est bonne, est-il envisageable d'imposer à Eclipse la même ligne de commande que celle utilisée par IDE Arduino, afin d'obtenir la même souplesse d'utilisation car je me considère comme un "néophyte" (j'ai appris le C/CPP via l'arduino et j'ai vraiment beaucoup de mal à interpréter et corriger toutes ces défauts) ?

Ou bien que le "core" téléchargé par eclipse est différent de celui utilisé par IDE Arduino ?

Un lien qui pourrait t'aider. C'est pour les atmega : http://www.arrizza.com/cgi-bin/pub?ArduinoHowTo Tu pourra y voir toutes les configurations à faire pour le compilateur et l'éditeur de liens.

Aussi du même site mais en accès direct : http://www.arrizza.com/cgi-bin/pub?CreateArduinoStaticLibrary http://www.arrizza.com/cgi-bin/pub?CreateArduinoGenericProject http://www.arrizza.com/cgi-bin/pub?CreateArduinoLedBlink

Cela semble très intéressant. Je vais en faire le tour. Si j'y trouve une solution je reviendrais l'exposée. Merci pour ce lien.

bonsoir pour info , au cas où

Le "core" esp82xx (support esp8266 esp8285) sous IDE "arduino" a fait l'objet d'une grosse MAJ il y a qq jours

En effet, mais cette nouvelle version (2.4.0) , ne semble pas être encore dispo. De son coté le Plugin Eclipse arduino vient d'être mis à jour aussi de son coté.

Je vais tester tout ça.

Merci.

Clemzo:
En effet, mais cette nouvelle version (2.4.0) , ne semble pas être encore dispo.
De son coté le Plugin Eclipse arduino vient d’être mis à jour aussi de son coté.

Je vais tester tout ça.

Merci.

je ne sais rien d’une eventuelle 2.4.0
je viens juste d’installer hier là la 2.3.0 :grin:

En effet j'avais lu ça : https://plus.google.com/+Esp8266/posts/WP9DcMuq3sg Mais ça doit être une erreur.

Par contre, la version du plugin Eclipse Arduino (Sloeber) que j'ai installée il y a 2 jours, intégrait déjà le core 2.3.0.

Malheureusement la mise à jour d'hier soir semble avoir des soucis avec Java.

Et la mise à jour de ce matin ne vaut pas mieux.

Je suis assez dépité car étant novice avec mes propres incertitudes, je n'ai pas besoin d'en rajouter venant de l’extérieur :confused: .

Bilan : pour le moment je ne peux plus rien compiler pour Arduino et consorts.

Clemzo:
En effet j’avais lu ça :
https://plus.google.com/+Esp8266/posts/WP9DcMuq3sg
Mais ça doit être une erreur.

Par contre, la version du plugin Eclipse Arduino (Sloeber) que j’ai installée il y a 2 jours, intégrait déjà le core 2.3.0.

Malheureusement la mise à jour d’hier soir semble avoir des soucis avec Java.

Et la mise à jour de ce matin ne vaut pas mieux.

Je suis assez dépité car étant novice avec mes propres incertitudes, je n’ai pas besoin d’en rajouter venant de l’extérieur :confused: .

Bilan : pour le moment je ne peux plus rien compiler pour Arduino et consorts.

bonjour
perso , je n’ai encore pas trouver vraiment d’alternatives complets/simple et fiables à l’IDE arduino
je redige eventuellement avec des editeurs externes , mais je compile et upload toujours sous l’IDE “natif”

Avec le peu d’expérience que j'ai pour le moment avec Eclipse, je peux en effet évaluer ce coté un peu capricieux de l’éditeur, malgré la puissance de ses outils. Quand on y goute, il est difficile de faire une croix dessus. Je pense que dans un premier temps je vais faire pareil, en gérant les 2 éditeurs et au fur et à mesure que je maitriserai mieux Eclipse, je glisserai de plus en plus vers lui.

Mais il faut reconnaitre que la simplicité et la fiabilité de l'éditeur Arduino sont vraiment appréciables.

Clemzo: ... Mais il faut reconnaitre que la simplicité et la fiabilité de l'éditeur Arduino sont vraiment appréciables.

Perso , je suis très pragmatique : pour moi "Arduino"(et autre dérivés) n'est qu'une sympathique base de jeu 8)

Je teste à peu prés tout ce qui se présente (éditeurs externes/solutions miracle, autres ) , simplement pour voir si quelquefois ce ne serait pas moins pire ! :grin:

A ce stade et de "mon avis à moi que j'ai 8) " j'en suis venu au constat au moins actuel que vouloir utiliser une autre solution "complete" est source d'emmerdes à un stade ou un autre.

Perso , je m'en sors tre bien avec notepad++ en externe , lorsque vraiment l'editeur "natif" de l'IDE ne me conviens plus , et pour etre tres franc , ce n'est pas arrivé tres souvent :sunglasses:

En effet, j'ai aussi très souvent recours à NotePad++ qui reste une valeur sûre. :slight_smile:

Utilises-tu encore Eclipse ?

Trés clairement Eclipse n'est pas fait "pour débuter". Pour utiliser Eclipse il faut commencer par apprendre qu'elle est la vraie structure d'un programme en C/Cpp. Toutes opération que l'IDE Processing/Wiring/arduino fait pour toi sans te le dire. Les liens que j'ai donné sont trés instrutifs notament la notion de biblothèque statique. Ça c'est le plus simple, c'est parfaitement accessible à un débutant qui accepte de faire quelques efforts.

Ensuite il y a les "options" du compilateur et de l'éditeur de lien (dit aussi linker) et là c'est moins évident si tu ne trouves pas des conseils de dévelopeurs confirmés ( je précise tout de suite : ce n'est absolument pas mon cas donc je peux pas répondre aux questions)

Notes que ces options sont aussi modifiables aussi dans l'IDE P/W/A mais que c'est bien enfoui et pas facile à trouver.

Pour Eclipse il existe des "plug in" pour arduino. Tu peux les trouver sur le "Market place" Eclipse. Un est conçu par un membre hollandais de ce forum. J'écorche le nom mais c'est quelque chose comme Jeanzen.

OK je te remercie beaucoup, je vais gratter tout ça.

Bon, concernant mon PB initial lié à la librairie Time, il semble que les différentes MAJ successives du plugin, améliorent les choses au fur et à mesure sans pour autant être totalement parfait. Je vais donc attendre que le travail de débugage du pluguin soit plus avancé.

Merci à tous