Vecchio? Non so quanti anni tu abbia ma io sono nato nel 1959, fatti due conti... ![]()
Non ne vale la pena fidati, soprattutto se si fa il rapporto costi/benefici (ossia rapporta lo sforzo necessario con il risultato da ottenere). Se vuoi fare una versione diversa della libreria ovviamente potrebbe essere una cosa buona, ma significherebbe doversi prima studiare come funziona internamente la libreria, e poi essere in grado di modificarla e pubblicarne una versione modificata. Non è necessario, e non so se anche io avrei voglia e tempo per farlo (anche io lo faccio per hobby, anche se qualche progetto l'ho anche creato per risolvere un problema al lavoro...).
Dammi retta, non è molto difficile fare invece quello che ti suggerisco (anche perché la funzione per il calcolo della parità te l'ho fatta). Magari se postassi il tuo codice potrei dirti di più, ma parlando per ora solo della ricezione, in pratica dove tu ora faresti "byte b = mySerial.read();" dovresti cambiarlo in "byte b = read7e1();" e iniziare ad implementare la funzione "read7e1()" nella quale prima leggi il byte sempre con "byte b = mySerial.read();" ma poi devi eliminare la parità (diciamo in prima battuta che la ignori, per sempolicità ) usando l'operatore AND (&) e restituendo quindi il risultato.
...
if (mySerial.available()) {
byte b = read7e1();
// ... poi ci fai quello che ti serve
}
...
byte read7e1() {
byte b = mySerial.read();
// Per ora ignora il bit di parità e restituisce il dato a 7 bit
return (b & 0x7F);
}
Capisci? Insomma, posta il tuo codice e ti dico dove modificare e vedrai che dovresti farcela (imparando anche qualcosa in più, come dicevo, utile anche se è un hobby ma programmare apre la mente ;-)).