Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Cahute, pour communiquer efficacement avec sa calculatrice CASIO sous Linux
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Cahute, pour communiquer efficacement avec sa calculatrice CASIO sous Linux

Posté le 04/03/2024 14:26

Vous êtes utilisateur.ice de Windows, et vous utilisez Cahute, ou êtes intéressé(e) par son utilisation ? Vous êtes invité(e) à réagir ici vis-à-vis du support de Windows par Cahute

Vous êtes utilisateur.ice de Debian ou dérivé, et vous utilisez Cahute, ou êtes intéressé(e) par son utilisation ? Vous êtes invité(e) à réagir ici vis-à-vis du packaging de Cahute pour votre distribution

Cahute est mon dernier projet dans une lignée de projets qui avaient vocation à réimplémenter les protocoles et formats de fichiers autour des calculatrices CASIO, qu'ils soient officiels ou communautaires.

Un petit historique
Cliquez pour recouvrir
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 !


Il est constitué d'une bibliothèque statique et d'un ensemble d'utilitaires en ligne de commandes, ainsi que d'une documentation en ligne. Les fonctionnalités actuellement présentes dans le logiciel sont :

  • Transferts de fichiers dans les deux sens pour fx-9860G / Graph monochromes, en USB et en série.
  • Partage d'écran depuis fx-9860G / Graph monochrome et fx-CG / Prizm / Graph 90+E, en USB.

Le projet est sous CeCILL 2.1, et j'en suis le seul propriétaire et mainteneur pour le moment.

Les liens pour ce projet sont :


Pas de roadmap définie pour le moment. J'ai les mêmes pistes qu'à l'époque, mais l'une des premières choses à reprendre est sans doute la gestion des encodages de caractère de CASIO, puisque c'est eux qui sont utilisés dans les formats de fichiers et les protocoles. Ensuite, il faut que je trouve par quel bout prendre la gestion de la mémoire principale.

En espérant que ça vous plaise !


Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 03/04/2024 15:25 | #


Ouais, erreur de ma part qui a été fixed peu après la release :
https://gitlab.com/cahuteproject/cahute/-/commit/157f710ccd99ac6eb2595dec136f0b4a93a8bcbb

Ce sera fixed upstream pour la release 0.3, j'ai pas spécialement demandé aux packagers de faire un patch en attendant parce que c'est pas forcément nécessaire mais tu peux demander ça aux packagers Arch au besoin

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Lephenixnoir Hors ligne Administrateur Points: 24348 Défis: 170 Message

Citer : Posté le 03/04/2024 15:26 | #


Ok, merci !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Tuper4 Hors ligne Membre Points: 850 Défis: 19 Message

Citer : Posté le 03/04/2024 15:34 | #


Eragon a écrit :
Certes… il y a zéro utilisateur windows, mais on peut imaginer une gui cross-platform pour cahute
non, il y a moi mais ne compte pas sur moi pour les tests par contre...
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Lephenixnoir Hors ligne Administrateur Points: 24348 Défis: 170 Message

Citer : Posté le 03/04/2024 15:54 | #


Je refais des tests avec la 35+E II pour le déblocage de Fugue. Je voulais utiliser la fonction upload and run. Il n'y a plus de commande pour lancer un programme personnalisé dans p7os ? L'option -u ne semble pas faire ce que j'imagine, vu que dans la fonction interne y'a "fxremote method" et la suppression est obligatoire.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 03/04/2024 15:56 | #


Pour uploader un programme custom tu fais p7os prepare-only -u <path>. Le nommage est bizarre mais j'ai voulu reprendre le même qu'à l'époque

Attention, la doc est un peu flaky là-dessus, mais ça upload & run à l'adresse 0x88024000, et pas à 0x88030000. En attendant que j'ajoute une option pour changer ça...

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Lephenixnoir Hors ligne Administrateur Points: 24348 Défis: 170 Message

Citer : Posté le 03/04/2024 15:58 | #


Aah oui c'est vrai, j'avais oublié ça. Merci pour la précision.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 04/04/2024 00:02 | #


Je suis en train de poursuivre mon effort de réimplémentation de l'utilitaire historique CaS, avec support des modes correspondants dans le Protocole 7.00. Dans ce cadre, je commence à supporter l'option TRANSMIT du menu LINK !

