CarLog a2.9.1 — Ce qui est perdu se dit
Audit complet : quatre chemins du code d'écriture pouvaient perdre des données sans rien signaler. Corrigés, vérifiés sur route.
Ce que la mise à jour apporte
Une version de correction, sans fonctionnalité nouvelle et sans changement de format. Toute donnée perdue est désormais comptée, affichée à l'écran et inscrite dans le journal, et le journal lui-même ne peut plus être effacé par accident.
Pourquoi je le fais
L'audit du 20/09 a montré que l'acquisition était saine : sept capteurs sur sept à leur cadence, 506 ms d'intervalle médian sur 48 trajets. Mais quatre chemins du code d'écriture pouvaient perdre ou désynchroniser des données déjà acquises sans qu'aucun signal ne remonte. Exemple le plus grave : un journal illisible était remplacé par un journal vide, et tout l'historique des pleins, des trajets et des calibrations disparaissait en une fois, sans un message. Un datalogger qui perd des données en silence fait le contraire de son travail.
Comment je m'y suis pris
- Un journal illisible est mis de côté sous un autre nom, une alerte le signale, et toute réécriture est bloquée.
- Le journal s'écrit d'abord dans un fichier temporaire, qui ne remplace l'original qu'une fois complet.
- Les lignes perdues pendant un trajet sont comptées, affichées en rouge au tableau de bord, nommées à la clôture et inscrites dans le journal.
- La correction rétroactive du taux d'éthanol est réordonnée : les fichiers d'abord, le journal seulement si tous ont abouti. Relancée après un échec, elle donne le même résultat.
- 368 tests automatisés, et un protocole manuel en six manipulations pour ce qui ne se teste pas automatiquement. En le rédigeant, un dernier défaut est apparu : écrire comment on va prouver qu'une chose marche est un bon moyen de voir qu'elle ne marche pas tout à fait.
Résultat attendu et obtenu
Plus aucune perte silencieuse, sans régression de cadence.
Roulée le 21/09 : 2 trajets, 4 331 lignes, cadence de 507 à 510 ms en médiane. Le nombre de lignes déclarées écrites correspond exactement au fichier (2 072 et 2 259). Un journal illisible est mis de côté et jamais écrasé, et chaque refus d'écriture est signalé.