Sous dossier dans un projet Arduino

Bonjour.

Je viens de recevoir ma carte giga r1.
J'adore :heart_eyes:

Apres quelques exécutions de sketch d'essais, j'ai commencé un peu la programmation LVGL qui à l'air très sympa même si la doc est un peu... minimaliste.

J'ai voulu créer une lib, enfin organiser mes fichiers (surtout qu'en LVGL chaque image est un fichier c). En cherchant comment organiser mon code je suis tombé sur de ce post

Un sketch, plusieurs fichiers ?

qui explique qu'il n'est pas possible de créer des sous-dossiers dans un projet arduino, en tout cas avec l'IDE arduino.

Le post étant assez vieux je voulais savoir s'il était toujours d'actualité avec la l'IDE 2.

Ce n'est pas un problème insurmontable, mais s'il y a une solution ce serait quand même un peu plus propre !
C'est d'autant plus dommage qu'il serait assez simple d'avoir un pre-process qui remplace

lib/fichier.c par lib_fichier.c (où n'importe quel autre caractère peu utilisé @, $ ou %) avant de compiler tout cà.

Accessoirement, je me suis demandé ou est-ce que l'IDE stocke les .o avant de les linker...

Merci.

C’est toujours le cas mais rien ne vous empêche de mettre des bibliothèques par exemple dans le répertoire du sketch. L’idée des sous répertoire c’est que généralement ce sont des trucs finalisés que vous voulez utiliser avec votre code.

Sinon il faut regarder d’autres environnements

Hum...
Je voudrai être sur de comprendre votre réponse.

Finalisé ou pas, on ne peut pas mettre un fichier dans un sous dossier et l'inclure, on est bien d'accord ?

J'aime bien l'IDE de l'Arduino, c'est simple et je n'ai surtout pas envie de me remettre aux makefile :smile:
Si je n'ai pas oublié le c, ça fait longtemps que je n'en n'ai pas fait, et vu l'ampleur de mon projet, je ne contenterai d'un dossier unique :smile:

Il y a des limites sur les références entre fichiers car l’IDE recopie le contenu de votre répertoire ailleurs avant de compiler donc les include peuvent merder

Mais si vous faites les test et mettez une de vos bibliothèque simple dans le répertoire de votre sketch (et vous l’enlevez temporairement du répertoire des bibliothèques pour être sûr de celle choisie) et que vous mettiez des "" pour les includes ça devrait passer dans la plupart des cas.

Si vous ne voulez pas avoir de risque sur des trucs réutilisables, le plus simple c’est de mettre cela dans le répertoire des bibliothèques

Regardez par exemple https://github.com/bblanchon/ArduinoJson/tree/6.x/src vous verrez que sous le src il y’a un autre répertoire et la bibliothèque est bien compilée

Après si vous avez une structure complexe l’IDE qui est fait plutôt pour les néophytes n’est pas forcément adapté

J'ai également choisi une carte arduino pour son coût et sa simplicité et devant le problème que tu reportes pour organiser son code j'utilise visual studio code avec l'extension plateformio . Il ne faut que très peu de temps pour le prendre en main, coloration syntaxique, auto complétion etc...

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.