$ ./CaS -icom,baud=9600,stop=2 /dev/ttyUSB0 -t -d
[2024-04-04 00:00:21    cahute info] determine_protocol_as_receiver: Waiting for input to determine the protocol.
[2024-04-04 00:00:23    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 1165ms).
[2024-04-04 00:00:23    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 96ms).
[2024-04-04 00:00:23    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 112ms).
[2024-04-04 00:00:23    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 96ms).
[2024-04-04 00:00:23    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 96ms).
[2024-04-04 00:00:23    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 96ms).
[2024-04-04 00:00:23    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 112ms).
[2024-04-04 00:00:23    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 96ms).
[2024-04-04 00:00:23    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 96ms).
[2024-04-04 00:00:23    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 96ms).
[2024-04-04 00:00:24    cahute info] read_from_link: Read 6 bytes in 0ms (after waiting 112ms).
[2024-04-04 00:00:24    cahute info] initialize_link_protocol: Using Protocol 7.00 (serial).
[2024-04-04 00:00:24    cahute info] initialize_link_protocol: Playing the role of receiver / passive side.
[2024-04-04 00:00:24    cahute info] read_from_link: Read 16 bytes in 32ms.
[2024-04-04 00:00:24    cahute info] read_from_link: Read 35 bytes in 48ms.
[2024-04-04 00:00:24    cahute info] seven_receive: Received packet data is the following:
[2024-04-04 00:00:24    cahute info] seven_receive: 00000000  0130 3231 3030 3233  .0210023
[2024-04-04 00:00:24    cahute info] seven_receive: 00000008  3030 3030 3030 3030  00000000
[2024-04-04 00:00:24    cahute info] seven_receive: 00000010  3030 3030 3036 3034  00000604
[2024-04-04 00:00:24    cahute info] seven_receive: 00000018  3031 3030 3030 3030  01000000
[2024-04-04 00:00:24    cahute info] seven_receive: 00000020  3131 3532 3030 4556  115200EV
[2024-04-04 00:00:24    cahute info] seven_receive: 00000028  454E 3139 35         EN195
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: Sending the following packet to the device:
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000000  0630 3030 3730       .00070
[2024-04-04 00:00:24    cahute info] seven_receive_data: New serial settings have been set!
[2024-04-04 00:00:24    cahute info] read_from_link: Read 6 bytes in 0ms (after waiting 29ms).
[2024-04-04 00:00:24    cahute info] seven_receive: Received packet data is the following:
[2024-04-04 00:00:24    cahute info] seven_receive: 00000000  0530 3130 3646       .0106F
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: Sending the following packet to the device:
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000000  0630 3030 3730       .00070
[2024-04-04 00:00:24    cahute info] read_from_link: Read 6 bytes in 16ms.
[2024-04-04 00:00:24    cahute info] seven_receive: Received packet data is the following:
[2024-04-04 00:00:24    cahute info] seven_receive: 00000000  0130 3930 3637       .09067
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: Sending the following packet to the device:
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000000  0630 3030 3730       .00070
[2024-04-04 00:00:24    cahute info] read_from_link: Read 6 bytes in 0ms (after waiting 32ms).
[2024-04-04 00:00:24    cahute info] seven_receive: Received packet data is the following:
[2024-04-04 00:00:24    cahute info] seven_receive: 00000000  0130 3130 3646       .0106F
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: Sending the following packet to the device:
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000000  0630 3231 3030 4134  .02100A4
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000008  4779 3336 3330 3046  Gy36300F
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000010  5245 4E45 5341 5320  RENESAS
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000018  5348 3733 3535 3031  SH735501
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000020  3030 3030 3030 3030  00000000
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000028  3030 3030 3430 3936  00004096
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000030  3030 3030 3035 3132  00000512
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000038  FFFF FFFF FFFF FFFF  ........
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000040  FFFF FFFF FFFF FFFF  ........
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000048  FFFF FFFF FFFF FFFF  ........
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000050  FFFF FFFF FFFF FFFF  ........
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000058  FFFF FFFF FFFF FFFF  ........
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000060  FFFF FFFF FFFF FFFF  ........
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000068  3032 2E30 392E 3232  02.09.22
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000070  3031 FFFF FFFF FFFF  01......
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000078  3030 3031 3030 3030  00010000
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000080  3030 3030 3234 3332  00002432
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000088  372E 3030 4141 4141  7.00AAAA
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000090  4141 4141 FFFF FFFF  AAAA....
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000098  FFFF FFFF FFFF FFFF  ........
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 000000A0  FFFF FFFF FFFF FFFF  ........
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 000000A8  FFFF FFFF 3833       ....83
[2024-04-04 00:00:24    cahute info] read_from_link: Read 13 bytes in 0ms (after waiting 48ms).
[2024-04-04 00:00:24    cahute info] read_from_link: Read 45 bytes in 16ms.
[2024-04-04 00:00:24    cahute info] seven_receive: Received packet data is the following:
[2024-04-04 00:00:24    cahute info] seven_receive: 00000000  0132 3531 3030 3244  .251002D
[2024-04-04 00:00:24    cahute info] seven_receive: 00000008  3030 3031 3030 3030  00010000
[2024-04-04 00:00:24    cahute info] seven_receive: 00000010  3030 3143 3036 3037  001C0607
[2024-04-04 00:00:24    cahute info] seven_receive: 00000018  3037 3030 3031 3030  07000100
[2024-04-04 00:00:24    cahute info] seven_receive: 00000020  7379 7374 656D 5448  systemTH
[2024-04-04 00:00:24    cahute info] seven_receive: 00000028  4520 454E 4450 524F  E ENDPRO
[2024-04-04 00:00:24    cahute info] seven_receive: 00000030  4752 414D 3232 31    GRAM221
[2024-04-04 00:00:24   cahute error] seven_receive_data: File transfer is not supported for now.
[2024-04-04 00:00:24    cahute info] seven_receive_data: Received command had the following properties:
[2024-04-04 00:00:24    cahute info] seven_receive_data: Data Size: 28
[2024-04-04 00:00:24    cahute info] seven_receive_data: Data Type: 01
[2024-04-04 00:00:24    cahute info] seven_receive_data: Directory Name: system
[2024-04-04 00:00:24    cahute info] seven_receive_data: Data Name: THE END
[2024-04-04 00:00:24    cahute info] seven_receive_data: Group Name: PROGRAM
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: Sending the following packet to the device:
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000000  1530 3430 3643       .0406C
[2024-04-04 00:00:24    cahute info] read_from_link: Read 6 bytes in 16ms.
[2024-04-04 00:00:24    cahute info] seven_receive: Received packet data is the following:
[2024-04-04 00:00:24    cahute info] seven_receive: 00000000  1830 3030 3730       .00070
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: Sending the following packet to the device:
[2024-04-04 00:00:24    cahute info] seven_send_and_receive: 00000000  0630 3030 3730       .00070
[2024-04-04 00:00:24    cahute info] close_link: Closing the link.

