Io suggerisco di calcolare a mano i dati fissi. Quelli li sai tranquillamente.
E' una rottura ma ci arrivi. "CtrlCod=" sono 8 caratteri.
Il problema a questo punto sono le parti variabili. Rinfrescami la memoria. Quante variabili e di che tipo sono.
da a0 a a5 e da d0 a d9 ? intere?
poi ?
Teoricamente ogni variabile non è difficile sapere quanto sarà lunga. se a0 contiene 123 si può sapere quanto è lunga o con delle divisioni oppure convertendola in testo. Per questo converrebbe una piccola funzione.
byte LunIntero(int p_Val)
{ char tmp[6]=itoa(p_val);
return(strlen(tmp));
}
...
lunghezza=LunIntero(a0);
Per la ArduIP è semplice, strlen(ArduIP)-> numero caratteri
Un'altra prova, non è che per caso se il contextlengh è un pò più grande gli piace lo stesso. Spedisci 80 char, gli metti 100, magari accetta comunque ? E' pur sempre un tentativo