CodeBlocks pour arduino (avec simulateur, etc ...)

Salut tout le monde !

J'ai découvert un projet sympa sur semageek à l'instant (http://www.semageek.com/codeblocks-arduino-edition-un-ide-puissant-pour-arduino/).

En gros il s'agit d'une version modifié de l'ide code::blocks pour coder sur plateforme arduino.
Il y a tout comme l'ide arduino officiel (librairies, serial monitor, avrdude + toolchain avr-gcc, ...) avec en plus un simulateur pour faire du debuggage sans carte et un interface de programmation avancé (pour ceux qui voudraient ce passer du bootloader arduino).

Il y a aussi un gestionnaire de librairies avec téléchargement / installation / mise à jour en un click, la liste des librairies disponible est pas super longue mais perso j'aime beaucoup le principe.

Bref à découvrir ici :
http://www.arduinodev.com/codeblocks/

Si seulement il existait une version modifié de eclipse suivant le même principe ce serait tiptop parce que bon code::block c'est ... enfin voila quoi c'est code::blocks.

Et Ardublock pour les débutants : http://www.semageek.com/arduino-presentation-et-traduction-en-francais-de-ardublock/

Les deux intéressants, surtout le deuxième xDD je tapperais bien une barre avec ça moi, voir la taille du programme de 500 lignes commenté par ce logiciel XDD

En tout bien tout honneur, il faut bien débuté un jour =)

Skizo !

Je connaissais ce projet j'en avais déjà parlé sur ce forum ainsi que celui de son jumeau sur Eclipse.
http://arduino.cc/forum/index.php/topic,79595.0.html

Je ne les ai pas essayé car malgré tout le bien qu'on peut en attendre ils sont chacun l'oeuvre d'une seule et unique personne.
Il n'y a donc aucune assurance que les projets seront mis à jour plus tard, avec les bibliothèques du futur 1.1 par exemple.
Il n'en serait pas de même s'il s'agissait d'une équipe de développeurs.

De plus je ne suis pas certain qu'on puisse programmer autrement qu'à "la mode arduino". Si mes interrogations sont confirmées c'est un peu frustrant.

Néanmoins ils permettent d'avoir un éditeur performant et un correcteur d'erreur puissant, avantages bien utile pour des débutants.

Pour installer Eclipse sans le plug-in de Jantje il suffit de suivre les indications de :

et celà fonctionne au poil : il faut juste placer le configurateur "-Wl,--gc-sections" dans la partie linker et non pas dans la partie compilateur.
Pour le fichier main.cpp le mieux est de le recopier à partir du répertoire de l'IDE arduino où se trouvent les fichiers h, c et cpp.
Il faut juste déclarer les fonctions
void setup();
et
void loop();
en début de fichier. Après on peut programmer à la mode qu'on veut : classique ou Arduino.

Salut tout le monde

Je voulais savoir si il est nécessaire de télécharger cette version arduino de code::blocks si on a déjà code::blocks. Est ce qu'on peut pas simplement télécherger un "complément" ???

bonjour,
j'utilise "Code::Blocks + Arduino " pour "Uno R3" et "MEGA2560 R3".
Il me donne satisfaction, après une modification de la commande "avrdude" pour "MEGA2560 R3" pour le paramètre "-cwiring" à la place de "-carduino" : ( j'ai dialogué avec l'auteur de l'adaptation (Stanley Huang) qui est d'accord).
Pour l'instant, il est sage d'utiliser la version proposée car elle est complète, à ma connaissance il n'existe pas de complément à une version originale par exemple la dernière stable "C::B 12.11".
Si vous êtes un fin connaisseur de "C::B" vous pouvez envisager de faire une adaptation, mais attention la version de Stanley utilise la "C::B r7789", alors que la dernière version stable de "C::B" est r8629.

bien cordialement

Bonjour

Petit rappel pour les only francophones, il y a un manuel en français pour code block !

http://www.codeblocks.org/docs/manual_fr.pdf

A+
chabot380

Bonjour,

J'ai installer CodeBlocks pour Arduino,mais il ne reconnais pas du tout la syntaxe Arduino??

Pourtant j'ai bien téléchargé : CodeBlocks-Arduino-20140626.7z

