Relier à un écran et afficher du texte ?
-
@voljega pas compris développe
-
@acris ben genre t'as ton bartop avec les boutons :
456
123Et l'écran t'affiches par exemple pour l'emulateur SNES :
1 = B, 2 = A, 3 = R, 4 = Y, 5 = X, 6 = LOu ds l'autre sens (A = 1)
Voire mais demandes l'écriture d'une conf pour chaque jeu les vrais commandes : 1 = Kick, 2 = Jump, etc etc
-
ça rejoint la demande d'un recalboxien sur les move pour les beats em up, tu avais suggéré le fichier command.ini de mémoire par contre j ai pas trouvé ce fichier
-
@acris command.dat je crois mais c'est pour mame ça, il se trouve sur ts les sites mame, progetto-snaps par exemple
-
@voljega ah oui en dat, par contre dommage pas de format xml
-
J'ai déjà fait un post d'explication concernant la mise en place de l2C.
https://forum.recalbox.com/topic/5777/relier-à-un-écran-et-afficher-du-texte/57voici le script complet en attendant le tutoriel
Il faut aussi prendre les fichiers du script original de zzeromin sur son github https://github.com/zzeromin/RetroPie-Clcd/
Il ne faut pas tout prendre bien que ça ne pose pas de problème...
Les fichiers nécessaires sont les fichiers
I2C_LCD_driver.py (comme son nom l'indique il sert d'interface entre l'IIC et le script principal)
lcdScroll.py (fichier appelé juste pour le scroll)Il faut vérifier l'adressage I2C comme indiqué dans le 1er lien mise en place de l'i2c :
i2cdetect -y 1 ... et éditer le fichier I2C_LCD_driver.pyediter La ligne #22 dans I2C_LCD_driver.py 0x27 ou 0x3f
A bientot pour le tutoriel...
-
@godhunter74 pour le tuto il faut TOUT mettre.
-
@acris J'imagine bien c'est pour ça qu'il n'est pas encore fait... mais je me suis dit que ça intéresserait peut être de survoler ces fichiers pour certain.
Édit :
pour information j'ai retrouvé dans un carton une alimentation de hub USB à 3,8 A !!!Elle est stable, Pas d'éclair et tt fonctionne j'ai juste envie de greffer un amperemetre par curiosité...
-
@godhunter74 said in Relier à un écran et afficher du texte ?:
Voici les 1ères étapes pour activer l'I2C, brancher l'écran et le detecter...
Pour activer l'I2C
je suis allé dans : /lib/modules/4.4.13-v7/kernel/drivers/i2c/ récuperer le fichier i2c-dev.ko pour le placer dans /lib/modules/i2c-dev.ko
je suis allé dans : /lib/modules/4.4.13-v7/kernel/drivers/i2c/busses/ récuperer le fichier i2c-bcm2708.ko pour le placer dans /lib/modules/i2c-bcm2708.koEnsuite je suis allé dans /etc/ éditer le fichier modules.conf j'ai ajouté à la fin :
i2c-bcm2708
i2c-devPour brancher l'écran
Detecter l'écran
Il faudra vérifier votre adresse I2C du 16x2 CLCD...
i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- 3F -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --j'ai oublié 2 points indispensables à la fin de /boot/config.txt
ajouter#Activate I2C
dtparam=i2c1=on
dtparam=i2c_arm=onet à la fin de /boot/cmdline.txt ajouter
bcm2708.vc_i2c_override=1 -
@Substring peux tu répondre brièvement par oui ou par non ?
Lorsque l'on met à jour recalbox certaines modifications sont perdues (je vois ca entre autre pour le sujet pico8)
Perd-on :
Config.txt ?
Cmdline.txt ?
S99custom ?
Dois je faire un .pyc pour mon script (ca marche en .py mais bon)
Dernière question ouverte, mon script doit en plus bidouiller une led et la console me dit que mon port GPIO est déjà utilisé alors que pour ma part ce n'est pas le cas.
Pour le système y'a des ports réservés ?
Ou plus simplement puis-je libérer le port par une commande ?
Par avance merci. -
et faire une pull request pour que ce soit intégràé par recalbox `?
-
@godhunter74 said in Relier à un écran et afficher du texte ?:
Config.txt ?
Cmdline.txt ?
S99custom ?aucun des 3 parce qu'ils peuvent être custom, donc on garde celui du user
.pyc c'est du python compilé, rien de grave, et pas indispensable
Quel port pose problème ? par quel script ? Quel est le mode de numérotation des ports ? BCM ou l'autre ?
-
@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. -
@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 !!! -
@godhunter74 Tu as beoin de l'I2C ?
-
@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.... -
@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.
-
@Substring
J'ai presque compris
C'est du boulot pour vous et apres du boulot pour moi -
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. -
-
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 ?)