Bug: impossible d'envoyer une TIB avec Tilp + tiemu sous PedroM.
PedroM rend une 'tête de mort' pour dire qu'il n'accepte pas ce qu'on lui envoit.
L'erreur vient que TILP envoit un paquet RTS de longeur 7 pour le basecode, alors qu'il devrait envoyer un paquet de longueur 6 (Voir protocole du link).
Bug fix dans libticalc:
--- cmd89.c~ 2009-05-29 23:51:50.000000000 +0200
+++ cmd89.c 2009-08-08 11:24:08.000000000 +0200
@@ -227,16 +227,17 @@
uint8_t buffer[32] = { 0 };
uint16_t len;
+ len = strlen(varname);
buffer[0] = LSB(LSW(varsize));
buffer[1] = MSB(LSW(varsize));
buffer[2] = LSB(MSW(varsize));
buffer[3] = MSB(MSW(varsize));
buffer[4] = vartype;
- buffer[5] = strlen(varname);
- memcpy(buffer + 6, varname, strlen(varname));
- buffer[6 + strlen(varname)] = 0x00;
-
- len = 6 + strlen(varname) + 1;
+ buffer[5] = len;
+ memcpy(buffer + 6, varname, len);
+ buffer[6 + len] = 0x00;
+ // If len=0, we don't have to include the last 0 char in the paquet length.
+ len = 6 + len + (len != 0);
// used by AMS <= 2.09 ?
//if ((vartype == TI89_AMS) || (vartype == TI89_APPL)) len--;
Sinon je me suis rendu compte que je me suis complétement trompé pour la réception de TIB pour V200 et titanium pour PedroM ==> A corriger ==>
corrigé.