Forums Casio - Projets de programmation

Index du Forum > Projets de programmation > MicroPython sur Graph 35/75+E
Zezombye
Hors ligne
Rédacteur
Points: 1452
Défis: 12
Message
Posté le 09/05/2018 17:27

MicroPython sur Graph 35/75+E :

Page du programme : https://www.planet-casio.com/Fr/programmes/voir_un_programme_casio.php?showid=3603

Todo list :

- Corriger le bug de sauvegarde lors de la sauvegarde d'un fichier vide
- Faire les menus en image
- Faire la map custom de getkey
- Implémenter les floats en python

Ancien message
Cliquer pour enrouler
Parce que le python est très conseillé pour l'année prochaine, il serait bien de faire un port de MicroPython pour les graph monochromes.

Niveau faisabilité, c'est faisable :
- MicroPython demande 256k d'espace (la limite est de 512k donc on a de la chance) et 16 ko de ram (même pas besoin de taper dans les 256 ko des SH4)
- L'éditeur de texte serait tout simplement une version modifiée d'Edit, avec l'interface adaptée au Python (catalogue intégré, fonctions disponibles avec les F-keys, comme l'appli pour graph 90).

Du coup j'aimerais bien faire le port moi même, mais j'aurai sûrement besoin de votre aide :
- MicroPython ne compile que sous linux (ou en tout cas sûrement pas avec le SDK casio), du coup pour moi ça va être chiant voire impossible de le compiler
- J'ai regardé le port minimal (https://github.com/micropython/micropython/tree/master/ports/minimal) et je comprends que dalle à ce qu'il faudrait modifier sûrement les trucs GPIO, mais quoi d'autre ?

Si vous êtes partant pour ce projet, votre aide est la bienvenue




Lephenixnoir
Hors ligne
Administrateur
Points: 12804
Défis: 136
Message
Dernier message de la page précédente :Posté le 13/11/2018 10:38 |
Zezombye a écrit :
Par contre, c'est dans la ram statique ça non ? Du coup j'ai tenté de faire :

char* heap = malloc(5000);


mais ça me fait une erreur chelou :

Tu as tout à fait raison, et la RAM statique fait 8 ko, donc c'est pas terrible. Pour ton problème, il te suffit d'écrire const char *heap; au début du fichier et ensuite heap = malloc(20000) tout au début de main(). S'il y a des constructeurs, fais-en un constructeur de plus haute priorité.
----------------------------------
Rise.



Pages: Précédente | 1, 2, 3, 4, 5, 6, 7

Critor
Hors ligne
Administrateur
Points: 910
Défis: 0
Message
Citer : Posté le 13/11/2018 19:39 | #
@Zezombye C'est stable, tu mets à jour ?
Hâte de tester si diverses choses marchent maintenant, et auquel cas ça méritera une annonce.
Zezombye
Hors ligne
Rédacteur
Points: 1452
Défis: 12
Message
Citer : Posté le 13/11/2018 19:41 | #
Pas stable du tout : j'ai réussi pour l'instant à allouer 30 ko, mais y'a une grosse fuite de mémoire qui est apparemment que, quand on retourne sur l'éditeur après avoir exécuté un script, il alloue une 2ème fois la mémoire nécessaire pour l'éditeur.

Je ferai une release quand j'aurai réussi à faire tourner les 2 scripts du triconcours, là je pense que j'aurai un peu tout.
(et pour l'instant c'est la seule chose que j'ai faite depuis 2 mois )
----------------------------------
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Critor
Hors ligne
Administrateur
Points: 910
Défis: 0
Message
Citer : Posté le 13/11/2018 19:46 | #
Ok, merci pour ta réponse.

Outre suffisamment de mémoire (quelques Ko devraient suffire, après tout ça marche sur NumWorks) il te faudra la gestion des entiers longs pour le script de Force.

Sur le script de Courage, il faudra aussi de préférence la gestion des flottants en double précision, pour que ça ne réponde pas n'importe quoi.
En plus d'un module graphique, mais ça tu peux toujours mettre en commentaire.
Lephenixnoir
Hors ligne
Administrateur
Points: 12804
Défis: 136
Message
Citer : Posté le 13/11/2018 19:56 | #
Je suppose que tu as mis des double partout Zezombye non ? Avec Python c'est plus simple...
----------------------------------
Rise.

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7

Index du Forum > Projets de programmation > MicroPython sur Graph 35/75+E

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2018 | Il y a 27 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire indépendant, géré bénévolement et n'est donc pas affilié à Casio | Toute reproduction de Planète Casio, même partielle, est interdite
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des licences ou des copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd