Lettura e Scrittura su Eeprom 1-Wire

Buongiorno a tutti,
scrivo perchè sono in piena difficoltà a gestire una eeprom 1-Wire DS24B33S.

Ho realizzato per test un sistema con Arduino Nano al quale è collegato un DS18B20 (NON in parasite power) e vorrei sfruttare lo stesso bus anche per gestire suddetta memoria.
Scopo finale del progetto è quello di trasferire, una volta ottimizzato il tutto, su un ESP8266 che non possiede eeprom fisica.

Dovrei salvare in eeprom alcuni settaggi e poterli richiamare/aggiornare al riavvio o dopo modifiche in locale da touch.
In tutto le variabili da gestire sono al momento 33, ciascuna delle quali può assumere un valore compreso tra 0 e 9.

Come posso fare per gestire la scrittura, la lettura e l'aggiornamento dei parametri in eeprom (un pò come la libreria EEPROM.h di Arduino)?

DS24B33.PDF (448 KB)

Perché non usare l'emulazione EEPROM su flash che c'è nel core ESP? Non ti semplifica la vita?

Ho letto che il numero di scritture possibili sono nettamente inferiori rispetto ad una eeprom, ma non trovato alcun riferimento al numero...

Se il tutto è dell'ordine di qualche migliaio direi che potrebbe essere la strada più comoda... anche se poi devo capire come gestirla...

Sì, ma si parla comunque (almeno) di qualche decina di migliaia di scritture per cella. Poi contando che ne puoi avere anche 15 MB...

Funziona come la EEPROM di Arduino Uno, con l'unica accortezza di fare EEPROM.commit() quando hai terminato il giro di scritture.

Invece di EEPROM.commit() ho visto negli esempi che si può usare EEPROM.end().

Che differenza c'è tra i due comandi?

Non saprei, io ho sempre visto e usato .commit(). Immagino che dopo .end() dovrai di nuovo fare .begin()...

Grazie, gentilissimo.
Vado a studiarmi un pò la libreria e cerco di capire la differenza tra .commit() e .end().