Posté le 28/12/2015 12:33
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 120 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
Citer : Posté le 28/12/2015 12:35 | #
Pour programmer des add-ins, tu peux apprendre le langage C ou le C++ sur le site du zéro par exemple puis ensuite programmer sur n'importe quel IDE comme codeblocks ou autre le programme que tu désires faire pour finalement compiler ton code sur le SDK de Casio afin qu'un programme en .g1a soit compilé pour le transférer sur ta calculatrice avec FA 124. Si tu as plus de questions, pose-les, j'y répondrai
Citer : Posté le 28/12/2015 12:36 | #
Merci Eltoredo mais comment je compile avec le SDK ? Comment j'obtiens ce SDK ?
Merci
- Mystery Key
- Khi2
Citer : Posté le 28/12/2015 12:37 | #
J'ai mis un lien dans mon précédent message, tu peux télécharger le SDK directement sur le site. Pour compiler, tu y places ton code et tu cliques sur le bouton "Build" disponible dans la barre d'outils en haut.
Citer : Posté le 28/12/2015 12:38 | #
Merci je teste ça quand je peux et je reviens ici si je n'y arrive pas
Merci de tes réponses rapides
Ajouté le 28/12/2015 à 13:04 :
Comment je fais pour compiler avec le SDK ? :/
- Mystery Key
- Khi2
Citer : Posté le 28/12/2015 13:08 | #
Il faut pour commencer créer un projet dans le Sdk, ensuite tu poura modifier le .c qui a été généré puos tu compile en cliquant sur build.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
Citer : Posté le 28/12/2015 13:20 | #
Salut,
Comme premier projet, et d'autant plus si tu ne sais pas encore programmer en C, un add-in pour connaître le niveau de batterie me semble compliqué.
Le C est un langage bas niveau qui te permet d'être proche du matériel. C'est donc le langage de prédilection pour faire ce genre de chose, mais tes connaissances sont trop faible pour le moment pour te permettre de le faire. Essaie déjà des choses plus simple
Citer : Posté le 28/12/2015 13:22 | #
J'ai déjà fait du C++ c'est pareil ?
Ok je vais voir ça merci
- Mystery Key
- Khi2
Citer : Posté le 28/12/2015 13:23 | #
Ce sont 2 langages qui se ressemble.
Le C++ est un langage orienté objet tandis qu'il n'y en a pas à proprement parlé en C.
C'est un langage plus restrictif.
Citer : Posté le 28/12/2015 13:31 | #
Ce sont 2 langages qui se ressemble.
Le C++ est un langage orienté objet tandis qu'il n'y en a pas à proprement parlé en C.
C'est un langage plus restrictif.
Le C++ n'est pas orienté objet mais un langage supportant l'orienté objet C'est une extension du C en fait SI tu connais le C++, tu connais presque le C
Citer : Posté le 28/12/2015 13:59 | #
Le problème en l'occurrence c'est que l'obtention du niveau de batterie n'a rien à voir avec le langage : à vrai dire tu pourrais tout aussi bien le faire en assembleur.
En réalité, ce qui est intéressant porte sur la constitution du SoC, la répartition des registres et le moyen technique de mesurer le niveau de batterie. De telles fonctions existent, mais elles sont imprécises.
Sinon tu peux juste appeler le syscall qui donne l'info et alors tu peux programmer un tel add-in en 20 lignes et 10 minutes -- ou pas loin.
Citer : Posté le 28/12/2015 17:36 | #
Lephenixnoir comment je fais ça s'il te plaît ?
Ajouté le 28/12/2015 à 20:21 :
Est-ce que ce serait possible de faire un portage de l'indicateur batterie de la Graph 35+E pour la Graph 75 ?
- Mystery Key
- Khi2
Citer : Posté le 28/12/2015 20:41 | #
Hey, pour avoir la batterie sur SH4, installe tout simplement l'OS 2.05 sur ton modèle. Non seulement tu profitera de toutes les fonctionnalités des G75, mais tu aura surtout le niveau de batterie directement depuis le menu principal.
Pour cela, juste lire ce tuto : http://www.planet-casio.com/Fr/forums/topic13930-1-Ameliore-ta-Graph-35+-USB-E-en-Graph-75(+E)-!.html
Citer : Posté le 28/12/2015 21:02 | #
Hey, pour avoir la batterie sur SH4, installe tout simplement l'OS 2.05 sur ton modèle. Non seulement tu profitera de toutes les fonctionnalités des G75, mais tu aura surtout le niveau de batterie directement depuis le menu principal.
Pour cela, juste lire ce tuto : http://www.planet-casio.com/Fr/forums/topic13930-1-Ameliore-ta-Graph-35+-USB-E-en-Graph-75(+E)-!.html
Mais moi j'ai une Graph 35+ USB ça marche quand même ???
- Mystery Key
- Khi2
Citer : Posté le 28/12/2015 21:03 | #
Bien sûr mais via ce tuto
Citer : Posté le 28/12/2015 21:06 | #
Donc je ne peux pas mettre l,OS de la 75+E sur ma 35+USB ? C'est bien ça ?
- Mystery Key
- Khi2
Citer : Posté le 28/12/2015 23:48 | #
Si ta Graph est plutôt récente (et donc SH4), c'est possible. Le tutoriel qu'à mis Elto n'est plus à jour, le mien indique la marche à suivre quel que soit le modèle de calto.
Ménage fait, quiproquo dans les réponses précédentes.
Citer : Posté le 29/12/2015 11:13 | #
Lephenixnoir comment je fais ça s'il te plaît ?
Par souci de complétude, pour les futurs visiteurs qui se poseraient la question. La documentation est sur cette page. Le syscall intéressant est le 0x49c. La procédure d'appel (en assembleur, ici pour gcc) est simple :
_getBatteryLevel:
mov.l sc_addr, r2
mov.l 1f, r0
jmp @r2
nop
1: .long 0x49c
sc_addr:
.long 0x80010070
Il faut juste retenir que ce morceau de code saute à l'adresse 0x80010070, qui est l'adresse de la table de syscalls, avec la valeur 0x49c dans r0 (ce qui génère un appel au syscall 0x49c) en lui passant tous les paramètres qu'il a reçu (les registres r4 à r7, éventuellement d'autres arguments envoyés sur la pile).
Cette fonction va renvoyer 0, 1 ou 2 selon le niveau de batterie (0 étant le meilleur niveau).
On peut aussi trouver sur cette page un exemple de code qui récupère le niveau de batterie et une implémentation brute de GetBatteryStatus() basées sur la configuration des registres du SoC.
Citer : Posté le 30/12/2015 10:42 | #
Merci !
Est-ce que quelqu'un aurait la gentillesse de me donner un code source d'Add-In affichant "Hello" avec une image ? Merci
- Mystery Key
- Khi2
Citer : Posté le 30/12/2015 14:25 | #
Prends par exemple Paint, écrit Hello sur une image blanche, de préférence redimensionnée avec la taille de l'écran d'une calculatrice (128x64). Vas ensuite sur Sprite Coder, mets ton image en précisant que c'est un add-in, donc pour les calculatrices 75/85/95. Ensuite, prends le code et utilise la bibliothèque MonochromeLib pour afficher ton image avec la fonction adaptée.
Citer : Posté le 30/12/2015 14:42 | #
Hmm, une image pour afficher du texte ? T'exagères un peu là ElTo.
Pour le texte, il y a PrintXY() :
où x et y sont les positions où le texte doit être écrit, str le texte en question, et le mode, 0 dans quasiment tous les cas.
Sans parler de l'image parce qu'il faudrait utiliser MonochromeLib, voici un exemple de fonction principale qui affiche un Hello World à l'écran (à remplacer dans le code par défaut, ne l'utilise pas toute seule, ça ne fonctionnera pas !) :
int AddIn_main(int isAppli, unsigned short optionNum)
{
unsigned int key;
Bdisp_AllClr_VRAM();
PrintXY(0, 0, "Hello, World !", 0);
GetKey(&key);
return 1;
}
La fonction Bdisp_AllClr_VRAM() nettoie la vram. Je ne sais jamais si le système le fait automatiquement mais il me semble que non. GetKey() a deux intérêts ici : d'abord, elle met le programme en pause jusqu'à ce que l'utilisateur appuie sur une touche (le code de ladite touche étant assigné à la variable key), et elle affiche le contenu de la vram à l'écran. Sans ça il faudrait appeler Bdisp_PutDisp_DD() (mais celle-ci ne mettrait pas en pause le programme, donc on ne verrait rien car il reviendrait au menu tout de suite).
Le return est surprenant, Casio a voulu que EXIT_SUCCESS vale 1 au lieu de 0 comme dans toutes les implémentations courantes.