Décoder le fichier à la volée demandera encore quelques réorganisations des buffers du lien, et le décodage des fichiers MCS, mais c'est en bonne voie !

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 07/04/2024 14:08 | #


Cahute est maintenant installable via GiteaPC :

giteapc install cake/cahute

Les instructions seront publiées dans la doc publique à la prochaine release.

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Lephenixnoir Hors ligne Administrateur Points: 24348 Défis: 170 Message

Citer : Posté le 07/04/2024 17:20 | #


You played yourself un peu parce que là ça install le dev mais @0.2 ça marche pas parce que y'avait pas le support GiteaPC et @0.3 ça marche pas non plus parce que y'a pas la release en question
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 07/04/2024 17:27 | #


Ça arrivera en soi, ce n'est qu'une question de temps

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Lephenixnoir Hors ligne Administrateur Points: 24348 Défis: 170 Message

Citer : Posté le 09/04/2024 14:44 | #


Rappel personnel de @RDP (le temps que Cake écrive un résumé)
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 09/04/2024 21:34 | #


Franchement plus j'y pense et plus je me dis que ceci constitue un résumé sympa et intriguant :

Cake pour la RDP a écrit :
Cahute !


Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Tuper4 Hors ligne Membre Points: 850 Défis: 19 Message

Citer : Posté le 16/04/2024 19:24 | #


Salut,

j'ai essayé de installer Cahute pour Windows mais je ne vois pas trop comment faire... En gros, je ne trouve pas ce qu'il faut télécharger.
Merci d'avance
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 16/04/2024 20:12 | # | Fichier joint


