Analyse des paires Tier 1 fournies par l'utilisateur (jba_*):
CONFIRME:
- Positions articulaires: 6 valeurs J1-J6 en RADIANS (float32 BE)
- Positions cartesiennes: X/Y/Z en mm, W/P/R en degres (float32 BE)
- Schema des octets de controle: [8 octets][1 controle] repete
- Decodage valide sur les 6 fichiers (joint + cartesien)
Nouvel outil tools/tp_positions.py:
- Extrait les positions (joint -> degres, cartesien -> mm/deg)
- Gere le retrait des octets de controle
Documentation mise a jour (docs/TP_FORMAT_NOTES.md) avec:
- Structure header complete
- Encodage des positions (radians vs degres)
- Schema des octets de controle
- Prochaines etapes (opcodes instructions, table Huffman)
Decouvertes confirmees sur les 6 fichiers binaires:
- Magic signature: FE EF 00 01 (format TP Fanuc V9.x)
- Header fixe 13 octets: magic + version + champ taille + separateurs
- Encodage du nom: [4 chars][controle][8 chars][controle][8 chars]...
avec octets de controle >= 0x80 aux positions 4, 13, 22...
terminaison par 0xDC
- Champ 0x06-0x07 = probablement la taille decompressee
Nouvel outil tools/tp_parse.py:
- Decode le nom du programme (valide sur les 6 fichiers)
- Parse le header complet (magic, version, taille, owner)
- Extraction des chaines lisibles
Documentation mise a jour dans docs/TP_FORMAT_NOTES.md
Fixtures collectees sur GitHub:
- 2 paires LS/TP completes (Backdate/TP-Tools)
- 4 TP binaires de mouvement reel (wenglor/robot-vision-fanuc)
- 5 LS de test avec mouvements (MaxwellM34/Fanuc_Lab)
Analyse du format (docs/TP_FORMAT_NOTES.md):
- Magic signature identifiee: FE EF 00 01 (commune aux 6 fichiers)
- Header: magic + version + champ taille + separateurs + nom encode
- Le nom et les chaines sont encodes avec octets de controle
(FF, E7, DC, CF...) = compression Huffman probable
- Les arguments CALL et commentaires restent lisibles en ASCII