[INFO] Arduino IDE Reduire le code

Bonjour,

j'ai chercher sur internet (peu être mal) mais je n'ai pas trouver. En fait mon code fait 1000 lignes et je commence à ne plus m'y retrouver. N'y aurai-t-il pas un moyen de réduire une partie du code comme pour les programmes basic comme codeblock, notepad etc

Merci d'avance pour vos réponses qui je n'en doute pas me soulagerons largement dans la compréhension de mon code.

Bonjour, Tu peux mettre une partie de ton code dans des fichiers externes et les inclure dans dans programme principale par des #include "fichierExterne.h" par exemple. @+ [edit] Exemple :

/*
Fait rien
*/
#include "fic.ext.h"
void setup(void){

  faitRien();

}
void loop(void){
}

et les fichiers externes : ficExt.h

#ifndef FIC_EXT_H
#define FIC_EXT_H

  void faitRien(void);

#endif

ficExt.cpp

#include "ficExt.h"
void faitRien(void){

// ton code

}

Oui j'ai essayer mais j'ai pas réussi du premier coup et je n'ai pas souhaiter me pencher dessus car je suis limité par le temps.

Merci

C'est à toi de définir tes priorités... si c'est le temps, continue avec tes 1000 lignes, si c'est la lisibilité de ton code, applique le principe que t'a donné icare.

Ou utilise un autre IDE, comme Visual Studio avec le plugin Visual Micro.

Connaissant la popularité d'arduino et de l'IDE j'avais pensé qu'il y aurai un moyen de faire cette manœuvre. Peu être que les développeurs devrai penser à ajouter cette fonction pour plus de lisibilité

Tu peux toujours utiliser un éditeur externe qui possède une fonction de repliement de code. A ce moment là dans les préférences de l'IDE tu coches "utiliser un editeur externe".

Mais normalement la procédure exposée par Icare ne devrait poser aucun problème. Pour autant que tu exportes le code ET les données associées (ou que tu déclares les variables extern). Le plus simple étant de découper le code par blocs fonctionnels.

Peu être que les développeurs devrai penser à ajouter cette fonction pour plus de lisibilité

L'éditeur vient de très loin (processing) et n'est pas développé par Arduino.

Pour remédier aux défauts de l'éditeur la meilleure méthode est celle préconisée par fdufnews. Tu peut aussi travailler en multi-fichiers comme Icare l'a proposé

Je te propose une autre façon de travailler en multi-fichier sans include.

Méthode 1 --> on reste dans la philosophie arduino. Un projet avec l'EDI Arduino c'est au minimum : - un répertoire - dans ce répertoire un fichier avec l'extension .ino Le répertoire et ce fichier doivent avoir le même nom

Ca c'est au minimum. Dans le répertoire on peut ajouter, avec l'EDI ou à la main, autant de fichiers ino que l'on veux. Ce qu'il faut bien comprendre c'est que ces fichiers seront ajoutés à la fin du fichier ino principal pour n'en constituer qu'un seul. Cet unique fichier sera compilé en une seule fois. L'ordre d'ajout sera l'ordre alphabétique. Il y a des cas où cela peut poser des problèmes aussi il faut ruser : personnellement quand j'utilise cette méthode je force l'ordre en choisissant bien les noms de fichiers. Exemple projet bidule Le répertoire se nomme bidule Le fichier ino principal se nomme bidule.ino Pour alléger le fichier principal je veux sortir des instructions du loop() que je place dans machin.ino et truc.ino Si je ne fais ainsi machin.ino sera ajouté avant truc.ino et si c'est l'inverse qu'il me faut ? Il suffit de changer les noms en A_truc.ino B_machin.ino

Méthode 2 --> méthode générale Il est possible d'ajouter dans le répertoire des fichiers cpp avec leurs fichier h. Les dernières versions de l'EDI n'acceptent plus l'extension c ( ou je n'ai pas réussi a la réutiliser :relaxed: ). Attention les règles du C/Cpp s'appliquent : préprocesseurs et règle de déclaration des variables globales. Chaque fichier sera compilé séparément, et seulement en cas de modifications. C'est l'éditeur de lien qui fera l'assemblage final.