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 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Cahute, pour communiquer efficacement avec sa calculatrice CASIO sous Linux

Posté le 04/03/2024 14:26

Vous savez produire du hardware ? La communauté a désespérément besoin de câbles USB/série alternatifs pour ses calculatrices !

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

Ce topic de CalcLoverHK décrit comment installer Cahute avec le Windows Subsystem for Linux (WSL) 2. Si cela vous concerne, n'hésitez pas à le visiter en attendant l'ajout des instructions dans la documentation officielle

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 En ligne Ancien administrateur Points: 1960 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

Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

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.
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 27/07/2024 18:36 | #


Hey, j'ai corrigé quelques soucis avec Cahute aujourd'hui, que je peux vous décrire ici.

#20, #27 : Les implémentations du Protocole 7.00 et CASIOLINK essaient maintenant plusieurs fois d'envoyer le paquet d'initialisation, avant de sortir si aucune réponse n'a été reçue dans un délai raisonnable.

La différence se fera notamment ressentir sur l'utilisation de calculatrices sur liaisons série, où le comportement précédent était de balancer le paquet d'initialisation et d'attendre indéfiniment, ce qui était assez inefficace dans le cas où la calculatrice était mise en mode réception après le lancement de l'utilitaire.

L'expérience utilisateur s'en retrouve un peu meilleure, et p7 et cie ne "plantent" plus quand la calculatrice n'est pas joignable sur liaison série.

#30 : p7screen (et l'équivalent dans la libcahute) est maintenant beaucoup plus rapide dans la réception de frames lorsqu'une fx-CG ou compatible (type Graph 90+E) est en mode ScreenRecv (F2).

Le secret réside tout simplement dans le fait de requêter le statut de la calculatrice via la commande SCSI 0xC0 toutes les 10/15 ms, par opposition aux 200 ms utilisés avant. (oui, ce secret est très nul)

Les modifications sont disponibles sur develop, et j'aimerais travailler sur encore quelques issues avant la prochaine release.
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 02/08/2024 19:58 | #


J'adore le gain de perfs qui juste un poll plus fréquent, bien joué.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 07/08/2024 11:21 | #


Release 0.5 publiée aujourd'hui. Il s'agit d'une release bugfix, le changelog complet est ici (anglais).
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 17/08/2024 21:30 | #


Cahute commence enfin à pouvoir lire les archives de la mémoire principale ! Quelques exemples avec la réimplémentation de CaS, suivant !71 :

$ ./CaS -icas ../samples/mcs/Clonelab.g1m -t

2334 bytes      Program "‐A".
422 bytes       Program "‐C".
9478 bytes      Program "‐D".
366 bytes       Program "‐E".
106 bytes       Program "‐G".
2698 bytes      Program "‐H".
8270 bytes      Program "‐J".
1730 bytes      Program "‐S".
782 bytes       Program "‐T".
298 bytes       Program "‐W".
5886 bytes      Program "CLONELAB".

$ ./CaS -icas ../samples/cas/EULER.CAS -t

264 bytes       Program "EULER".

Cahute ne supporte encore que les programmes, et encore, pas les aspects spéciaux (du type les programmes BASE). Il me manque encore beaucoup d'étude pour pouvoir y intégrer d'autres types, prévus dans #35 ; mais c'est prévu
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 31/08/2024 22:49 | #


Première communication réussie avec une Classpad 330 par USB ! Tout ça est dans !76 pour le moment.

