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
    79477
    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.
    • godhunter74
      godhunter74 @Substring last edited by godhunter74

      @Substring
      Pour le Python compilé par curiosité, pour chaque modèle de pi La compilation serait différente ?

      Merci pour toute ces réponses j'ai câblé ma led sur pin 33 BCM13 j'ai spécifié BCM et 13 dans mon script.
      Le script est celui de mon écran s'il détecté un émulateur lancé il affiche les info sur l'écran et allume la led, s'il détecte pas d'emulateur, il eteint la led et affiche qu'il faut lancer un jeu.
      Je peux fournir le script si nécessaire.
      Encore merci.

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

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

        @acris said in Relier à un écran et afficher du texte ?:

        et faire une pull request pour que ce soit intégràé par recalbox `?

        Je viens de remonter et de découvrir ton message.
        Y'a un tutorial ou guide qui me permettrai de faire ca dans les règles de l'art ?
        Comme tu peux le lire juste au dessus j'integre des fonctionnalités "inutiles" a 99% des utilisateurs, ma ps2 a deux voyants je voulais 2 Led...
        Comment savoir ce que je "partage" d'utile réellement???
        Enfin, ce qui m'inquiète terriblement c'est le conflit avec le script rpi356 (bouton power, bouton reste et led) qui utilise les ports i2c mais pas pour de l'i2c
        comment faire ? Si je demandais de muter le script sur d'autres port, déjà je pense que l'on me dira non, tous les utilisateurs de ce script seraient cond**nés à recabler leur boutons .... terrible problème... donne moi des réponses et je le fais !!!

        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 as beoin de l'I2C ?

          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 oui clairement.
            L'écran est branché en I2C effectivement pour n'utiliser que 2 pin plutot qu'une dizaine
            Je n'ai pas réussi à utiliser l'écran sans I2C mais je crois que j'ai cafouillé et que c'est possible.
            Je pourrais proposer une version non I2C d'ici quelques semaines mais c'est pareil c'est beaucoup de ports GPIO pour rien au détriment d'une manette ou autre....

            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 ca fait un moment que je pense à unifier les scripts GPIO sous un seul et unique python, j'en parle depuis un moment à @supernature2k. Mais je n'ai vraiment pas fait d'efforts là-dessus, je réchigne un peu 😄

              Techniquement tu peux changer les pins qui servent pour eteindre/allumer recalbox.

              Les sticks sur gpio prennent deja les broches I2C si on ne fait rien. Je ne sais plus si le driver arcade GPIO actuel de recalbox est configurable ou pas. @ian57 tu sais ? Faut voir si la branche avec hotkey le permet ou pas, et un jour fusionner avec la branche de base qui elle contient la customisation des GPIO.

              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
                J'ai presque compris 😂
                C'est du boulot pour vous et apres du boulot pour moi 😁

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

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

                  Merci pour les infos !
                  J'ai suivi les infos laissés par Godhunter74 et j'ai aussi réussi à faire fonctionner un écran LCD HD77480 avec I2c sous recalbox 4.1.

                  Cependant j'ai adapté le script fourni plus haut car de base celui ne fonctionne pas.

                  • Il plantait systématiquement lorsque qu'aucun émulateur était en fonctionnement ,le script ne semblait pas prendre en compte cette possibilité, j'ai donc rajouter une condition si le processus retroarch n'est pas trouvé.

                  • J'ai aussi passé en Français les infos qu'affiche le script (date etc...) et mis en place une routine qui remplace les caractères accentués pour les écran lcd ne supportant pas les caractères Européens (en gros il existe une version HD77480A00 qui support les caractères japonais en plus de l'ASCII, et une version HD77480A02 qui support les caractère Européens en plus de l'ASCII).

                  • J'ai aussi ajouté l'ensemble des systèmes manquant dans le script.

                  Une fois complètement testé, je le mettrai sur un pastebin.

                  Cependant je bloque sur un truc bête, Je suppose que je dois créer un processus dans init.d pour ce genre de script ?

                  Si oui ne connaissant pas trop le Bash linux, le script suivant est-il correct ?

                  https://pastebin.com/EQcnLZR8
                  Je l'ai récupéré d'un autre topic.

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

                    J'ai terminé de déb****r le script.
                    Il ne plante plus quelque soit l'émulateur, il y avait un problème lorsque le scrap comprenait des sous dossiers comme sur Dreamcast ou cavestory.
                    J'ai aussi terminé le service init.d pour démarrer / stopper proprement le script.

                    Cela vaut-il le coup que je mette toute ma procédure sur le wiki (comment installer, faire reconnaître l'écran 2ic, installer le script sous recalbox ?)

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

                      Bonjour @Choum
                      Merci pour ta contribution.
                      Oui un tuto serait bienvenue et mettre à dispsition tes scripts sur github aussi.

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

                        Ok je suis en train de me battre avec github pour mettre cela en ligne.

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

                          Tout est upload la avec la documentation
                          https://github.com/Choum28/Recalbox-Clcd

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

                            Bravo 😄

                            sudo i2cdetect -y 1
                            

                            la commande sudo n'est pas disponible sur recalbox.

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

                              C'est corrigé, je suis repartie en partie du readme de l'auteur original d'où cette erreur.

                              1 Reply Last reply Reply Quote 0
                              • tong-man
                                tong-man last edited by tong-man

                                Bonjour,

                                Je viens de recevoir ce type d'écran un afficheur de ce type avec i2c présoudé puis j'ai suivi à la lettre le tuto :
                                https://github.com/Choum28/Recalbox-Clcd

                                Tout d'abord merci aux auteurs et dev de ce script, ca parait très prometteur...

                                J'ai pu d'abord y relever 2 petites erreurs dans le tuto mais rien de grave :
                                1:
                                Chmod +x /recalbox/scripts/recalbox_clcd_off.py > recalbox_clcd.py ?
                                Chmod +x /recalbox/scripts/recalbox_clcd_off.py
                                Chmod +x /recalbox/scripts/I2C_LCD_driver.py
                                Chmod +x /recalbox/scripts/lcdScroll.py
                                Chmod +x /etc/init.d/S97LCDInfoText
                                @Choum @acris
                                hors mis le fait que la commande chmod ne s'écrit pas avec un c majuscule, sinon elle n'est pas comprise...

                                2:
                                ..que fait t'on du fichier recalbox_clcd.lang ?

                                Dans le doute je l'ai mis aussi dans /recalbox/scripts/ et lui ai aussi mis l'attribut d'être exécuté.

                                Pour le moment, cela ne fonctionne pas pour moi, le rétroéclairage s'allume et s'éteint avec le rpi, mais je n'ai pour le moment obtenu aucun affichage.

                                i2cdetect -y 1
                                /recalbox/scripts$ i2cdetect -y 1
                                0 1 2 3 4 5 6 7 8 9 a b c d e f
                                00: -- -- -- -- -- -- -- -- -- -- -- -- --
                                10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                                20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- --
                                30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                                40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                                50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                                60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
                                70: -- -- -- -- -- -- -- --

                                j'ai bien mis ADDRESS = 0x27 dans I2C_LCD_driver.py

                                Une idée de ce qui peut coincer ? 😛
                                PI j'ai un afficheur 1602A.

                                Tips RecalBox > https://lc.cx/xAcs

                                tong-man 1 Reply Last reply Reply Quote 0
                                • tong-man
                                  tong-man @tong-man last edited by tong-man

                                  ... alors je viens de voir que dans le script recalbox_clcl.py, il fallait commenter quelques lignes si l'on possédait un HD44780A02.

                                  Ce que j'ai fait, et pareil, rien ne s'affiche au reboot suivant.

                                  j'ai lancé le script à la main, il ne retourne pas d'erreur ni ne s'arrête lorsque je lance un jeu ou l'arrête.
                                  edit :

                                  Toutes ces séquences fonctionnent en manuel :

                                  ./S97LCDInfoText

                                  Usage: ./S97LCDInfoText {start | stop | restart | status}

                                  ./S97LCDInfoText start

                                  Starting script /recalbox/scripts/recalbox_clcd.py ...
                                  ./S97LCDInfoText [STARTED]

                                  ./S97LCDInfoText restart

                                  Restarting script /recalbox/scripts/recalbox_clcd.py ...
                                  Stopping script /recalbox/scripts/recalbox_clcd.py ...
                                  Starting script /recalbox/scripts/recalbox_clcd.py ...
                                  ./S97LCDInfoText [RESTARTED]

                                  ./S97LCDInfoText stop

                                  Stopping script /recalbox/scripts/recalbox_clcd.py ...
                                  ./S97LCDInfoText [STOPPED]

                                  cette dernière éteint bien l'afficheur.

                                  Tips RecalBox > https://lc.cx/xAcs

                                  1 Reply Last reply Reply Quote 0
                                  • tong-man
                                    tong-man last edited by tong-man

                                    ...Bon ca marche xD

                                    Svp rajouter dans le tuto :

                                    • Derrière l'i2C il y a un potentiomètre qui permet de régler le contraste. il était au minimum xD

                                    EDIT :
                                    Dernier petit soucis à régler néanmoins, le fichier S97LCDInfoText que j'ai posé dans /etc/init.d n'a pas l'air de se lancer au démarrage de recalbox...

                                    Tips RecalBox > https://lc.cx/xAcs

                                    Substring 1 Reply Last reply Reply Quote 0
                                    • Substring
                                      Substring @tong-man last edited by

                                      @tong-man il est exécutable au moins ? Le mieux ca reste de mettre ca dans ~/custom.sh pour moultes raisons

                                      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é

                                      tong-man 1 Reply Last reply Reply Quote 0
                                      • tong-man
                                        tong-man @Substring last edited by

                                        @substring Salut ! oui il l'est (attributs en rwxr-xr-x) commes les autres scripts dans /etc/init-d/

                                        Il est par contre vrai que ce script attend un paramètre :

                                        ./S97LCDInfoText

                                        Usage: ./S97LCDInfoText {start | stop | restart | status}

                                        je m'en vais en quete de ce custom.sh. merci

                                        Tips RecalBox > https://lc.cx/xAcs

                                        Substring 1 Reply Last reply Reply Quote 0
                                        • Substring
                                          Substring @tong-man last edited by

                                          @tong-man le script recoit automatiquement start au lancement et stop au shutdown, donc pas d'inquiétude à avoir pour ca. S'il ne se lance pas, peut etre que certains chemins sont en relatif et non en absolu. Tu veux que je le regarde ? il est où ?

                                          Pour l'histoire du custom.sh : en prévision de ce qu'on a dans les cartons pour Recalbox, c'est mieux de ne pas toucher au /

                                          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
                                          • tong-man
                                            tong-man last edited by tong-man

                                            comme dit dans le tuto :
                                            Copy S97LCDInfoText to /etc/init.d/

                                            je veux bien que tu regardes. merci @Substring

                                            https://github.com/Choum28/Recalbox-Clcd

                                            Après chaque reboot, il ne se lance pas tout seul 😞
                                            /etc/init.d$ cd /etc/init.d
                                            /etc/init.d$ ./S97LCDInfoText status
                                            ./S97LCDInfoText [NOT RUNNING]
                                            /etc/init.d$ ./S97LCDInfoText start
                                            Starting script /recalbox/scripts/recalbox_clcd.py ...
                                            ./S97LCDInfoText [STARTED]

                                            Tips RecalBox > https://lc.cx/xAcs

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

                                            Want to support us ?

                                            92
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com