C'est bien le coté qui blesse avec les bibliothèques qui font tout, même ce dont tu n'as pas besoin.
Elles créent des tonnes de variables dont tu n'as pas forcément besoin, des tonnes de #define machin truc qui peuvent (?) bouffer de la flash ou de la ram (je ne suis pas très clair sur le sujet des #define, donc s'il existe des analyses fiables je suis preneur).
Si tu n'a que des besoins simples tu peux faire l'effort de lire :
- la datasheet du circuit intégré DS3231 et si tu compte te servir de l'eeprom celle de AT24C32 .
- une bibliothèque existante pour t'en inspirer et ne pas réinventer la roue
et faire ta propre bibliothèque avec uniquement ce dont tu as besoin.
Je ne sais pas comment l'IDE Wiring/arduino compile les bibliothèque des tierce parties.
Les siennes il les compile en "bibliothèque statique" --> toute fonction non utilisée est virée par le compilateur et n’occupe pas de place inutile en flash, mais, comme elles ne sont pas placée au même endroit, en est de même pour les bibliothèques utilisateur ?
Comme simplification on pourrait par exemple virer tout ce qui concerne la mise à l'heure : le module ayant une pile de sauvegarde c'est inutile.
S'il faut remettre le module à l'heure une fois par an ce sera bien plus simple à faire à partir d'un tout petit programme qui ne fera que cela.
A titre personnel j'estime qu'avec des micro-contrôleurs qui n'ont pas beaucoup de mémoire les bibliothèques qui font tout sont une erreur, c'est de l' <> à la microsoft pour qui il faut toujours des processeurs plus puissants.
J'ajoute qu'en modifiant et élaguant des bibliothèques monstrueuses (quand c'était possible, j'ai eu des échecs) j'ai appris des points de programmation que j'ignorais --> cela demande des efforts mais après c'est tout bénéfice.