Bonjour,
Plus j'avance avec Arduino plus je me rend compte qu'il ne faut pas hésiter à "casser" les librairies pour les adapter à son projet.
Exemple ici https://www.developpez.net/forums/d2...-client-write/
L'embarqué, surtout sur petites cartes, n'a rien à voir avec la programmation sur PC
Sur PC, on a des librairies (DLL, API, ...) :
- dont on n'a pas accès au code, ce sont des "boites noires"
- qui sont partagées par plusieurs logiciels qui s'exécutent sur l'ordinateur
=> il faut donc "faire avec" les librairies
Sur Arduino c'est totalement l'inverse :
- on a accès au code des librairies, on peut les modifier
- l'Arduino n'est pas un ordinateur multitâches, il va seulement exécuter un seul projet .ino ; même si des librairies sont utilisées par plusieurs projets, elles ne le sont jamais en même temps par la même carte
Donc ce n'est pas grave d'avoir des librairies "incompatibles" d'un projet à l'autre, les projets ne s’exécutant jamais ensemble.
Ca revient d'ailleurs aux début de la programmation sur microcontrôleur en assembleur, où les outils ne permettaient pas de faire des #include, il fallait alors user du copier coller pour réutiliser des fonctions.
Modifier les librairies est intéressant mais demande du travail...
Les librairies sont fortement "intriquées" avec de nombreux fichiers qui font appel les uns aux autres, et quand on veut créer une version dérivée, pour ne pas avoir de confusion de dépendances, on a d'abord un travail fastidieux de recherche des fichiers utilisés, puis de copie et de renommage des fichiers, puis de renommage des classes, des #include et des déclarations de fonctions à faire, pour avoir une base de travail avant de pouvoir modifier quoi que ce soit.
=> Je me demande s'il n'est pas possible "d'automatiser" ce processus pour avoir, dans chaque projet Arduino, une copie "locale" de toutes les bibliothèques utilisées.
Le compilateur n'utiliserait uniquement que du code venant du dossier du projet.
Libre à moi ensuite de modifier ce que je souhaite.
A bientôt
Partager