Hello, bien que la compatibilité pour Win32 soit assurée au niveau du code, aucune méthode d'installation n'est pour le moment fournie pour Windows. Les problématiques vis-à-vis de ceci sont documentées dans l'issue #10 du dépôt Gitlab, mais ne sont pas traitées pour le moment, et ni date ni responsable ne sont définis pour la résoudre.

Si l'envie t'en prend, tu peux tenter de répondre à ces problématiques et proposer une solution pour les utilisateurs du même système que toi ; ou par défaut, tu peux attendre que quelqu'un aie pris le point en charge

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 17/04/2024 00:44 | # | Fichier joint


Avec quelques petits efforts (faits dans !27), Cahute tourne dans Windows XP



Note : Cahute requiert la libusb 1.0.23 pour tourner sous Windows XP, il s'agit de la dernière version qui peut tourner sur ce système.

Et bien évidemment, Cahute tourne toujours dans Windows 11 avec ça !
Cliquez pour recouvrir


Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 28/04/2024 12:40 | #


Je viens de publier la release 0.3 de Cahute ! Les détails sont ici en anglais (avec quelques notes pour les packagers et utilisateurs avec installation manuelle), mais les ajouts sont les suivants :

- Ajout de la réception de données de la mémoire principale depuis la calculatrice, bien que cela ne gère que les programmes pour le moment.
- Ajout du support des conversions entre encodages de caractères.
- Support complet de la variante CAS40 du protocole CASIOLINK (calculatrices pré-1996), avec documentation.
- Détection automatique du protocole sur les liens série.

Quelques travaux également sur le support de Windows, où en plus du packaging, deux issues, !17 et !18, sont encore à résoudre.

De plus, p7os, qui n'était accidentellement pas inclus dans la release précédente, l'est à présent correctement.

Cette release marque également l'ajout de l'installation via GiteaPC comme méthode d'installation officielle de Cahute.

Happy Cahuting!

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 04/05/2024 19:06 | #


Avec !40, il est maintenant possible de recevoir des programmes depuis une Graph 100 ! Voici un exemple, avec la transmission d'un programme fait par une personne toute à fait saine sur sa Graph 100+ reçue il y a seulement deux jours :

