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

                                    @Substring Oups voici le script en question :

                                    https://github.com/Choum28/Recalbox-Clcd/blob/master/S97LCDInfoText

                                    est ce que le fait qu'il y ait des majuscules dans som nom poserait un soucis ? toutes les autres scripts présent dans le dossier étant en minuscule...

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

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

                                      Au bout de 2h d'essai,je sèche !

                                      @Substring qu'entends tu par :
                                      "S'il ne se lance pas, peut etre que certains chemins sont en relatif et non en absolu" ?
                                      Il me semble que dans le script, les chemins sont bien en absolus :
                                      RUN="/recalbox/scripts/recalbox_clcd.py"
                                      RUNSTOP="/recalbox/scripts/recalbox_clcd_off.py"

                                      Je n'ai pas non plus compris ceci : "Le mieux ca reste de mettre ca dans ~/custom.sh pour moultes raisons" comment fait on ?

                                      Merci 😛

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

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

                                        @tong-man tu as essayé de le lancer manuellement pour voir ? /etc/init.d/S97LCDInfoText start

                                        Si ca plante, essaie avec bash -x /etc/init.d/S97LCDInfoText start et tu me mets le résultat ici en l'encadrant de triples back quotes stp

                                        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 tong-man

                                          @substring Oui ca fonctionne quand je le lance comme çà :

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

                                          idem comme ceci :

                                          + RUN=/recalbox/scripts/recalbox_clcd.py
                                          + RUNSTOP=/recalbox/scripts/recalbox_clcd_off.py
                                          ++ ps -eo pid,args
                                          ++ grep -v grep
                                          ++ awk '{print $1}'
                                          ++ grep '/usr/bin/python ../../recalbox/scripts/recalbox_clcd.py'
                                          + BTD_PID=
                                          + case "$1" in
                                          + echo -e 'Starting script /recalbox/scripts/recalbox_clcd.py ...'
                                          Starting script /recalbox/scripts/recalbox_clcd.py ...
                                          + '[' -z '' ']'
                                          + '[' 0 -eq 0 ']'
                                          + echo -e '/etc/init.d/S97LCDInfoText [STARTED]'
                                          /etc/init.d/S97LCDInfoText [STARTED]
                                          + exit 0
                                          + nice -n 19 /recalbox/scripts/recalbox_clcd.py
                                          #
                                          

                                          Par quand je reboote ou stop/start le rpi, le script ne se lance pas auto 🙂

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

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

                                            précision, une fois le script lancée en "manuel", lorsque je redémarre ou éteins recalbox, le script s'arrête correctement car l'afficheur s'éteint...

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

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

                                            Want to support us ?

                                            78
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com