$ ./p7 info
[2024-08-31 22:45:29    cahute info] open_usb_link: Running vendor-specific interface request 0x01.
[2024-08-31 22:45:29    cahute info] open_usb_link: Bulk in endpoint address is: 0x82
[2024-08-31 22:45:29    cahute info] open_usb_link: Bulk out endpoint address is: 0x01
[2024-08-31 22:45:29    cahute info] open_link_from_medium: Using CASIOLINK (USB) over USB Bulk (libusb).
[2024-08-31 22:45:29    cahute info] open_link_from_medium: Playing the role of sender / active side.
[2024-08-31 22:45:29    cahute info] casiolink_initiate: Making the initial handshake (6 attempts, 500ms for each).
[2024-08-31 22:45:29   cahute error] read_from_link_medium: Hit a timeout of 500ms after reading 0/1 bytes.
[2024-08-31 22:45:29    cahute info] read_from_link_medium: Read 1 bytes in 1ms.
[2024-08-31 22:45:29    cahute info] casiolink_cas300_send_command: Sending the following packet to the device:
[2024-08-31 22:45:29    cahute info] casiolink_cas300_send_command: 00000000  0130 3030 3030 3430  .0000040
[2024-08-31 22:45:29    cahute info] casiolink_cas300_send_command: 00000008  3031 3137 41         0117A
[2024-08-31 22:45:29    cahute info] read_from_link_medium: Read 3 bytes in 1ms.
[2024-08-31 22:45:29    cahute info] casiolink_cas300_send_command: Received the following acknowledgement:
[2024-08-31 22:45:29    cahute info] casiolink_cas300_send_command: 00000000  0630 30              .00
[2024-08-31 22:45:29    cahute info] read_from_link_medium: Read 62 bytes in 3ms.
[2024-08-31 22:45:29    cahute info] casiolink_cas300_receive_packet: Received the following packet from the device:
[2024-08-31 22:45:29    cahute info] casiolink_cas300_receive_packet: 00000000  0130 3030 3033 3530  .0000350
[2024-08-31 22:45:29    cahute info] casiolink_cas300_receive_packet: 00000008  3030 3243 5034 3330  002CP430
[2024-08-31 22:45:29    cahute info] casiolink_cas300_receive_packet: 00000010  FFFF FF30 302E 3030  ...00.00
[2024-08-31 22:45:29    cahute info] casiolink_cas300_receive_packet: 00000018  2E30 2830 3330 3530  .0(03050
[2024-08-31 22:45:29    cahute info] casiolink_cas300_receive_packet: 00000020  3030 3030 312E 3031  00001.01
[2024-08-31 22:45:29    cahute info] casiolink_cas300_receive_packet: 00000028  2E30 3031 364D FFFF  .0016M..
[2024-08-31 22:45:29    cahute info] casiolink_cas300_receive_packet: 00000030  FFFF FF38 4DFF FFFF  ...8M...
[2024-08-31 22:45:29    cahute info] casiolink_cas300_receive_packet: 00000038  FFFF FF83 3234       ....24
[2024-08-31 22:45:29    cahute info] casiolink_cas300_receive_packet: Sending the following acknowledgement to the device:
[2024-08-31 22:45:29    cahute info] casiolink_cas300_receive_packet: 00000000  0630 30              .00
Warning: Preprogrammed ROM information looks wiped out!
Warning: Username is not set.
CPU ID (probably out of date):
Environnement ID: CP430
ROM capacity: 16384KiB
Bootcode version: 01.01.00
OS version: 03.05.0000
[2024-08-31 22:45:29    cahute info] close_link: Closing the link.
[2024-08-31 22:45:29    cahute info] casiolink_terminate: Sending the following packet to the device:
[2024-08-31 22:45:29    cahute info] casiolink_terminate: 00000000  1830 3130 3030       .01000
[2024-08-31 22:45:29    cahute info] read_from_link_medium: Read 3 bytes in 1ms.
[2024-08-31 22:45:29    cahute info] casiolink_terminate: Received the following acknowledgement:
[2024-08-31 22:45:29    cahute info] casiolink_terminate: 00000000  0630 31              .01

(et oui, la présentation des données est encore maladroite dans p7, parce qu'elle est maladroite dans la bibliothèque de Cahute. C'est un point que je me suis noté de retravailler dans #43)
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 01/09/2024 02:47 | #


Pour faire une petite pause dans l'implémentation de CAS300, j'ai travaillé sur #41 ; Cahute offre maintenant dans son interface publique la possibilité d'utiliser ses liens pour envoyer et recevoir des données brutes aux calculatrices, avec les fonctions suivantes :


Ces fonctions ne peuvent être utilisées que lorsque le device est ouvert en mode générique, i.e. :


L'idée derrière cette feature est que vous puissiez vous appuyer sur la portabilité de Cahute pour implémenter votre protocole custom entre la calculatrice et vous, ou même faire des tests ou un nouveau client sur les protocoles existants, et donc ne pas avoir à refaire linkmedium.c.

Un guide avec exemple d'utilisation pour une connexion série avec Serial monitor est disponible sur Opening a generic link to a calculator connected by serial.

Cette feature n'est présente que sur develop pour le moment ; comme pour le reste, je suis toujours preneur de vos retours
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 10/09/2024 15:10 | #


Que je me situe bien, du coup moralement tu peux implémenter tout ce que fait fxlink (sauf le raccourci pour transfert de fichiers UDisks) avec cahute avec cette fonctionnalité ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 10/09/2024 21:02 | #


Tant que le device ne communique qu'avec du bulk comme le fait fxlink actuellement (excepté l'UMS pour le moment), les liens génériques de Cahute peuvent effectivement être utilisés avec des protocoles tels que ceux custom de fxlink, et permettent même de communiquer avec celui-ci par-dessus les drivers un peu relous tels que CESG502 (le driver sous Windows utilisé par FA-124).

En l'état je ne pense pas considérer l'idée d'implémenter le protocole de fxlink directement dans Cahute en revanche, en tout cas pas tant que l'ensemble des protocoles et formats de fichiers prévus ne sont pas implémentés.
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 05/10/2024 16:44 | #


Pour celles et ceux qui souhaiteraient contribuer à Cahute, mais n'ont aucune idée de comment faire, j'ai refait le guide de contribution pour parler de l'ensemble des façons que je vois de contribuer, qui ne se limite pas simplement aux merge requests.

Un petit résumé en français de ce guide, vous pouvez contribuer en :

  • Utilisant Cahute et donnant votre retour sur ce topic, ou en faisant des rapports de bug sur le dépôt directement ;
  • Testant Cahute dans des configurations plus exotiques, tels que des systèmes, calculatrices ou câbles différents de la majorité ;
  • Testant la documentation de Cahute pour voir si elle répond à vos besoins, et rapporter lorsqu'elle n'a pas fourni ce que vous en attendiez ;
  • Parlant de Cahute hors de ses canaux officiels, en faisant des topics (tutoriels, ...), des vidéos, ou autres pour que ceux qui pourraient avoir besoin de Cahute connaissent son existence et les problématiques que le projet peut aider à résoudre ;
  • Prenant en charge le packaging de Cahute pour votre système, comme pour Windows, Debian, Voidlinux, etc ;
  • Contribuant du code ou de la documentation directement, via des merge requests.

Et comme je travaille assez dur pour gagner la confiance des différentes communautés CASIO autour de ce projet, n'hésitez pas à mettre une petite étoile sur le dépôt Gitlab et ou le dépôt Github
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Inikiwi Hors ligne Membre Points: 594 Défis: 8 Message

Citer : Posté le 12/10/2024 23:45 | #


il y a t-il moyen de communiquer avec une calculatrice avec sa carte son? (jack 3.5 carte son -> jack 2.5 calculatrice)
Ou sinon avec un adaptateur TX/RX to USB?
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 13/10/2024 00:34 | #


Adaptateur TX/RX to USB : oui, tant que tu as l'embout de bonne taille pour les calculatrices CASIO ! Les adaptateurs / câbles testés officiellement sont le câble d'Util-Pocket et le SB-88A de CASIO, mais normalement oui.

Carte son : je suis preneur que tu me montres ton setup physique, en l'état je ne vois pas trop de quel branchement tu parles.
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Inikiwi Hors ligne Membre Points: 594 Défis: 8 Message

Citer : Posté le 13/10/2024 11:29 | #


Cakeisalie5 a écrit :
Adaptateur TX/RX to USB : oui, tant que tu as l'embout de bonne taille pour les calculatrices CASIO ! Les adaptateurs / câbles testés officiellement sont le câble d'Util-Pocket et le SB-88A de CASIO, mais normalement oui.

Carte son : je suis preneur que tu me montres ton setup physique, en l'état je ne vois pas trop de quel branchement tu parles.


En gros la carte son c'est quand tu génère les signaux pour communiquer avec la calculatrice sous forme de son et non pasvia un port série. les imputions sont directement encodé en audio dans un .waw ou en direct, ensuite il suffit de brancher avec un câble jack 2.6 <-> jack 3.5 la calculatrice et la sortie son de l'ordinateur. C'est déjà le même procédé pour certains mods du minitel.
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 13/10/2024 14:12 | #


Alors je suis hors de ma zone de confort, mais j'ai regardé un peu, et de ce que j'en comprends, là où la calculatrice utilise +4.2V pour 1 et 0V pour 0 (source : fxReverse), alors que selon les sources que j'ai lu :

« A headphone jack can output -1V to +1V »
Source : Programming Espruino with Audio - Espruino

Et Line level sur Wikipedia semble indiquer -1.736V à 1.736V.

Dans tous les cas, ça ne semble donc pas être suffisant pour communiquer avec une calculatrice CASIO. C'est dommage, ç'aurait pu être une super solution low-cost pour communiquer avec une calto via série !

Qui sait, peut-être que @Dark Storm pourra confirmer ou infirmer ce que j'ai cru comprendre !
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 13/10/2024 16:11 | #


Alors, pourquoi pas mais comme dit Cake c'est compliqué pour plusieurs raisons :
- les tensions sont clairement pas les mêmes, pas dit que le 1V de la carte son soit
- IIRC le protocole de communication est bidirectionnel, ce qui veut dire qu'il faut pouvoir envoyer des données de la calto vers la carte son. Donc un câble 3-pin 2.5mm vers soit une paire de jacks, soit un câble 4-pins (suivant ce que t'as en connectique sur le PC).

Bref en théorie c'est jouable, en pratique ça demande du hardware tel que bidouiller un câble série est tout aussi compliqué. Chose qu'il faut que je teste et document d'ailleurs >_>
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Inikiwi Hors ligne Membre Points: 594 Défis: 8 Message

Citer : Posté le 13/10/2024 21:21 | #


Bon je vais me contenter du RX/TX TTL to serial USB.

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 178 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