Dubbio libreria Wire (I2c)

Buongiorno ragazzi, ho la necessità che il master mi manda circa 100 parametri per ogni ciclo, ho notato che i primi 32 parametri me li manda in modo corretto e dal 33esimo ricevo "-1".
Aprendo il file "Wire.h" ho notato questa riga:

#define BUFFER_LENGTH 32

La mia domanda è la seguente: cosa può succedere se invece di 32 gli metto il valore 100 ? Può causare dei blocchi ?

Ho provato a mettergli 100 ma non funziona lo stesso…

Hai cambiato il valore anche in "twi.h" (sotto Wire\utility)?

In ogni caso non ti basta dividere le trasmissioni in 2 o più blocchi invece che in uno solo?

Diciamo di no, mi conviene mandare il tutto in una sola richiesta. Ho provato a mettere 100 anche al file che mi hai detto, ma non ricevo nulla neanche i 32 parametri.

Strano. Ma sei sicuro di non avere i file *.h in più punti, ossia quando compili sei sicuro che stia caricando la libreria proprio dalla directory dove li hai modificati? Verifica bene.

Lo so che mandare tutto in unica richiesta è sicuramente più immediato, vediamo se riesci ad ampliare il buffer (ricorda che quel valore è usato in 5 buffer nella Wire quindi l'occupazione in RAM è BUFFER_LENGTH*5...) ma quantomeno come soluzione "finale" prendi in considerazione di mandare ad esempi 3 pacchetti, nei quali, per sicurezza, potresti mandare come primo carattere il numero di pacchetto.
Ad esempio per pacchetti di soli 5 caratteri (per semplicità, ovviamente tu avrai come limite 32 o meno), invece di mandare una sola trasmissione con:

ABCDEFGHIJKL

ne manderai 3:
1ABCD
2EFGH
3IJKL

EDIT: vedi ad esempio QUESTO thread dove parlano proprio di questo problema!
E in QUESTO parlano anche di come verificare quale libreria tu stia compilando...

Ciao, per il momento sto lavorando in questo modo, dove i primi 2 byte raggruppano il gruppo dei parametri.

Wire.beginTransmission(80);
    Wire.write(4);
    Wire.write(4);
    Wire.write(Prova 1");
    Wire.endTransmission();

Wire.beginTransmission(80);
    Wire.write(5);
    Wire.write(5);
    Wire.write(Prova 2");
 Wire.endTransmission();