En 2015/2016, dans le monde balbutiant des utilitaires de communication avec fx-9860G et compatibles Linux, on trouvait un
xfer9860 vieillissant et pas très fonctionnel, et un
UsbConnector qui ne supportait pas assez de features. Alors en août 2016, j'ai fini par faire
p7, une implémentation des interactions avec la mémoire de stockage avec le protocole 7.00 tel que
documenté par Simon Lothar.
Tel que le veut la tradition capitaliste, maintenant que j'avais quelque chose qui fonctionnait et était apprécié de la communauté, il s'agissait de grandir. Les autres commandes du protocole 7.00 requièrent une connaissance beaucoup plus approfondie de la mémoire principale et de formats bien plus diversifiés, alors il est temps de s'enfoncer dedans et de gérer ces formats ; c'est ainsi qu'en novembre 2016, je sors la
libg1m. Mais voilà, ces formats requièrent un encodage de caractères qu'il faut gérer également, alors hop, le même mois, la
référence FONTCHARACTER est annoncée.
En 2018/2019, alors que je reprends mes études, je me rends compte que tout ça fait beaucoup de projets à interconnecter, documenter et faire marcher ensembles ; alors j'entreprends d'en faire un projet commun, nommé "libcasio", où j'en profite pour aller au bout de mon refactoring en séparant les différentes couches, introduisant beaucoup de complexité mais beaucoup de flexibilité au niveau du design, introduisant des concepts assez intéressants mais qui sortent du cadre simple de la communication avec des calculatrices CASIO, au point même que j'en extraierai l'I/O dans une bibliothèque nommée "libtio" (pour "Touhey I/O").
La libcasio a de belles réussites, notamment avec l'ajout d'un utilitaire nommé "p7os" qui permet, enfin, de flasher une calculatrice depuis Linux, faisant au passage deux victimes collatérales sous la forme de deux Graph 35+USB, celle que j'avais au lycée et celle d'
Eltoredo qui en a fait don pour la science (merci à lui !). C'est
Lailouezzz qui réussira le premier flash avec p7os ; une commande était incorrecte, et il fallait en réalité en employer un autre. La barre était franchie, fxRemote ou même Windows n'est plus nécessaire pour flasher une calculatrice !
Seulement voilà, la libcasio était très complexe à maintenir, avec beaucoup de couches différentes, et j'étais seul à m'en occuper. Courant 2019, ma motivation s'effrite et je finis par m'intéresser à d'autres sujets, d'autres projets, et à délaisser les calculatrices CASIO.
Pendant quatre ans, nous avions donc une libp7 et des p7utils plus maintenus, une libcasio qui n'est jamais sorti, une myriade de petits projets plus maintenus non plus et dont le potentiel d'interconnexion avec les autres projets n'a jamais été exploité. Avec de plus, des utilitaires de moins en moins utiles dans la vie de tous les jours, puisque les fx-CG / Prizm / Graph 90+E ont un mode "clé USB" qui rend accessible leur contenu de façon standard.
Alors mi-février 2024, je me suis motivé et j'ai recommencé un projet similaire à la libcasio, mais avec les expériences que j'ai eues entretemps (beaucoup de documentation, un recours à la simplicité bien plus présent, et plus d'expérience en général), et un scope plus limité dans un premier temps : avoir les mêmes features que la dernière release de la libp7 et des p7utils, mais sous une forme plus maintenable et, surtout, documentée cette fois. Cet objectif a été atteint avec la release 0.1 de Cahute, qui a lancé ce topic !
Citer : Posté le 15/07/2024 19:38 | #
Cahute/P7 est officiellement une des raisons de passer à Linux pour le développement sur calculatrice ! Merci @Calcloverhk
3. FA-124 is slow and inflexible
The transfer speed of FA-124 is slow especially for a project with large codebase like C.Basic. For transferring C.Basic FX 2.47-β2 (516484 bytes), FA-124 takes 70 seconds to complete, whereas its Linux-based alternative, Cahute/P7, only needs 22 seconds.
-- C.Basic #16 -- Transition to fxSDK/gint
Promotion ordinaire sur les inscriptions sur
Mon blog ⋅ Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Citer : Posté le 26/07/2024 01:08 | #
Une version "preview" de la documentation est maintenant disponible :
https://next.cahuteproject.org/
J'ai fini un bulk de travail sur la portabilité de Cahute ce soir, avec notamment un build sous Visual Studio 2022 qui fonctionne à présent. Les détails sur comment construire Cahute avec Visual Studio 2022 sont ici :
https://next.cahuteproject.org/guides/build.html#win-windows-xp-and-above-using-visual-studio
J'ai également corrigé #18, qui faisait que sous Windows, Cahute pouvait communiquer avec une fx-CG en ScreenRecv(XP) et Projector, mais pas ScreenRecv. Cependant en testant avec Screen Receiver, j'ai pu constater un vrai problème de performances dans les interactions avec la calculatrice dans ce mode, j'ai donc créé #30 pour suivre ça.
À noter que tous ces efforts n'adressent pas encore les problèmes abordés dans #10, qui parle de packaging sous Windows. Ce sujet est encore en attente d'une personne qui souhaiterait s'y intéresser.
Et en petit bonus, j'avais parlé de Cahute ici, sur TI-Planet, sur Casiopeia et l'UCF, mais pas Cemetech ; c'est chose faite avec ce topic.
Promotion ordinaire sur les inscriptions sur
Mon blog ⋅ Besoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?