Posté le 22/08/2016 12:13
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 39 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 12/03/2017 11:37 | #
J'ai bel et bien asciidoc d'installer mais j'ai toujours une erreur
--no-manpages: didn't read
Configuration loaded, you can make now.
onytis@Matt-Omen /tmp/p7utils-3.0 $ make && sudo make install
> mkdir obj/p7
> cc obj/p7/args.o
> cc obj/p7/dump.o
> cc obj/p7/main.o
> ld p7
> mkdir man/man1
> a2x doc/p7.1.txt
Makefile:217 : la recette pour la cible « man/man1/p7.1 » a échouée
make: *** [man/man1/p7.1] Erreur 1
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 12/03/2017 11:38 | #
Autant pour moi, j'avais pas fait cette option-là. Fais directement make all-p7 all-p7screen && sudo make install-p7 all-p7screen.
Ajouté le 06/04/2017 à 17:37 :
J'avance, et je gère beaucoup mieux les câbles série sous GNU/Linux qu'avant. Aussi, à l'utilitaire p7, j'ai rajouté la sous-commande idle (pratique lorsqu'on veut initialiser/sortir d'une série de commandes en --no-init/--no-exit), et les options avancées --use <settings> et --set <settings>, qui permettent de définir une même vitesse pour une série de commandes. Voici tout ça en application :
p7 send -f# addin0.g1a --com /dev/ttyUSB1 --use 115200E2 --no-init --no-exit
p7 send -f# addin1.g1a --com /dev/ttyUSB1 --use 115200E2 --set 19200N1 --no-init --no-exit
p7 idle --no-init --use 19200N1 --com /dev/ttyUSB1
Pour simplement envoyer un fichier plus vite, vous pouvez bien entendu faire :
Par défaut, les settings utilisés (--use) sont les plus communs parmi les appareils utilisant le Protocole 7.00 : 9600N2. En prime, voici l'aide actuelle de p7.
A noter que tout cela ne marche pas encore sous Microsoft Windows. Quiconque souhaitant défendre sa plateforme, ou quiconque étant doté d'un altruisme incroyable, est invité à se lancer.
Ajouté le 07/04/2017 à 16:36 :
Par contre, j'en profite pour dire que même si je supporte le SB-88A, je conseille *vraiment* le câble d'Util-Pocket, qui en plus d'être meilleur, est moins cher de trente euros.
En effet, à 115200 bauds, vitesse la plus grande qu'une Graph 75+E supporte (donc probablement les autres aussi), si vous échangez des données pendant trop longtemps à cette vitesse-là, le SB-88A plante, alors qu'avec le câble d'Util-Pocket sus-cité, aucun problème. Je vais enquêter pour voir si je peux corriger ça, mais en attendant, voilà.
Mon blog ⋅ Mes autres projets
Citer : Posté le 07/04/2017 22:45 | #
Pourquoi as tu besoin du câble d'util pocket?
Citer : Posté le 08/04/2017 00:29 | #
Je n'ai jamais dit que j'en avais besoin, j'ai juste dit qu'il marchait bien mieux que le SB-88A (le câble officiel de CASIO).
Mon blog ⋅ Mes autres projets
Citer : Posté le 08/04/2017 14:22 | #
Ha, d'accord. Sinon tu peux en bidouiller un avec une arduino, ça evite d'acheter un cable si tu à déjà le matos
Citer : Posté le 11/04/2017 19:30 | #
Tu es peut-être capable de te bidouiller un câble, mais tout le monde ne l'est pas (moi par exemple, je ne le suis pas).
Sinon, parce que ça peut aider des gens : si vous n'avez pas le driver du SB-88A, c'est ICI (driver pour XP/Vista/7/8). Marche dans ma VM sous XP.
Ajouté le 14/04/2017 à 12:41 :
Fun fact : accidentellement, j'ai chopé un représentant de quasi tous les protocoles utilisés par CASIO sur ses calculatrices. Ce qui m'est super utile pour le projet, du coup.
Mon blog ⋅ Mes autres projets
Citer : Posté le 21/06/2017 20:33 | # | Fichier joint
Ça faisait un moment que l'organisation du projet P7 me taraudait. Entre la libp7 et la libg1m, pas mal de structures étaient communes, et il commençait à y avoir des dépendances circulaires entre les deux, du coup, j'ai commencé il y a quelques semaines le regroupement de ces deux bibliothèques en une seule, au nom explicite : la libcasio.
Cette bibliothèque centralisera tout ce qui concerne la gestion des protocoles et formats de fichiers liés aux calculatrices CASIO. Son développement est déjà bien avancé, et elle commence déjà à rendre ses premiers résultats, même si certains éléments restent à mettre au propre, comme par exemple l'abstraction "système de fichiers", qui couvrira autant le filesystem local (Linux, Windows, Bfile) que les filesystems distants (Protocole 7.00, Graph 100, et éventuellement SCSI avec les Prizm-like).
Donc actuellement, les éléments du projet P7 sont les p7utils (qui ne sont mis à jour que localement pour le moment), la libcasio et la libfontcharacter/refc (sur lesquels la libcasio repose, mais qui ont *vraiment* besoin d'être améliorés...). Le site est encore celui de la release 3.0 de p7/libp7, j'ai un autre site en local construit avec Jekyll décrivant la structure actuelle du projet, mais comme tout ça n'est pas release, je préfère laisser le site de la release, pour les gens qui veulent un utilitaire de communication pour leur calculatrice CASIO dans l'immédiat, et qui ne veulent donc pas tomber sur un site avec des utilitaires en développement.
Qu'en pensez-vous ? Devrais-je changer le site, ou le laisser tel quel en attendant la release (qui l'air de rien, notamment à cause du manque de contributions de la libfontcharacter/refc, ne sera pas pour tout de suite) ?
Mon blog ⋅ Mes autres projets
Citer : Posté le 21/06/2017 21:42 | #
C'est gentil de penser à nous donner des infos pour qu'on s'y retrouve. Mine de rien avec les bribes sur le chat on ne comprend pas grand-chose à la structure du projet. :3
Mets les deux sites en ligne, celui de la release de p7 3.0 par défaut avec un lien vers l'autre. Ça te simplifiera la vie pour la communication sur le projet en développement.
Citer : Posté le 22/06/2017 01:53 | #
Voilà ce que ça donne pour le moment. J'attends Dark Storm pour le souci de design avant d'ajouter le lien depuis le site principal
Mon blog ⋅ Mes autres projets
Citer : Posté le 22/06/2017 12:24 | #
J'attends Dark Storm pour le souci de design avant d'ajouter le lien depuis le site principal
J'ai quoi à voir dans l'histoire ?
Citer : Posté le 01/08/2017 14:35 | #
J'ai une erreur lors de la compilation (sous xubuntu):
make : on entre dans le répertoire « /tmp/p7-packaging/libp7 »
Downloading the tarball...
######################################################################## 100,0%
Unpacking...
Building Debian package...
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: paquet source libp7
dpkg-buildpackage: version source 3.0
dpkg-buildpackage: distribution source stable
dpkg-buildpackage: source changé par Thomas Touhey <thomas@touhey.fr>
dpkg-source --before-build libp7-3.0
dpkg-buildpackage: architecture hôte amd64
fakeroot debian/rules clean
dh clean
dh_testdir
dh_auto_clean
make -j1 clean
make[1] : on entre dans le répertoire « /tmp/p7-packaging/libp7/libp7-3.0 »
> Removing object directory.
> Removing the library.
> Removing manpages directory.
make[1] : on quitte le répertoire « /tmp/p7-packaging/libp7/libp7-3.0 »
dh_clean
dpkg-source -b libp7-3.0
dpkg-source: avertissement: aucun format source indiqué dans debian/source/format, voir dpkg-source(1)
dpkg-source: info: utilisation du format source « 1.0 »
dpkg-source: info: construction de libp7 dans libp7_3.0.tar.gz
dpkg-source: info: construction de libp7 dans libp7_3.0.dsc
debian/rules build
dh build
dh_testdir
dh_update_autotools_config
dh_auto_configure
./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking
--build=x86_64-linux-gnu: didn't read
--infodir=${prefix}/share/info: didn't read
--localstatedir=/var: didn't read
--disable-silent-rules: didn't read
--libexecdir=${prefix}/lib/x86_64-linux-gnu: didn't read
--disable-maintainer-mode: didn't read
--disable-dependency-tracking: didn't read
Configuration loaded, you can make now.
dh_auto_build
make -j1
make[1] : on entre dans le répertoire « /tmp/p7-packaging/libp7/libp7-3.0 »
> mkdir obj/core
> cc obj/core/devices.o
> cc obj/core/_init.o
> cc obj/core/init.o
> cc obj/core/log.o
> cc obj/core/stream.o
> cc obj/core/strerror.o
> cc obj/core/version.o
> mkdir obj/packet
> cc obj/packet/ack.o
> cc obj/packet/command.o
> cc obj/packet/data.o
> cc obj/packet/recv.o
> cc obj/packet/send.o
> cc obj/packet/special.o
> mkdir obj/protocol
> cc obj/protocol/backup.o
> cc obj/protocol/copy.o
> cc obj/protocol/createdir.o
> cc obj/protocol/delete.o
> cc obj/protocol/getfreemem.o
> cc obj/protocol/getscreen.o
> cc obj/protocol/list.o
> cc obj/protocol/optimize.o
> cc obj/protocol/request.o
> cc obj/protocol/reset.o
> cc obj/protocol/send.o
> cc obj/protocol/sendexe.o
> cc obj/protocol/server.o
> mkdir obj/stream
> cc obj/stream/file.o
> cc obj/stream/libusb.o
> cc obj/stream/streams.o
> cc obj/stream/tty_usb.o
> cc obj/stream/windows.o
> mkdir obj/utils
> cc obj/utils/ascii.o
> cc obj/utils/checksum.o
> cc obj/utils/escape.o
> cc obj/utils/filebuffer.o
src/utils/filebuffer.c: In function ‘p7_filebuffer_read’:
src/utils/filebuffer.c:28:2: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
fread(dest, size, 1, f);
^
> cc obj/utils/validate.o
> ld libp7.so.3
> mkdir man/man1
> a2x doc/libp7-config.1.txt
> mkdir man/man3
> a2x doc/p7_request.3.txt
> a2x doc/p7_init.3.txt
> a2x doc/p7_list.3.txt
> a2x doc/p7_backup_boot.3.txt
> a2x doc/p7_getscreen.3.txt
> a2x doc/p7_optimize.3.txt
> a2x doc/p7_delete.3.txt
> a2x doc/libp7.3.txt
> a2x doc/p7_createdir.3.txt
> a2x doc/p7_error.3.txt
> a2x doc/p7_sendfile.3.txt
> a2x doc/p7_sendexe.3.txt
> a2x doc/p7_buffer.3.txt
> a2x doc/p7_getfreemem.3.txt
> a2x doc/p7_strerror.3.txt
> a2x doc/p7_copy.3.txt
> a2x doc/p7_sinit.3.txt
> a2x doc/p7_reset.3.txt
make[1] : on quitte le répertoire « /tmp/p7-packaging/libp7/libp7-3.0 »
dh_auto_test
fakeroot debian/rules binary
dh binary
dh_testroot
dh_prep
dh_auto_install
make -j1 install DESTDIR=/tmp/p7-packaging/libp7/libp7-3.0/debian/tmp AM_UPDATE_INFO_DIR=no
make[1] : on entre dans le répertoire « /tmp/p7-packaging/libp7/libp7-3.0 »
> Installing the configuration tool.
> Installing the pkg-config configuration.
> Installing the library.
> Linking libp7.so to libp7.so.3.
> Installing development files.
> Installing manpages section 1.
> Installing manpages section 3.
make[1] : on quitte le répertoire « /tmp/p7-packaging/libp7/libp7-3.0 »
dh_install
dh_installdocs
dh_installchangelogs
dh_installman
dh_perl
dh_link
dh_strip_nondeterminism
dh_compress
dh_fixperms
dh_strip
dh_makeshlibs
dh_shlibdeps
dh_installdeb
dh_gencontrol
dpkg-gencontrol: avertissement: champ Depends du paquet libp7-3-dev : variable de substitution inconnue ${shlibs:Depends}
dpkg-gencontrol: avertissement: champ Depends du paquet libp7-3-doc : variable de substitution inconnue ${shlibs:Depends}
dh_md5sums
dh_builddeb
dpkg-deb : construction du paquet « libp7-3 » dans « ../libp7-3_3.0_amd64.deb ».
dpkg-deb : construction du paquet « libp7-3-dev » dans « ../libp7-3-dev_3.0_amd64.deb ».
dpkg-deb : construction du paquet « libp7-3-doc » dans « ../libp7-3-doc_3.0_all.deb ».
dpkg-genchanges >../libp7_3.0_amd64.changes
dpkg-genchanges: inclusion du code source original dans l'envoi (« upload »)
dpkg-source --after-build libp7-3.0
dpkg-buildpackage: envoi complet ; paquet Debian natif (inclusion du code source complet)
Now running lintian...
E: libp7 changes: bad-distribution-in-changes-file stable
W: libp7 source: out-of-date-standards-version 3.9.6 (current is 3.9.7)
Finished running lintian.
make : on quitte le répertoire « /tmp/p7-packaging/libp7 »
john@PC-VIEUX:/tmp/p7-packaging$ sudo make -C libp7 install
[sudo] Mot de passe de john :
make : on entre dans le répertoire « /tmp/p7-packaging/libp7 »
(Lecture de la base de données... 236914 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de libp7-3-dev_3.0_amd64.deb ...
Dépaquetage de libp7-3-dev (3.0) sur (3.0) ...
Préparation du dépaquetage de libp7-3-doc_3.0_all.deb ...
Dépaquetage de libp7-3-doc (3.0) sur (3.0) ...
Préparation du dépaquetage de libp7-3_3.0_amd64.deb ...
Dépaquetage de libp7-3:amd64 (3.0) sur (3.0) ...
Paramétrage de libp7-3-doc (3.0) ...
Paramétrage de libp7-3:amd64 (3.0) ...
Paramétrage de libp7-3-dev (3.0) ...
Traitement des actions différées (« triggers ») pour man-db (2.7.5-1) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.23-0ubuntu9) ...
make : on quitte le répertoire « /tmp/p7-packaging/libp7 »
Je sais pas si j'ai fait une fausse manip ou non mais j'ai suivi ce qui était indiqué sur le site
Citer : Posté le 07/03/2018 14:28 | #
Pour une alternative à FA-124, il me faudrait un programme/librairie par lequel je pourrais communiquer avec la calto (cad : un GUI en java, et p7 qui prend des commandes et me donne un output).
Les commandes (ou fonctions, si c'est une lib) seraient :
- Etablir une connexion avec la calculatrice
- Obtenir la liste de tous les fichiers
- Obtenir le contenu d'un fichier (voire de plusieurs en même temps)
- Transférer un fichier sur la calculatrice
- Faire une capture de l'écran (et capture vidéo)
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 08/03/2018 10:51 | #
Ben, p7.
Avec p7 pour les transferts, p7gui pour une GUI, p7screen pour la capture d'écran.
Ajouté le 08/03/2018 à 10:52 :
Plus sérieusement, la version actuelle est super bien foutue.
Citer : Posté le 08/03/2018 10:53 | #
En fait, ZZ demande un port de P7 sur Windows, afin de faire une GUI avec l'abominable Java. C'est sûr que si on précise pas ça, P7 correspond déjà à sa demande.
Citer : Posté le 25/04/2018 02:58 | #
Sur une réflexion d'un projet parallèle que je fais pour mes études, j'ai déplacé les p7utils dans le dépôt de la libcasio, dont le principal est hébergé sur ma forge (faudra que je fasse un miroir sur la forge de PC un de ces jours) :
https://forge.touhey.fr/casio/libcasio.git/
Les licences sont conservées : les sources et en-têtes de la libcasio sont sous LGPL3 (moins stricte que la GPL pour permettre l'utilisation du composant dans davantage de contextes) et les sources des utilitaires sont sous GPL2. J'ai foutu le reste sous LGPL3 par ~flemme, mais une licence davantage prévue pour la documentation pourrait être sympathique un jour.
Il y a donc actuellement deux dépôts que pour le coup je ne rejoindrai pas : la libcasio avec les utilitaires, et la référence FONTCHARACTER (encore sur Github). Le dépôt indépendant des p7utils est désuet et sera supprimé prochainement, quand je serai sûr d'avoir migré à peu près tout.
Quant à ce que la libcasio et les utilitaires permettent, je ne suis pas encore revenu au niveau de la libp7/libg1m au niveau de tout ce qui est communication et gestion des systèmes de fichiers. Par contre, au niveau du décodage de fichiers, ça roxxe sur les types de fichiers de base, même si pas mal de formats de fichiers sont dans la TODO list (plus ou moins exotiques). Et la documentation est encore en chantier complet, aussi.
Tout ça pour dire que le projet n'est pas mort
Mon blog ⋅ Mes autres projets
Citer : Posté le 25/04/2018 21:27 | #
Ah, c'est bien d'avoir up un peu tout ça. Je vais télécharger la version appropriée de p7 parce que je tourne toujours avec une version 2.0-indev dont le timestamp d'accès remonte à janvier 2017...
Edit : Mais qui marche extrêmement bien. Franchement, bravo.
Citer : Posté le 25/04/2018 21:28 | #
Pour l'instant t'as rien loupé sur tout ce qui est libcasio, j'en suis à la v0.1-indev et comme dit plus haut, ça n'égale pas ce que tu peux avoir avec la 3.0-indev… pour l'instant
Mon blog ⋅ Mes autres projets
Citer : Posté le 25/04/2018 21:34 | #
3.0 ? Je crois qu'il y a méprise.
En parlant de méprise, tu méprisais la version dont je dispose il y a déjà plusieurs mois donc je doute que ça ait changé.
Citer : Posté le 25/04/2018 21:39 | # | Fichier joint
En fait l'évolution du projet c'est un peu un bazar, parce que c'est pas mal de créations de projets et de fusions. Grosso modo (je fais de mémoire, y a des détails qui manquent je pense), pour te donner une idée du truc, ça donne ça :
Je suis pas vraiment le semver, je fonctionne en version majeure/mineure/indev. Les mineures doivent être rétrocompatibles avec mineures plus anciennes de la même majeure, et si c'est de l'indev, balec' (du coup je conseille à personne d'utiliser les versions indev).
Mon blog ⋅ Mes autres projets
Citer : Posté le 26/04/2018 18:06 | #
Bon ben j'ai cloné tout ça et je me suis retrouvé avec la fameuse version 0.1-indev, la seule qui existe niveau libcasio. Et là, p7 ne supporte aucune commande... o_o
Je n'ai pas trouvé de bug tracker donc j'ouvre un bug ici si tu le veux bien.
p7screen lance une boucle infinie, mauvais niveau de zoom par défaut
Version : p7screen de p7utils v0.1-indev
Compilation: ./configure; make; make install
Lancer p7screen fraîchement compilé sans options, et donc un niveau de zoom par défaut annoncé de 8, déclenche une boucle infinie qui affiche régulièrement Couldn't create the window: Window is too large. Le programme ne répond alors ni à SIGINT si à SIGTERM et doit être arrêté violemment.
Spécifier le niveau de zoom via p7screen -z 8 fonctionne très bien, ce qui laisse entendre que le niveau de zoom par défaut n'est pas réglé comme annoncé. Je peux spécifier tout niveau jusqu'à 16 sans problème (seules les décorations de fenêtre disparaissent à partir de 12).
Citer : Posté le 27/04/2018 02:54 | #
Comme dit plus haut, effectivement, p7 est à l'état de chantier et il faut que je réimplémente pas mal de choses de façon propre dans la libcasio concernant le protocole de communication. Je me suis pas mal concentré sur la mémoire principale de base, les archives etc, et moins sur les fichiers de stockage, voilà pourquoi. Mais j'y travaille !
Concernant le niveau de zoom de p7screen, ça m'étonne, c'est à 8 normalement… si tu pouvais m'envoyer le Makefile.cfg en réponse ou via MP, je t'en serais reconnaissant (normalement le zoom par défaut apparaît aussi dans p7screen --help). Concernant les signaux qui ne répondent pas, ça c'est parce que la SDL2 catche les signaux pour les retourner en tant qu'évènements. Je n'ai pas encore trouvé de façon propre pour gérer ça, il faut que je me penche sur la question de façon plus sérieuse. Et p7screen ne se met pas en boucle infinie, il s'est probablement connecté avec ta calto et est en attente du prochain paquet
Autrement, je travaille aussi sur une autre syntaxe pour p7, plus verbeuse et basée sur le positionnel que la précédente. L'idée principale était de pouvoir combiner des actions différentes dans une seule exécution de p7, et de pouvoir adapter l'interface à p7mcs (l'équivalent de p7 pour la mémoire principale). Les mauvaises langues diront que ça s'approche du SQL, mais je leur rétorque qu'il n'y a pas encore de conditions ni de boucles dans ma syntaxe (et qu'en plus elle est trop cool). Voici quelques exemples pour vous donner un aperçu de ce que ça va donner :
Affiche de l'aide concernant les sous-commandes disponibles.
Optimise la mémoire de stockage (sur la flash) et liste les fichiers sur la carte SD.
On commence à entrer dans du tordu. Ici, la connexion se passera, comme le préfixe on serial /dev/ttyUSB1 setting 115200N1 l'indique, sur la connexion série dont la liaison est disponible sur /dev/ttyUSB1 (interface USB-série que j'utilise pour me connecter à la calculatrice), sur laquelle on se met d'accord avec la calculatrice pour définir les paramètres de connexions à 115200 bauds, pas de parité, un bit de stop. Sur cette liaison, on envoie le fichier disponible localement sur ~/addin.g1a qu'on renomme ADDIN.g1a sur la calculatrice et qu'on place dans le dossier ADDINS.
De plus, le type de liaison parle aussi du protocole « applicatif » (les protocoles propriétaires utilisés pour les calculatrices CASIO ne sont pas vraiment pensées pour rentrer dans des couches du modèle OSI, mais supposons), donc ici par exemple, serial représente le protocole 7 au-dessus d'une liaison série et usb représente le protocole 7 au-dessus d'une liaison USB. On pourrait tout à fait imaginer l'introduction d'autres types, comme legacy, pour le protocole legacy, ou afx pour les AlgebraFX/Graph 100.
L'avantage de cette syntaxe est qu'on peut même faire varier la liaison sur plusieurs sous-commandes. Ici, on commence par définir la couche de liaison comme étant une liaison série sur /dev/ttyUSB1, où on définit les paramètres de connexion 115200 bauds, pas de parité, deux bits de stop, et où on dit à p7 de ne pas terminer la connexion pour qu'on puisse la reprendre plus tard. Sur cette liaison, on affiche la version de l'OS et l'ID de la calculatrice (product ID).
Ensuite, on change de liaison pour une liaison USB, et on récupère et affiche le nom d'utilisateur sur cette nouvelle liaison (la première liaison est fermée).
De plus, mais ce n'est guère plus qu'une idée pour le moment, j'aimerais implémenter une exécution de scripts externes avec quelque chose du type :
Mais j'ignore totalement ce qui peut se passer si je met un préfixe de liaison, etc. Je me pencherai sur la question quand j'aurai fini d'implémenter le reste.
J'espère avoir pu vous donner une idée de la puissance de la syntaxe que j'implémente au travers de ces quelques commandes. J'essaierai, quand j'aurai fini d'implémenter un décodeur correct pour cette syntaxe, de faire quelque chose de rétrocompatible avec les anciennes options et sous-commandes (en fait, celles du p7 actuel) pour que vos scripts ne soient pas complètement à la ramasse. De plus, on m'a également suggéré de proposer la gestion de chemins complets comportant nom, dossier et appareil de stockage, du type crd0:dossier/fichier.ext, que j'aimerais aussi implémenter en plus de la forme décomposée que j'ai un peu présentée au-dessus. Normalement tout ça devrait cohabiter de façon pas trop mauvaise
Mon blog ⋅ Mes autres projets