compiler Sprinter avec Arduino pour Sanguinololu v1.3a W/ATmega644P

bonjour,
j'ai des problèmes pour compiler un FirmWare.

à la base je cherche à faire fonctionner un RepRap Mendel v2 à l'aide d'un board Sanguinololu 1.3a équipé d'un chipset ATmega644P.

comme première étape je me suis fixé de compiler un FirmWare compatible avec le board.
j'ai installé Arduino IDE v1.0.5 augmenté des fichiers Sanguino dans le Hardware.
j'ai créé un répertoire FirmWare avec les fichiers de Sprinter et ajouté ceux de Sanguino concernés.

j'ouvre sprinter.pde dans Arduino.
puis renseigne le type de Motherboard dans Configuration.h (62).

c'est à ce moment que je lance la vérification qui abouti à une liste d'erreurs :

In file included from arc_func.cpp:26:
/Sprinter.h:6:23: error: Arduino.h: No such file or directory
In file included from arc_func.cpp:26:
Sprinter.h:97: error: variable or field 'manage_inactivity' declared void
Sprinter.h:97: error: 'byte' was not declared in this scope
Sprinter.h:108: error: variable or field 'kill' declared void
Sprinter.h:108: error: 'byte' was not declared in this scope

la première erreur signalée correpond à ce morceau de sprinter.h

#if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
#else
  #include <WProgram.h>  
#endif

il n'y a effectivement pas de fichier Arduino.h dans le répertoire FirmWare, mais bien un fichier WProgram.h.
la suite des erreurs pourraient être induites par cette première.

s'il vous plait, j'ai besoin d'aide pour continuer.

Il existe une voie : le projet Wiring.
En fait Arduino est un fork de Wiring. Les deux projets ont évolués séparément mais restent très proches et d'ailleurs il subsiste encore de nombreux fichiers "wiring" dans l'IDE Arduino.
La différence entre les IDE : ils sont tous les deux basés sur "Processing", Arduino utilise la couleur bleue et Wiring l'orange c'est dire si c'est différent.

Mais plus intéressant pour toi la carte micro du projet Wiring est à base d'ATMega644.
Cela vaut le coup d'essayer de voir si la sanguino n'est reconnue d'office.

bonjour 68tjs.

je suis aller voir le site de wiring.
j'ai peur d'avoir à refaire tout le chemin déjà parcouru avec ce nouvel IDE.
de plus, de nombreux tutaux et témoignages me laissent penser qu'utiliser Arduino IDE est possible si ce n''est classique.

je pense que je dois modifier quelques paramètres.
je continue à creuser de ce coté.

merci pour la piste

avec ce nouvel IDE

C'est le même a quelques détails prés.

c'est juste ! ils se ressemblent beaucoup.

j'ai installé l'IDE Wiring. il me donne aussi un message d'erreur lors de la compile, mais pas le même :

main.cpp: In function 'int main()':
main.cpp:4: error: error: 'init' was not declared in this scope

voici la partie qui génère l'erreur :

#include <WProgram.h>

int main(void)
{
	init();

	setup();
    
	for (;;)
		loop();
        
	return 0;
}

C'est effectivement légèrement différent de l'arduino et plus proche du C/C++ classique.
Il faut que la fonction init() soit déclarée avant son appel dans main().

Si tu bloques à ce niveau là, le mieux est d'aller sur le Site Du Zéro et de suivre les tutoraux d'initiation au C/C++.

Parce que on peut te dépanner sur ce point particulier mais un autre blocage surviendra immédiatement après et ce que ce soit en Wiring ou en Arduino ce sera pareil.
Alors autant mettre toutes les chances de ton coté avec le site du zéro. C'est le site que beaucoup d'entre nous ont fréquenté quand ils ont débuté et qu'ils fréquentent toujours.

mince, je suis découvert.
c'est vrai que je n'y connait pas grand chose en programmation.
j'espérais trouver une recette.

je vais voir ce que je peux faire en formation from zéro.

merci pour les infos.

Bonjour,

Essaye de recompiler avec l'ide Arduino 1.0.5 mais en remplaçant : "Arduino.h" par <Arduino.h>.

bonjour skywod.
j'ai oublié de vérifier si j'avais des réponses sur ce forum.
j'ai cherché dans les fichiers de Sprinter des "Arduino.h" et je n'en ai pas trouvé. à moins que l'on se soit mal compris sur les guillemets.

à tous
j'ai enfin réussi à uploader Sprinter avec Arduino IDE 0018.
mais j'ai encore des pb.
voici le log que j'obtiens lorsque je me connecte avec Repetier-Host en mode manuel :

11:53:35.982 : N0 M110 *3
11:53:35.982 : N0 M110 *3
11:53:35.982 : N1 M115 *7
11:53:35.998 : N2 T0 *24
11:53:35.998 : N4 M111 S6 *67
11:53:38.525 : Sprinter
11:53:38.525 : 1.3.22T / 20.08.2012
11:53:38.556 : start
11:53:38.556 : Soft PWM Init
11:53:38.556 : Planner Init
11:53:38.556 : Stepper Timer init
11:53:38.556 : Free Ram: 1101
11:53:38.556 : Plan Buffer Size:1152 / 16
11:53:38.556 : N0 M110 *3
11:53:38.556 : N1 M115 *7
11:53:38.556 : N2 M111 S6 *69
11:53:47.682 : Unknown command:
11:53:47.682 : ?
11:53:47.698 : ok
11:53:50.755 : Unknown command:
11:53:50.755 : ?
11:53:50.755 : ok
11:54:02.986 : Unknown command:
11:54:02.986 : ?
11:54:02.986 : ok
11:54:12.159 : Unknown command:
11:54:12.159 : ok
11:54:36.620 : Unknown command:
11:54:36.620 : ok

ensuite j'ai "1 commande en attente" et rien.

j'ai modifié configuration.h
20 : MOTHERBOARD 62
53 : BAUDRATE 38400 (j'ai cette valeur partout pour le moment, je pense l'augmenter plus tard)
57 : //*define SDSUPPORT (je n'ai pas de lecteur de carte)

si quelqu'un a une idée ?

Arduino.h c'est un fichier "de base" fourni avec l'ide arduino :wink:

Pour le problème de code je pourrai pas t'aider je connais pas ce programme :~

pour info,
ça a l'air de fonctionner avec PointerFace.
il n'y a plus les messages d'erreurs de Repetier-Host, et l'imprimante répond aux commandes manuels.
il va falloir que je me penche sur la doc de Repetier si je veux m'en servir.

résultat des courses
j'arrive à charger Sprinter avec Arduino 0018, et Marlin v1 avec Arduino 0018 aussi, mais avec les librairies Marlin.

donc Skywood,
j'ai l'impression que tu essayes de me mettre sur une piste pour compiler avec la 1.0.5.

Essaye de re-compiler avec l'ide Arduino 1.0.5 mais en remplaçant : "Arduino.h" par <Arduino.h>

ça m'intéresse parceque je n'arrive pas a utiliser de version plus récente que la 0018

mais je n'ai pas compris ce que je devais faire et où ?

je ne sais pas si ça a de l'importance, mais je suis sur Seven 64bits.

La modif est à faire dans les fichiers .h de tes librairies :wink: