Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Relier à un écran et afficher du texte ?

    Manettes/GPIO/Encodeurs
    relier afficher texte
    14
    162
    79475
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Substring
      Substring @godhunter74 last edited by

      @godhunter74 tu veux afficher quoi ?

      Former dev - Please reply with @substring so that i am notified when you answer me
      Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

      1 Reply Last reply Reply Quote 0
      • godhunter74
        godhunter74 last edited by godhunter74

        @Substring pour information je suis en 4.1 instable raspberry 2
        J'aimerais détecter le lancement d'une rom pour afficher le nom de son émulateur et son propre nom.
        Détecter la fermeture d'un jeu pour reafficher mon affichage de base.
        Et plus tard j'aurais aimer afficher la navigation dans les consoles et les rom...
        Merci de prendre le temps de me lire !!!

        Relier un écran I2C et afficher des informations sur les roms

        Substring 1 Reply Last reply Reply Quote 0
        • Substring
          Substring @godhunter74 last edited by

          @godhunter74 pipi de chat ca. Tu as plusieurs facon :

          • en shell : pas tres elegant, mais efficace : créer un démon qui se lance avec recalbox, scruter toutes les secondes le lancement d'emulatorlauncher.py et en scruter les parametres. Ca c'est à l'epreuve de tout
          • en python : modifier configgen pour obtenir direct les infos que tu veux

          Obligé de nous faire une video quand ca marchera 😉

          Former dev - Please reply with @substring so that i am notified when you answer me
          Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

          1 Reply Last reply Reply Quote 0
          • godhunter74
            godhunter74 last edited by

            T'aura vidéo et tutorial complet !!!
            Je vais suite à ta réponse très certainement essayer .... Les deux...

            Je reviens vers vous aux prochains blocages.

            Relier un écran I2C et afficher des informations sur les roms

            godhunter74 1 Reply Last reply Reply Quote 1
            • godhunter74
              godhunter74 @godhunter74 last edited by

              @Substring
              Puis-je insérer directement du code python dans emulatorlauncher.py ? (à mes risques et périls...)
              Il devrait être interprété à chaque lancement d'émulateur ?

              Relier un écran I2C et afficher des informations sur les roms

              Substring 1 Reply Last reply Reply Quote 0
              • Substring
                Substring @godhunter74 last edited by

                @godhunter74 oui mais il sera perdu à chaque update

                Former dev - Please reply with @substring so that i am notified when you answer me
                Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                1 Reply Last reply Reply Quote 0
                • godhunter74
                  godhunter74 last edited by godhunter74

                  @Substring
                  Temporairement pour mes essais je vais procéder ainsi, je ferais mieux quand je maîtriserais mieux.
                  Merci pour tes réponses.

                  J'ai du coup quelques autres questions qui me sont venues.

                  1. puis je rétablir l'affichage par défaut de mon écran juste avant le exit(exitcode) :

                    time.sleep(1)
                    exit(exitcode)

                  Local Variables:

                  tab-width:4

                  indent-tabs-mode:nil

                  End:

                  vim: set expandtab tabstop=4 shiftwidth=4:

                  Ou bien le exit ne quitte pas l'emulateur?
                  2) Y a t'il un moyen de récupérer l'emulateur et le nom de La rom en surbrillance lorsque l'on navigue sur l'écran principal ?

                  1. à quels moments/événements sont lancés ces scripts :
                    Command.py
                    Emulator.py
                    init.py
                    controllersConfig.py
                    emulatorlauncher.py
                    recalboxFiles.py
                    recalboxFilesRecalbox.py
                    recalboxFilesUbuntu.py
                    ?
                    Y a t'ils d'autres répertoires de scripts qui sont lancés et avec lesquels je pourrais interagir avec l'écran ou rien d'intéressant à afficher ?

                  Par avance merci.

                  Relier un écran I2C et afficher des informations sur les roms

                  Substring 1 Reply Last reply Reply Quote 0
                  • Substring
                    Substring @godhunter74 last edited by

                    @godhunter74

                    1. l'affichage par defaut de ton afficheur ? oui, tu dois le coder
                    2. non, pas a ma connaissance. Ca impliquerait que ES devienne extrêmement bavard, rien de prévu là-dessus encore. Mais un programmeur C++ talentueux pourrais implenter ca en dbus ca serait cool
                    3. tu ne dois pas beaucoup connaitre python pour poser cette question 😉 le seul qui t'intéresserait c'est emulatorlauncher car c'est lui qui est appelé par ES pour lancer un emulateur. Les autres fichiers : soit ils servent à tester (recalboxfilesRecalbox et recalboxfilesubuntu), sinon ils sont nécessaires (init.py lui c'est autre chose)

                    J'insiste : fais en shell, ca serait bcp plus simple

                    Former dev - Please reply with @substring so that i am notified when you answer me
                    Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                    godhunter74 1 Reply Last reply Reply Quote 0
                    • godhunter74
                      godhunter74 @Substring last edited by

                      @Substring
                      1)ok je code mon retour à l'affichage par défaut juste au dessus du exit

                      2)ok pour l'instant je passe... si quelqu'un est chaud pour m'aider je veux bien y mettre tous les efforts et le temps possible ...

                      3)Effectivement je ne connais à la base que php js et requêtes SQL... c'est un nouveau monde pour moi. Que ce soit Linux avec , Shell, ou Python. J'ai à peine joué avec quelques tutoriels d'idleman concernant la domotique....

                      Merci pour ta disponibilité !!!

                      Relier un écran I2C et afficher des informations sur les roms

                      1 Reply Last reply Reply Quote 0
                      • godhunter74
                        godhunter74 last edited by

                        @Substring
                        Bonjour à toi et encore une fois merci pour ta disponibilité.
                        Je suis chaud je vais faire ca en Shell.
                        Dois-je lancer mes scripts depuis le tiens ?
                        Ou existe-t-il une autre méthode qui surveillerai si le processus se lance ?
                        En gros j'aimerais savoir comment intégrer ça en respectant le plus possible votre façon de programmer
                        Dans le cas de la deuxième solution comment puis-je récupérer le nom du système et le nom de la Rom?
                        A priori dans mon script je vais utiliser le symbole $ suivi de chiffre :

                        get the system name

                        system=$1

                        get the emulator name

                        emul=$2

                        get the full path filename of the ROM

                        rom=$3
                        Par avance merci

                        Relier un écran I2C et afficher des informations sur les roms

                        1 Reply Last reply Reply Quote 0
                        • Substring
                          Substring last edited by

                          Bon, part de lpus loin et fais la chose suivante :

                          • un démon S99display par exemple
                          • qui fera un bon gros while(1) traduit en shell
                            • si tu trouves emulatorlauncher.py, (ou un autre) hop tu fais ton joujou
                            • sleep 1 seconde

                          découper ca en fonctions, penser au & pour que le démon rende la main. Sinon tu peux créer un shell, et le S99 lui appelle start-stop-daemon pour ton shell, ce qui est plus sympa au final (regarde le S32bluetooth ou le S50dropbear comment on fait)

                          Former dev - Please reply with @substring so that i am notified when you answer me
                          Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                          1 Reply Last reply Reply Quote 0
                          • godhunter74
                            godhunter74 last edited by

                            @Substring
                            Bonsoir Si je trouve emulatorlauncher.py (c'est le cas) comment puis je extraire le nom de la rom et du system ?

                            Relier un écran I2C et afficher des informations sur les roms

                            Substring 1 Reply Last reply Reply Quote 0
                            • Substring
                              Substring @godhunter74 last edited by

                              @godhunter74 fais un ps quand un emulateur tourne, ca saute aux yeux !!!

                              Former dev - Please reply with @substring so that i am notified when you answer me
                              Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                              1 Reply Last reply Reply Quote 0
                              • godhunter74
                                godhunter74 last edited by

                                @Substring
                                Bonjour, j'ai fait des PS en pagaille et à chaque fois je crois que la fin de la ligne est tronquée car je ne trouve pas le jeu que j'ai lancé, La ligne s'arrête pile poil sur /roms
                                Et je ne sais vraiment pas concrètement par quelle commandes je peux exporter le résultat du PS et le filtrer.

                                Relier un écran I2C et afficher des informations sur les roms

                                Substring 1 Reply Last reply Reply Quote 0
                                • Substring
                                  Substring @godhunter74 last edited by

                                  @godhunter74 tu ne connais pas beaucoup linux toi hein ? 😉 C'est normal que ca tronque puisque ton terminal limité en largeur. Le mieux dans ton cas est de stocker le résultat dans une variable puis de chercher les options que tu veux avec des cut ou des sed.

                                  Au pire la ligne complète apparait dans le es_log.txt dans ~/.emulationstation donc tu peux partir avec ca comme base avant de te coltiner les ps.

                                  Et dans le pire des cas (si je n'trvaille pas faudra que je reprenne la boîte de papaaaaaaa ... oups je m'égare haha), dans /proc/<pid>/cmdline tu as la ligne de commande complète sans espaces. Moins rigolo à utiliser, mais bon ...

                                  Allez je t'aide :

                                  COMMANDLINE=`ps | grep emulatorlauncher.py | grep -v grep | tr -s ' ' | cut -d '  ' -f 4-`
                                  

                                  Je traduis :

                                  1. les des processus
                                  2. ne garde que ceux ayant emulatorlauncher.py dedans
                                  3. exclue ceux qui ont grep dedans (bah oui, quand tu grep, grep est un processus !)
                                  4. si tu trouves plusieurs espacs consécutifs, réduis-les à 1 seul
                                  5. découpe les champs sur le séparateur espace, prend du 4e jusqu'à la fin

                                  A l'issue, si tu fais echo $COMMANDLINE ca devrait t'afficher la ligne complète. Bon je n'ai pas pu tester là, mais ca devrait etre bon

                                  Former dev - Please reply with @substring so that i am notified when you answer me
                                  Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                  1 Reply Last reply Reply Quote 0
                                  • godhunter74
                                    godhunter74 last edited by

                                    Merci c'est super je m'y met ce soir et je fais un retour dès que possible !!!

                                    Relier un écran I2C et afficher des informations sur les roms

                                    1 Reply Last reply Reply Quote 0
                                    • godhunter74
                                      godhunter74 last edited by godhunter74

                                      @Substring
                                      Ça marche !!!
                                      C'est pas propre
                                      C'est pas top
                                      Mais ça marche je vais mettre une petite vidéo pour commencer

                                      Relier un écran I2C et afficher des informations sur les roms

                                      godhunter74 1 Reply Last reply Reply Quote 0
                                      • godhunter74
                                        godhunter74 @godhunter74 last edited by godhunter74

                                        @Substring
                                        Quand tu va voir mes grep tu vas hurler 😂
                                        http://www.youtube.com/watch?v=pdSkxmWYvmc

                                        Relier un écran I2C et afficher des informations sur les roms

                                        1 Reply Last reply Reply Quote 0
                                        • acris
                                          acris last edited by

                                          Cest dommage pour la vidéo on va pas l affichage sur l autre écran.

                                          1 Reply Last reply Reply Quote 0
                                          • godhunter74
                                            godhunter74 last edited by godhunter74

                                            @Substring
                                            Pour commencer, voici mon horreur :

                                            rom = run_cmd("ps | grep emulatorlauncher.py | grep -v 'c python' | grep -v grep | tr -s ' ' | cut -d '/' -f15 | cut -d '.' -f1")
                                            system = run_cmd("ps | grep emulatorlauncher.py | grep -v 'c python' | grep -v grep | tr -s ' ' | cut -d ' ' -f19")

                                            Et il me reste un problème, mon script est python... et j'ai tenté ça dans un S99I2Cscreen :

                                                  #!/bin/bash
                                                  python /recalbox/share/scrolling/retropie_clcd.py
                                            

                                            placé dans le init.d et ca ne marche pas... as tu une idée ?
                                            EDIT : si je me place da,s le rep et lance manuellement tel que ci-dessous le S99retropie_clcd est bien lancé et le script python démarre !!!
                                            cd /etc/init.d
                                            ./S99retropie_clcd

                                            @acris
                                            je suis désolé mais le téléphone sature sur le LCD je me suis inspiré à 95% de zzeromin et 5% de Substring, voici une des vidéos de zzeromin plus lisible https://www.youtube.com/watch?v=W6jqBTqPqjw&feature=youtu.be

                                            Relier un écran I2C et afficher des informations sur les roms

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Want to support us ?

                                            71
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com