\arduino\Tone.cpp|119|warning: only initialized variables can be placed into program memory area|
||=== Build: Arduino Uno in Montage 4 Bp (compiler: GNU AVR GCC Compiler) ===|
Montage 4 Bp.ino||In function 'void setup()':expressionless:
Montage 4 Bp.ino|10|error: 'INPUT' was not declared in this scope|
Montage 4 Bp.ino|10|error: 'pinMode' was not declared in this scope|
Montage 4 Bp.ino|11|error: 'OUTPUT' was not declared in this scope|
Montage 4 Bp.ino|12|error: 'Serial' was not declared in this scope|
Montage 4 Bp.ino||In function 'void loop()':expressionless:
Montage 4 Bp.ino|20|error: 'Serial' was not declared in this scope|
Montage 4 Bp.ino|23|error: 'digitalRead' was not declared in this scope|
Montage 4 Bp.ino|27|error: 'HIGH' was not declared in this scope|
Montage 4 Bp.ino|43|error: 'HIGH' was not declared in this scope|
Montage 4 Bp.ino|43|error: 'digitalWrite' was not declared in this scope|
Montage 4 Bp.ino|45|error: 'LOW' was not declared in this scope|
Montage 4 Bp.ino|45|error: 'digitalWrite' was not declared in this scope|
||=== Build failed: 11 error(s), 2 warning(s) (0 minute(s), 20 second(s)) ===|

Est-ce que ton code compile avec l'IDE d'Arduino ?

Vu les erreurs on pourrait penser qu'il manque les librairies de base ou le chemin vers celles-ci.

J'ai galéré sur codeblock la semaine dernière justement ^^

Ajoute #include <Arduino.h> en en-tête de programme :wink:

Merci super ça marche!!

Allé!!! ça recommence,maintenant il trouve pas la librairie MaxMatrix.h!!
Cette fois ci j'ai bien mis #include <Arduino.h>

Il est ou le gestionnaire de librairies dans C::B arduino? je ne comprends pas,sur le site il parle d'un gestionnaire de librairie ainsi que Skywood.
Je crois qu'il faut Ardulibrary(c'est google qui me l'as dit!),mais quelqu'un c'est comment l’intégré dans C::B?

et là il me dit "fatal error: Arduino.h: No such file or directory" pourtant j'ai bien mis #include <Arduino.h>
Je commence à en avoir marre,ça fait un moment que je ne programme plus, et que je cherche à régler ces putain de logiciel qui ne marche pas!!!!!!

essaye
#include "Arduino.h"

Pourquoi ne veux-tu pas utiliser l'environnement officiel, si cet environnement ne fonctionne pas ?

Faire #include "arduino" ne suffit pas, il faut donner au compilateur le chemin vers ces includes et les libs.

Je viens de tester (installation sous debian depuis ce tuto)

Résultat: blink ne compile pas.

||=== test, Simulator - Release ===|
/usr/include/x86_64-linux-gnu/sys/types.h|197|error: conflicting declaration ‘typedef long int int64_t’|
/home/vohu/.codeblocks/ardusim/arduino/cores/stdint.h|33|note: previous declaration as ‘typedef long long int int64_t’|
/usr/include/unistd.h|267|error: conflicting declaration ‘typedef __intptr_t intptr_t’|
/home/vohu/.codeblocks/ardusim/arduino/cores/stdint.h|66|note: previous declaration as ‘typedef int intptr_t’|
||=== Build finished: 4 errors, 0 warnings ===|
/usr/include/x86_64-linux-gnu/sys/types.h|197|error: conflicting declaration ‘typedef long int int64_t’|
/home/vohu/.codeblocks/ardusim/arduino/cores/stdint.h|33|note: previous declaration as ‘typedef long long int int64_t’|
/usr/include/unistd.h|267|error: conflicting declaration ‘typedef __intptr_t intptr_t’|
/home/vohu/.codeblocks/ardusim/arduino/cores/stdint.h|66|note: previous declaration as ‘typedef int intptr_t’|
||=== Build finished: 8 errors, 0 warnings ===|

En tout cas avec Eclipse cela fonctionne.
Mais il faut noter que lors de la compilation des bibliothèques Arduino le compilateur délivre tout une série de warnings que l'IDE arduino ignore superbement et les développeurs arduino aussi, hélas.
Le Code::blocks installé aurait-il des réglages trop restrictifs ?

Par contre ce qui limite mes ardeurs à utiliser Eclipse c'est que je n'ai toujours pas compris comment réaliser un modèle de projet "Arduino" qui serait pré configuré et qu'il suffirait d'appeler.
Pour le moment il me faut à chaque nouveau projet indiquer tous les chemins vers les bibliothèques arduino, configurer le choix du micro, avrdude, etc.....
C'est pénible ce qui fait que pour des petits trucs je me sers de l'IDE arduino avec un éditeur externe tout de même.

Si quelqu'un sait comment faire et peut l'expliquer, merci d'avance (dans un nouveau sujet ce serait bien).