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 » Faisabilité mViewer GX pour fx-CP400
Critor Hors ligne Administrateur Points: 2606 Défis: 18 Message

Faisabilité mViewer GX pour fx-CP400

Posté le 19/02/2014 21:50

Bonsoir,


Comme certains d'entre vous le savent déjà, nous disposons sur TI-Planet d'un convertisseur d'images et documents PDF pour calculatrice, mViewer GX Creator:
http://tiplanet.org/forum/editgx.php

Nous ne sommes pas sectaires, et il gère à ce jour nombre de modèles:
- TI-Nspire
- TI-89/92+/V200
- TI-84 Plus C
- Casio Prizm fx-CG
- HP Prime

Je me demandais si il aurait été possible, selon vous, d'adapter le convertisseur pour la nouvelle fx-CP400.
Car il est bien dommage (mais aussi ridicule) que la calculatrice disposant actuellement du meilleur écran sur le marché ne puisse pas en profiter.


Cela implique donc de disposer côté calculatrice d'une lecture d'images, avec défilement/scrolling et possiblement zoom.

Je me pose donc diverses questions assez profondes, et viens donc voir les experts puisque je connais assez peu la gamme Classpad :
1) la fx-CP400 gère-t-elle un type de fichier image officiel ? (oui)
2) le type de fichier image officiel peut-il avoir un nombre variable de pixels ?
3) le type de fichier image officiel peut-il déborder de l'écran ?
4) les images affichées peuvent-elles être défilées/scrollées nativement par le système ?
5) le format du type de fichier image officiel est-il documenté ?
6) peut-on stocker une image de façon alternative au type officiel (autre type de données dont on détourne l'usage, directement dans le code du programme...) ?
7) y a-t-il une instruction pour afficher une image à un endroit précis de l'écran ?
8) y a-t-il une instruction pour redimensionner une image ?
9) y a-t-il une instruction pour afficher une partie extraite d'une image ?

Si vous n'avez pas de fx-CP400, vous pouvez répondre par rapport à une Classpad, car j'ai l'impression que le langage de programmation n'a quasiment pas été touché.

Si les 'non' sont majoritaires, il va sans dire que cela va impacter fortement les performances du lecteur d'image, voir même sa faisabilité.


Merci.


Lephenixnoir Hors ligne Administrateur Points: 24226 Défis: 170 Message

Citer : Posté le 17/02/2015 22:26 | #


Le problème de ta méthode Legolas, c'est qu'elle fonctionne plus dès qu'on fait les moindres calculs... l'illusion est brisée et on retombe sur un seul frame encore moins lisible que la version monochrome...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 17/02/2015 22:28 | #


En gros, RevolutionFX utilise les interruptions du proco pour rafraichir les différents buffers et les mettre à l'écran. La technique d'Aragorn et Legolas est beaucoup plus simple à mettre en oeuvre : afficher dans une boucle chaque image alternativement. Le problème, c'est que du coup les niveaux de gris ont un rendu moins beau, car il y a moins d'images par seconde.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Critor Hors ligne Administrateur Points: 2606 Défis: 18 Message

Citer : Posté le 17/02/2015 22:37 | #


Sur SH4, ce serait déjà mieux que rien.

A voir ce que ça peut donner dans le cas d'un rafraîchissement intégral de l'écran.
Lephenixnoir Hors ligne Administrateur Points: 24226 Défis: 170 Message

Citer : Posté le 17/02/2015 22:39 | #


Non, vraiment ça se fait à la base.

Mais si je ne m'abuse, Aragorn et Legolas n'ont encore bossé que sur des images statiques : pas sûr que si on fait du scrolling le gris soit stable pendant qu'on scrolle...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor Hors ligne Administrateur Points: 2606 Défis: 18 Message

Citer : Posté le 17/02/2015 22:46 | #


C'est effectivement ce qu'il faudrait vérifier.
Mais me concernant, ça risque d'être tout pour cette semaine.

Manque de temps, et autres projets prioritaires.
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 18/02/2015 07:57 | #


Bah au pire, c'est comme sur Axe Parser, un motif pour alterner les pixels et éviter que l'intégralité de l'écran ne clignote. Vu qu'un proco de 5MHz peut gérer ça sans problème, je suppose qu'une machine 5 fois plus puissante le peut (au pire, ftune! ).
Victor_d Hors ligne Membre Points: 360 Défis: 0 Message

Citer : Posté le 18/02/2015 10:56 | #


Critor a écrit :
Voilà, mViewer est enfin sorti ce soir pour Casio Graph 35+USB/75/85/95.


Congratulations Critor

Rédacteur TI-Planet.org
Aragorn Hors ligne Membre Points: 807 Défis: 5 Message

Citer : Posté le 19/02/2015 08:50 | #


@Critor
Toutes mes félicitations ! Je crois que tu ne cessera de m'impressionner.

@Lephe
Pour mon zelda (tu trouveras le g1a en pièce jointe d'un post de Aragorn Corp.), j'utilise du scrolling et le niveau de gris fonctionne à la perfection ! Voici ma méthode :
Pour le scrolling il faut arrêter d'utiliser 2 images : une seule suffit ! Il suffit simplement de mettre les zones en gris avec un pxl sur 2 noir et un pxl sur 2 blanc. Ainsi, en se déplaçant à une vitesse de 64 fps, les carreaux blancs d'une frame se trouve la frame suivante là où il y avait un pxl noir. Ainsi avec scrolling les niveaux de gris sont encore plus simple que sans. Le seul inconvénient est que la vitesse doit être constante à 64 fps.
Après dans la méthode avec et sans scrolling il reste un seul défaut : une zone en largeur de 2 à 3 pxl qui a un problème de rafraichissement.
Mes Programmes
Cliquer pour enrouler
The Legend of CASIO - Basic Quest ( Basic )
Notes ( logiciel qui calcule votre moyenne, basic )
Professeur Layton ( jeu d'énigme en C )
Mario & Sonic Rush ( jeu de course 3D en C )
Projets
Cliquer pour enrouler
Zelda Ancestral Relics ( projet en C )
Projets que je soutient
Cliquer pour enrouler
Pokémon jade de Dodormeur
Jetpack Joyride de Drakalex007
Arcuz de Dark Storm
Casion de Az et Darkysun




Un jeu de course en 3D pour calculatrice :
http://www.planet-casio.com/Fr/programmes/voir_un_programme_casio.php?showid=2773&page=1.
Lephenixnoir Hors ligne Administrateur Points: 24226 Défis: 170 Message

Citer : Posté le 19/02/2015 09:10 | #


Ouais, bien vu. Pas mal du tout, vraiment.
Mais dans ce cas-là, si tu t'appuies sur les pixels présents avant, est-ce que le rendu est le même quelque soit la direction du scrolling ? Parce que si j'ai bien compris ce que tu as expliqué, c'est pas si facile...
Sinon je vois toujours le problème de la fréquence constante... ah oui, tu as combien de couleurs du coup ? 3 ou 4 ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor Hors ligne Administrateur Points: 2606 Défis: 18 Message

Citer : Posté le 21/06/2015 21:21 | #


Enfin. A J-1, mViewer GX Creator a enfin été mis à jour avec le support complet de la Casio Classpad II / fx-CP400.
Enfin vous allez pouvoir convertir et lire vos images et documents PDF sur la calculatrice graphique disposant du meilleur écran à ce jour !
https://tiplanet.org/forum/editgx.php?mode=44

Il suffit de fournir un ou plusieurs fichiers PDF ou images et vous obtenez :
- chaque page PDF ou image convertie en un fichier .c2p
- un programme pour lire le document ainsi converti, vous permettant de défiler par écrans au sein de chaque page, de passer à la page suivante/précédente, d'aller au numéro de page de votre choix...

Notez que c'est aussi mon premier vrai programme pour fx-CP400. Donc merci d'être indulgents si vous consultez le code.

Voici ce que ça donne en vidéo :
https://www.planet-casio.com/storage/gfycat/OblongDimpledHuia.mp4



Pour le moment, je n'ai pas du tout regardé ce qu'il faudrait faire pour une compatibilité avec les anciens modèles Classpad monochromes.
Lephenixnoir Hors ligne Administrateur Points: 24226 Défis: 170 Message

Citer : Posté le 21/06/2015 21:25 | #


Whoah, bon boulot !

Ça fait plaisir de voir que vous pouvez étendre le support de l'application à autant de machines.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Legolas Hors ligne Ancien rédacteur Points: 3266 Défis: 104 Message

Citer : Posté le 21/06/2015 22:14 | #


Super ! Je regarde cela. Et merci encore !
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 21/06/2015 22:19 | #


C'est un peu lent, mais c'est du très beau boulot vu la plateforme
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Critor Hors ligne Administrateur Points: 2606 Défis: 18 Message

Citer : Posté le 21/06/2015 22:50 | #


Merci à tous.

@Dark storm : en effet, le RclPict fullscreen prend apparemment une bonne seconde.
Si tu as une idée géniale pour faire mieux, n'hésite surtout pas.
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 21/06/2015 23:20 | #


C'est le plus rapide que tu puisse faire, malheureusement
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 24226 Défis: 170 Message

Citer : Posté le 22/06/2015 06:05 | #


Je me disais aussi, c'est du Basic...

Il me semblait qu'on avait réussi à exécuter du natif avec un protocole de transmission/exécution... non ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor Hors ligne Administrateur Points: 2606 Défis: 18 Message

Citer : Posté le 22/06/2015 16:25 | #


Oui Lephenixnoir, j'ai lu comme toi.
Mais visiblement, aucune application concrète n'en a découlé à ce jour, du moins publiquement.
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 22/06/2015 16:27 | #


C'est franchement bloqué de ce coté. J'avais cherché avec Louloux pour le CP330+ qui lui-même parait moins restreint que le CP400, mais rien…

Et pis avec l'histoire du mode examen, je doute que ce soit utile un jour
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 24226 Défis: 170 Message

Citer : Posté le 22/06/2015 16:27 | #


D'un côté, Casio semble d'être efforcé de l'avoir rendu impossible...

D'ailleurs, j'ai croisé une CP400 dans ma salle d'examen aujourd'hui. Peut-être un lauréat des olympiades de l'année dernière, qui sait...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor Hors ligne Administrateur Points: 2606 Défis: 18 Message

Citer : Posté le 10/07/2015 19:00 | #


Bonjour,


Je suis en train de regarder pour la faisabilité d'un portage de mViewer GX pour les anciennes Classpad 300/330 monochromes.
Adriweb m'a prêté une Classpad 330, et j'ai le Manager version 3.06 en évaluation 90 jours également.

Je vais donc avoir de petites questions sur les différences de programmation Classpad 330 / fx-CP400.

Question 1 : les dossiers
Pour plus de lisibilité sur la fx-CP400, je mets les images des pages de PDF dans des dossiers spécifiques. C'est le programme qui se charge ensuite d'aller les chercher.
Exemple :
If P=1
Then
RclPict mydocpdf\1
IfEnd
If P=2
Then
RclPict mydocpdf\2
IfEnd
If P=3
Then
RclPict mydocpdf\3
IfEnd
...

La Classpad 330 semble ne pas aimer l'usage du caractère "\" avec la commande RclPict.
Faut-il obligatoirement enregistrer le programme de lecture dans le même dossier que les images ?
Ou bien y a-t-il une autre façon de lui spécifier le dossier dans lequel aller les chercher ? Comme un changement du dossier courant de "main" à autre chose ?

Question 2 : des paramètes dynamiques pour les RclPict
J'aimerais simplifier ce même code qui est vraiment stupide, surtout quand le document a 256 pages :
If P=1
Then
RclPict mypdf1
IfEnd
If P=2
Then
RclPict mypdf2
IfEnd
If P=3
Then
RclPict mypdf3
IfEnd
...


J'ai vu sur des forums anglophones la possibilité d'utiliser le préfixe # à cette fin, et ai produit le code suivant :
"mypdf"=>str
ExpToStr P,strc
StrJoin str,strc,strc
RclPict #strc


Cela semble marcher sur Classpad 330... mais pas sur fx-CP400 où j'obtiens une erreur "not found".
Et effectivement, si je teste avec un "StoPict #strc", la fx-CP400 enregistre véritablement une image s'appelant '#strc' au lieu de "mypdf1" ou autre chose de ce genre.

Pourtant, le préfixe # semble toujours avoir le même effet à l'écran de calculs...

C'est un bug ou c'est voulu ?

Y a-t-il moyen de corriger cela ?


Merci de m'éclairer de vos lumières.
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 10/07/2015 19:02 | #


Là je ne vais malheureusement pas pouvoir t'aider, mon CP est un 330+ qui fonctionne exactement comme le CP400…
Finir est souvent bien plus difficile que commencer. — Jack Beauregard

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