Relier à un écran et afficher du texte ?
-
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-ClcdTout 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. -
... 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.
-
...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... -
@tong-man il est exécutable au moins ? Le mieux ca reste de mettre ca dans
~/custom.sh
pour moultes raisons -
@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
-
@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 /
-
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] -
@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...
-
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
-
@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 -
@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
-
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...
-
Salut,
Ce problème ne me dit rien, je n'ai pas eu de soucis particulier lorsque j'ai réinstallé mon pi3 sur la 4.1 stable.
Par contre je n'ai jamais testé le script sur une version A02 (pas trouvé d'afficheur avec cet rom).
Le fichier lang doit bien aller dans le dossier scripts. -
Merci @Choum.
En tout cas une fois lancé tout fonctionne correctement. Faut je trouve une autre combine pour le lancer avec es.
-
Enfin j'aimerai bien comprendre pourquoi il ne démarre pas. Tous les scripts qui sont dans le dossier /etc/unit.d/ sont t'ils sensés démarrer tout seul ? Y a t'il moyen de vérifier ce qui se passe au boot?
-
oui le système démarre les services (pas les scripts) les uns à la suite des autres par ordre alphabétique je crois (C'est le service qui lance le script).
Une des possibilité est un script ou service qui se lance et qui ne rend pas la main.
Tu n'as pas ajouté d'autre fichiers "non vanilla" dans init.d ?
-
@choum non aucun autre fichier ajouté que le S97LCDInfoText dans le init.b
Je vais essayé de voir si effectivement un des service ne rendrait pas la main.
Si je le renomme avec un chiffre inférieur il va se lancer avant les autres ? Genre S80.
-
oui, faut juste pas le lancer trop tôt non plus (histoire d'avoir au moins le réseau pour pouvoir couper les process si problème de démarrage).
-
@choum OK je reprendrai ça demain ... Il me semble en avoir modifié un il faut que je retrouve lequel c'est peut être lui qui ne rend plus la main à temps...bonne soirée
-
Bonjour à tous,
Problème résolu, en remontant le service S97LCDInfoText en position S14LCDInfoText.
@Substring @Choum merci pour le coup de pouce.