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: 2689 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.


Critor Hors ligne Administrateur Points: 2689 Défis: 18 Message

Citer : Posté le 29/04/2014 22:34 | #


Bon, finalement elle me cause tellement de difficultés cette fx-CP400, que j'ai eu le temps d'adapter le convertisseur d'images et documents PDF mViewer GX Creator aux TI-82+/83+/84:
http://tiplanet.org/forum/viewtopic.php?p=161495#p161495
Un comble quand on prend en compte la différence de qualité de l'écran et de puissance, mais je n'y peux rien...

Pour ne pas faire de jaloux, j'aimerais donc savoir ce qu'il en est de la lecture d'images avec niveaux de gris et/ou avec scrolling sur les Graph 75/95 (et donc par extension Graph 35+USB).


Merci.
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 29/04/2014 23:12 | #


Avec les fonctions de sprites de easyGrayScale, tu peux afficher un sprite de la taille que tu veux, et il peut même dépasser de l’écran sans soucis (par contre, si le programme devient trop gros ou si il utilise des fonctions de fxlib, le lancement de l'add-in peut échouer systématiquement sans raison (EBR)).
Je ne connais pas le systeme de codage de mViewer, mais a mon avis cela ne devrai pas poser trop de problèmes (et si tu veux, tu peux demander de l'aide, on est toujours la pour t'aider )
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 30/04/2014 10:05 | #


Pour toute question concernant les images en add-ins sur les 35++/75/85/95 tu peux nous demander, on maîtrise de ce côté. Si tu veux faire un Skype un de ces jours pour discuter de ça n'hésite pas à me mettre un mail
Critor Hors ligne Administrateur Points: 2689 Défis: 18 Message

Citer : Posté le 31/07/2014 03:46 | #


Merci pour votre aide et vos encouragements.

Le format .c2p est maintenant entièrement documenté:
http://tiplanet.org/forum/archives_voir.php?id=86868

Et un support alpha de la fx-CP400 a été rajouté à mViewer GX:
http://tiplanet.org/forum/viewtopic.php?p=168431

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

Citer : Posté le 31/07/2014 08:15 | #


Bien joué
J'ai cru comprendre que le programme était en Basic, mais ce dernier permet donc de lire directement des images dans la mémoire ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor Hors ligne Administrateur Points: 2689 Défis: 18 Message

Citer : Posté le 31/07/2014 11:18 | #


Le programme Basic de lecture n'est pas fourni pour le moment, car je n'ai pas encore tout compris dans le format .xcp.

Pour l'instant il doit être mis manuellement en plein écran et utilise l'instruction RclPict.
Plus j'avance, et plus je doute d'être capable de faire mieux...
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 31/07/2014 12:00 | #


Lephenixnoir a écrit :
J'ai cru comprendre que le programme était en Basic, mais ce dernier permet donc de lire directement des images dans la mémoire ?

Sur classpad, n'importe quel programme en Basic peut lire une image dans n'importe quel dossier de la mémoire

Critor a écrit :
Pour l'instant il doit être mis manuellement en plein écran et utilise l'instruction RclPict.
Plus j'avance, et plus je doute d'être capable de faire mieux...

Je doute également que cela puisse être mieux, à moins que le Basic ait été fortement améliorer lors du passage de la CP330(+) à la CP400.
Sur 330(+), il faut demander à l'utilisateur de mettre en plein écran manuellement, il n'y a pas moyen de faire autrement
Critor Hors ligne Administrateur Points: 2689 Défis: 18 Message

Citer : Posté le 17/02/2015 21:18 | #


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


Hélas avec deux gros bugs concernant l'affichage en niveaux de gris.


Je serais extrêmement reconnaissant envers tout expert en niveaux de gris et/ou SH4 pouvant me venir en aide, et ne manquerais pas de le créditer correctement.

http://tiplanet.org/forum/viewtopic.php?f=51&t=16062
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 17/02/2015 21:24 | #


Ayant pas mal bossé sur les niveaux de gris, je pense pouvoir répondre.

Mais avant, quelle bibliothèque avez-vous utilisé ? Celle de Kucalc ? De Revolution-fx ? Ou de PLL ?

Kristaba avait réalisé un programme qui devait permettre de rediriger les interruptions pour éviter le reset et rétablir toutes les fonctionnalités perdues. Ceci dans le cadre d'un programme sans lien avec les niveaux de gris, mais il a accepté de me donner les sources de son projet, sur lesquelles j'ai pu me baser pour travailler. Hélas, il a un G85, et avec mes G35+, que ce soit SH3 ou SH4, son code n'a pas fonctionné.

En d'autres termes, en plus de ne pas avoir réussi à rediriger les interruptions comme voulu, j'ai constaté des problèmes de compatibilité entre les modèles. Pour l'instant je suis au point mort...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 17/02/2015 21:30 | #


Sinon, il y a toujours la méthode d'aragorn, c'est a dire de fixer a 64fps, et puis d'afficher pendant 1 ou deux frames.
C'est relativement limitant, mais ça marche
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Critor Hors ligne Administrateur Points: 2689 Défis: 18 Message

Citer : Posté le 17/02/2015 21:30 | #


Merci pour ta réponse rapide Lephenixnoir.

Voici les headers :
#include "fxlib.h"
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
#include "MonochromeLib.h"
#include "revolution.h"
#include "image.h"

Je pense donc que c'est Revolution-FX.

Egalement, ça donne quoi les niveaux de gris sur SH4 ?
Pour l'instant, je génère la version SH4 avec l'outil en ligne Planete-Casio, et le passage en niveaux de gris y génère un reset.

Est-il également possible d'inclure directement dans le projet du code pour éviter d'avoir à utiliser l'outil en ligne à chaque recompilation ?
Notamment pour les IsKeyUp.

Si besoin, l'add-in a été publiée avec son code source :
http://tiplanet.org/forum/archives_voir.php?id=159707

Merci.
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 17/02/2015 21:36 | #


Pour les SH4 j'y pense même pas... comme je l'ai dit, le code de Kristaba ne fonctionne pas sur mes machines donc avant d'avoir une lib stable il faudrait que je puisse faire des tests.

On peut détecter l'OS, mais pour le modèle et le proco c'est pas la même histoire... on a remarqué que le proco avait une référence dans le menu constructeur mais pour le modèle je ne suis même pas sûr que ce soit possible vu que toute la ROM est flashée. Et comme j'ai à la fois une SH3 et une SH4, c'est soit une divergence d'OS soit de modèle.

Pour être franc, si déjà j'arrivais à faire tourner le programme sur ma propre machine je serais rassuré.
Je vais quand même voir si je peux pas tricher un peu en passant par le C (jusque là je codais tout directement en assembleur) en m'inspirant du code réalisé par Kucalc. Ça devrait aider pour le support.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor Hors ligne Administrateur Points: 2689 Défis: 18 Message

Citer : Posté le 17/02/2015 21:43 | #


Sur ta SH3, l'add-in devrait marcher avec tous les BMP.
Sur ta SH4, à ce jour ne marcheront que les BMP monochromes.

Donc pour le moment, le générateur en ligne sur TI-Planet génère par défaut des BMP noir & blanc (on peut changer manuellement à 4 niveaux de gris), ce qui n'est pas le meilleur choix pour la lisibilité du texte à cause des diverses imperfections de lettres qui donneront des pixels tous noirs ou tous blancs.
Lephenixnoir Hors ligne Administrateur Points: 24678 Défis: 170 Message

Citer : Posté le 17/02/2015 21:48 | #


Vous générez des fichiers bmp à partir de pdf donc ? Pas très pratique...

Effectivement le code de Kucalc fonctionne sur toutes les SH3 mais il est tellement, tellement, horrible que je si je dois me baser dessus je reprends quand même à zéro.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor Hors ligne Administrateur Points: 2689 Défis: 18 Message

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


Oui, les BMP sont convertis à partir de documents PDF ou bien d'images BMP/GIF/PNG/JPEG.

Chaque page/image génère 1 fichier BMP.

Tout utilisateur de Graph 35+USB/75/85/95 peut donc désormais se fabriquer son petit formulaire sur son traitement de textes favori (de préférence en n'écrivant pas trop petit vu que chaque page-image est redimensionnée pour ne pas occuper plus de ~40Ko dans la RAM Casio), l'exporter au format PDF, puis le convertir en ligne et le consulter sur sa calculatrice.

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

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


Arf, c'est pas très beau comme gestion >_<

Pourquoi vous programmez pas un afficheur de documents avec potentiellement conversion du format pdf vers un formaté équivalent plus léger ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor Hors ligne Administrateur Points: 2689 Défis: 18 Message

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


Les fichiers produits sont effectivement plus lourds pour du texte brut.

Mais un avantage est la possibilité d'avoir n'importe quoi dedans : graphiques, photos, tableaux...

Un lecteur de textes offrant une gestion de ces contenus aurait besoin d'un format assez complexe.


Mais sinon quand j'aurai pu tester le support des BMP compressés RLE, la taille des fichiers produits sera plus en adéquation avec le contenu réel.
Le code est déjà inclus, mais j'ai épuisé pour aujourd'hui le temps que je pouvais y consacrer.

Et puis bon - même actuellement avec en gros 40Ko non compressés par page, dans une mémoire d'archive de 1,5Mo ça nous fait déjà rentrer un bon 35 pages en plus de l'add-in.
C'est déjà plus que suffisant selon moi.
Legolas Hors ligne Ancien rédacteur Points: 3266 Défis: 104 Message

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


Mais c'est super !
Pour répondre à ta question Critor, pour les sh4, nous n'avons pour les niveaux de gris que le choix d'un clignotement des pixels noirs en blancs pour faire du gris. Comme dans Prof. Layton.
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



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

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


Certes, on peut tout mettre, enfin à condition que le générateur fasse un rendu qui supporte les éléments.
Mais je trouve que c'est pas pratique puisque le texte est, comme vous l'avez, souligné, difficillement lisible au moins en monochrome...

Et puis pour les graphiques etc. on peut aussi mettre des images, faut pas se méprendre en pensant que je parlais d'un programme uniquement basé sur un format de document avec des éléments très variés

La compression RLE ça peut être intéressant en effet, mais avec le texte est-ce qu'on va vraimen y gagner quelque chose ? Bon, c'est sûr que pour remplir les blancs ça sera efficace.
Par contre faut bien sûr faire attention à pas augmenter la taille des séquences trop peu régulières...

35 pages, c'est sûr que c'est pas mal mais je pense qu'on peut faire bien mieux. Enfin, soyons francs : si je veux mettre des cours sur ma machine (mode invité activé) quelle marge ça me fait avec 1.5 Mio sachant que je ne mets pas que des fichiers d'une seule application ?
J'aurais tendance à penser que c'est au contraire un peu short, cela dit... ce n'est pas moi qui ai programmé donc c'est un peu malvenu de ma part de critiquer comme ça. :P
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor Hors ligne Administrateur Points: 2689 Défis: 18 Message

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


Pour des documents majoritairement constitués de textes, le RLE va décupler le nombre de pages que l'on peut mettre.

Le texte monochrome est selon plus que lisible malgré les défauts.
Il aurait été plus esthétique en 4 niveaux de gris, c'est tout.

Legolas a écrit :
Mais c'est super !
Pour répondre à ta question Critor, pour les sh4, nous n'avons pour les niveaux de gris que le choix d'un clignotement des pixels noirs en blancs pour faire du gris. Comme dans Prof. Layton.


Que veux-tu dire Legolas ?

Je n'ai pas testé le jeu.
Ce n'est pas déjà ce que fait la bibliothèque, de faire clignoter les pixels ?

Si tu parles de faire clignoter directement dans mon code je puis regarder mais ne suis pas sûr d'avoir un fps suffisant pour cela.
Lephenixnoir Hors ligne Administrateur Points: 24678 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)

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