Problemi librerie arduino

Incontro sempre più spesso problemi con librerie quando queste si aggiornano.
Secondo me ci sono anche spesso librerie simili aventi vari nomi che causano conflitti in fase di compilazione.
Adesso con l'ultima versione dell'ambiente ESP32 mi sono venuti fuori un sacco di problemi sempre in fase di compilazione che prima con la versione precedente non riscontravo.
Riscontrate anche voi questi problemi ?
Come si possono risolvere ?

Purtroppo questo è lo scotto da pagare usando software Open-Source ... spesso le librerie vengono scritte per risolvere esigenze personali e poi rese gratuitamente di pubblico dominio ... ma ... nessuno garantisce che vengano manutenute ed aggiornate (sta alla buona volontà dell'autore, cosa che spesso fa solo se ne ha ancora bisogno).

Come ripeto sempre, se volte librerie sempre aggiornate, ben documentate e dove tutto funziona al 99% ... dovete andare su ambienti di sviluppo a pagamento (alcuni anche estremamente costosi), se invece voltete divertirvi con il software Open-Source ... purtroppo dovete rimboccarvi le maniche, studiare ed, a volte, imparare anche a modificare le librerie per aggiornarle alle ultime versioni degli ambienti di sviluppo e del "core" Arduino delle varie MCU. :roll_eyes:

Guglielmo

Sarebbe forse corretto mettere una numerazione nella libreria da includere in un progetto in maniera tale che se lo vuoi poter usare devi usare quella specifica versione.
Oppure come accade in altri ambienti di sviluppo come dicevi includerla direttamente ne progetto in maniera che venga compilata quella residente nel progetto stesso e non quella inclusa nella cartella librerie di Arduino

Quale versione? Se è la 3.x ti conviene leggere questo, perchè ci sono stati dei cambiamenti nel core di ESP32, e questo ci sta che comporti problemi anche per le librerie. Comunque, in linea di massima, l'aggiornamento di un core, specie con un passaggio importante di versione (da 2 a 3) va sempre ponderato, se non ne hai una reale necessità immediata (tipo supporto di nuovo hardware o simili) conviene non aggiornare immediatamente, specialmodo quando tutto funziona.

Ciao, Ale.

Hai perfettamente ragione.
Gli aggiornamenti vanno fatti con molta cautela, perche poi spesso i risultati sono molto imprevedibili

Allora ... questa è già la seconda discussione in pochi giorni sullo stesso argomento ...

... l'ambiente Arduino è fatto così come è ... se vi sta bene bene, altrimenti, essendo un progetto Open-Source, potete sempre andare su GitHub e aprire delle issues e ... magari, potete proporre anche delle soluzioni :wink:

Guglielmo

Non penso che sia motivo di prendersela ....
Era solo una discussione
Lecito è chiedere, cortese è rispondere

E chi se l'è presa ??? :wink:

E' solo che uno vi spiega quale è la situazione, e voi insistete su dire che sarebbe meglio se fosse in altro modo, ecc. ecc. ... tutte cose interessanti ma che noi qui ... non possiamo né coreggere né modificare.

Come detto ... tutto è su GitHub ... si va li, si segnalano le problematiche e, magari, si propone la solutione, però ... come sempre ho detto, il 95% delle librerie è scritto da gente che doveva a suo tempo risolvere un problema e che non è detto abbia il tempo e/o la voglia di metterci le mani per apportare le modifiche necessarie ... :roll_eyes:

La soluzione è fare un bel fork della libreria che si vuole utilizzare, correggerla e ... renderla pubblica corretta ... così si fa una cortesia a tutti gli utenti. :slight_smile:

Guglielmo

Di quale versione si sta parlando esattamente?
Perché se hai installato la alpha della versione 3.0.0 è normale perché sono cambiate tantissime API a causa del passaggio a ESP-IDF v5.1

Il consiglio, come già detto da @ilguargua, è di rimanere sull'ultima release "stable" ovvero la 2.0.14 e lasciare agli sviluppatori del core il tempo di sistemare la release 3 ed agli sviluppatori di librerie di adeguarne il supporto (io sulle mie ad esempio lo sto già facendo).

Peccato solo che Espressif abbia frettolosamente aggiornato la documentazione all'ultima versione, per usare un banale timer ho dovuto fare acrobazie tra gli esempi e l'SDK per capire come funzioni nella versione stable... :confused:

Ciao, Ale.

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