./CaS -icom,afx /dev/ttyUSB0 -t -d
[2024-05-04 19:04:08    cahute info] set_serial_params_to_link: Setting the following serial settings:
[2024-05-04 19:04:08    cahute info] set_serial_params_to_link:   baud=38400, parity=none, stop bits=2,
[2024-05-04 19:04:08    cahute info] set_serial_params_to_link:   dtr=handshake, rts=disabled
[2024-05-04 19:04:08    cahute info] init_link: Using CASIOLINK (serial) over Serial (POSIX).
[2024-05-04 19:04:08    cahute info] init_link: Playing the role of receiver / passive side.
[2024-05-04 19:04:26    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 17847ms).
[2024-05-04 19:04:26    cahute info] read_from_link: Read 40 bytes in 50ms (after waiting 24ms).
[2024-05-04 19:04:26    cahute info] casiolink_initiate: Received data for MDL1 is the following:
[2024-05-04 19:04:26    cahute info] casiolink_initiate: 00000000  3A4D 444C 3147 5933  :MDL1GY3
[2024-05-04 19:04:26    cahute info] casiolink_initiate: 00000008  3531 FF30 3338 3430  51.03840
[2024-05-04 19:04:26    cahute info] casiolink_initiate: 00000010  304E 312E 3033 0000  0N1.03..
[2024-05-04 19:04:26    cahute info] casiolink_initiate: 00000018  1000 0000 0400 0000  ........
[2024-05-04 19:04:26    cahute info] casiolink_initiate: 00000020  0100 03FF FFFF FF67  .......g
[2024-05-04 19:04:26    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 46ms).
[2024-05-04 19:04:26    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 24ms).
[2024-05-04 19:04:26    cahute info] read_from_link: Read 39 bytes in 50ms.
[2024-05-04 19:04:26    cahute info] casiolink_receive_raw_data: Received the following header:
[2024-05-04 19:04:26    cahute info] casiolink_receive_raw_data: 00000000  3A4D 4353 3100 0000  :MCS1...
[2024-05-04 19:04:26    cahute info] casiolink_receive_raw_data: 00000008  0149 0141 4243 FFFF  .I.ABC..
[2024-05-04 19:04:26    cahute info] casiolink_receive_raw_data: 00000010  FFFF FFFF FFFF FFFF  ........
[2024-05-04 19:04:26    cahute info] casiolink_receive_raw_data: 00000018  FFFF FFFF FFFF FFFF  ........
[2024-05-04 19:04:26    cahute info] casiolink_receive_raw_data: 00000020  FFFF FFFF FFFF FFF4  ........
[2024-05-04 19:04:26    cahute info] casiolink_receive_raw_data: Reading data part 1/1 (329o).
[2024-05-04 19:04:26    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 23ms).
[2024-05-04 19:04:27    cahute info] read_from_link: Read 329 bytes in 462ms.
[2024-05-04 19:04:27    cahute info] read_from_link: Read 1 bytes in 2ms.
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: Data part 1/1 received and acknowledged.
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000000  0000 0000 0000 0000  ........
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000008  0000 4845 4C4C 4F20  ..HELLO
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000010  574F 524C 4441 4141  WORLDAAA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000018  4141 4141 4141 4141  AAAAAAAA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000020  4141 4141 4141 4141  AAAAAAAA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000028  4141 4141 4141 4141  AAAAAAAA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000030  4141 4141 4141 4141  AAAAAAAA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000038  4141 4141 4141 4141  AAAAAAAA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000040  4141 4141 4141 4141  AAAAAAAA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000048  4141 4141 4141 4141  AAAAAAAA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000050  4141 4141 4141 4141  AAAAAAAA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000058  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000060  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000068  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000070  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000078  4142 4142 4142 4141  ABABABAA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000080  4241 4241 4241 4241  BABABABA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000088  4241 4241 4241 4241  BABABABA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000090  4241 4241 4241 4241  BABABABA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000098  4241 4241 4241 4241  BABABABA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 000000A0  4241 4241 4241 4241  BABABABA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 000000A8  4241 4241 4241 4241  BABABABA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 000000B0  4241 4241 4241 4241  BABABABA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 000000B8  4241 4241 4241 4241  BABABABA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 000000C0  4241 4241 4241 4241  BABABABA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 000000C8  4241 4241 4241 4241  BABABABA
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 000000D0  4241 4142 4142 4142  BAABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 000000D8  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 000000E0  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 000000E8  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 000000F0  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 000000F8  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000100  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000108  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000110  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000118  4141 4242 4142 4142  AABBABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000120  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000128  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000130  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000138  4142 4142 4142 4142  ABABABAB
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000140  4142 4142 414C 4F4C  ABABALOL
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000148  00                   .
[2024-05-04 19:04:27    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 24ms).
[2024-05-04 19:04:27    cahute info] read_from_link: Read 39 bytes in 50ms.
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: Received the following header:
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000000  3A45 4E44 31FF FFFF  :END1...
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000008  FFFF FFFF FFFF FFFF  ........
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000010  FFFF FFFF FFFF FFFF  ........
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000018  FFFF FFFF FFFF FFFF  ........
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: 00000020  FFFF FFFF FFFF FF1A  ........
[2024-05-04 19:04:27    cahute info] casiolink_receive_raw_data: Received data was a sentinel!
[2024-05-04 19:04:27    cahute info] close_link: Closing the link.

319 bytes       Program "ABC".


Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 06/05/2024 13:00 | #


Petite release 0.4 de bugfix réalisée aujourd'hui. Les détails sont ici (en anglais).

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 05/07/2024 01:20 | # | Fichier joint


100 commits atteints ce jour, avec un petit fix réalisé pour pouvoir utiliser p7 avec une fx-9860G Slim sous OS 1.x !



Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

Citer : Posté le 14/07/2024 16:27 | #


Hey ! Pour info, j'essaie de reprendre le support d'AmigaOS que j'avais commencé. J'ai réussi à me débloquer au niveau de l'outillage, j'arrive à compiler et faire tourner p7 sur un Amiga 600 faisant tourner AmigaOS 3.2 :
Malheureusement, comme vous pouvez le constater, la liaison série ne semble pas fonctionner correctement, et je cherche encore comment débloquer ça.

Vous pouvez trouver le détail de ce travail sur !41.

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Cakeisalie5 Hors ligne Ancien administrateur Points: 1926 Défis: 11 Message

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

Calcloverhk a écrit :
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 Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 39 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd