Gamoover

[move]Le staff Gamoover vous souhaite la bienvenue ;)

[Recalbox] vos questions sur la distro RecalBox

Démarré par ian57, Mercredi 09 Mars 2016, 21:27:55 PM

CdtPixel

Pour remettre le dossier /boot à l'état d'origine après un
# mount /boot -o remount,rw

je fais un :

# mount /boot -o remount,ro ?

juste pour écrire dans config.txt et remettre tout en place, ni vu, ni connu :)
Quand on renonce à ses rêves, on meurt !
Mon tuto plieuse métal DIY

ian57

"Après faut pas te flageller pour notre debilisme :D" Sushy18 à ian57









zebassprophet


ian57

Citation de: zebassprophet le Jeudi 10 Mars 2016, 14:14:08 PM
quid du mode vertical :D

pour l'instant j'suis en mode compilation/entraille du système... je teste pas trop...
"Après faut pas te flageller pour notre debilisme :D" Sushy18 à ian57









CdtPixel

#20
Citation de: ian57 le Jeudi 10 Mars 2016, 14:07:00 PM
oui tout à fait oubien tu rebootes

En fait c'est pour (dans mon script python) :
- passer en RW
- ecrire/modifier boot/config.txt
- passer en RO

donc il faut que je reboot ensuite :-)

donc pas besoin de repasser en RO :-))
Quand on renonce à ses rêves, on meurt !
Mon tuto plieuse métal DIY

CdtPixel

Alors pour l'ami Yann, comme promis voilà le code du script python qui permet d'utiliser 2 switchs ON OFF pour balayer les 4 possibilités de rotation d'écran :

1 switch à brancher entre GPIO17 (pin réelle 11) et une masse
1 switch à brancher entre GPIO27 (pin réelle 13) et une masse

Le premier switch contrôle la rotation 0-90°, le deuxième flip l'écran à 180°


#!/usr/bin/env python
# GPIOScreenRotate.py
# Import
import RPi.GPIO as GPIO
import os
import sys

# bypass write protection
os.system("mount /boot -o remount,rw")

# command line option to block reboot auto mode (for tests and shutdown exec)
# add N to the command line
# usage example : GPIOScreenRotate.py N
rebootMode = True
if len(sys.argv)>1:
if sys.argv[1]=="N":
rebootMode = False
print "Reboot mode disabled"

# Var init
rotationExists = False
currentRotationValue=0
newRotationValue=0

# to force the default rotation of screen (in case of particular setup)
defaultRotationValue=0
# to store default value
# add 'display_default_rotate=value' value [0,1,2,3] in /boot/config.txt
with open("/boot/config.txt","r") as f:
lines = f.readlines()
for line in lines:
if line.startswith("display_default_rotate="):
    defaultRotationValue=int(line.split("=")[1])
break
print "Default rotation=",defaultRotationValue

# GPIO init with BCM pin values
GPIO.setmode(GPIO.BCM)
rotatePin=17
flipPin=27

# GPIO init alternative mode with board pin values
#GPIO.setmode(GPIO.BOARD)
#rotatePin=11
#flipPin=13

# GPIO setup : wire each switch between GPIO pin and Ground
GPIO.setup(rotatePin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(flipPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

# Get the current rotation
with open("/boot/config.txt","r") as f:
lines = f.readlines()
for line in lines:
if line.startswith("display_rotate="):
    currentRotationValue = int(line.split("=")[1])
rotationExists = True
print "Current rotation found in /boot/config.txt :", currentRotationValue
break

# if line not exists in /boot/config.txt
# write the default value line at eof
if not rotationExists:
with open("/boot/config.txt","a") as f:
f.write("display_rotate=0")
print "Add display_rotate=0 to /boot/config.txt eof", currentRotationValue


# Get the GPIO rotation
# Get inverse value of switchs (because of PULL UP internal resistor) : ON=0 / OFF=1
newRotationValue = defaultRotationValue + (GPIO.input(rotatePin)+1)%2 + 2*((GPIO.input(flipPin)+1)%2)
newRotationValue = newRotationValue%4
#print "New rotation=", newRotationValue

# Cleaning GPIO changes
GPIO.cleanup()

# Compare current and new rotation value
# change /boot/config.txt if values are different
if currentRotationValue != newRotationValue:
rotationString = "display_rotate="+str(newRotationValue)+"\n"
# the display_rotate parameter is already in /boot/config.txt
if rotationExists:
with open("/boot/config.txt","r") as f:
    lines = f.readlines()

with open("/boot/config.txt","w") as f:
for line in lines:
if line.startswith("display_rotate="):
line = rotationString
f.write(line)
# the display_rotate parameter is not in /boot/config.txt
else:
with open("/boot/config.txt","a") as f:
    f.write(rotationString)
print "Rotation changed to ", newRotationValue
# reboot system
if rebootMode:
print "System must reboot"
os.system("shutdown -r now")
else:

# reactive write protection
os.system("mount /boot -o remount,ro")
print "No rotation change needed"


Ce code marche sur RAsPiCade (hors le mount/remount pas testé car inutile), il doit être lancé avec les droits root (mon dieu je parle Linux maintenant  ;D )
J'ai essayé de commenter au mieux dans la langue de l'auteur de théâtre bien connu outre manche  ;)

Oui j'ai changé mon avatar, celui là est plus adapté  =:))
Quand on renonce à ses rêves, on meurt !
Mon tuto plieuse métal DIY

mimso

j'ai déja tout ce qu'il faut en matière de frontend via hyperspin mais je testerai le rpi + recalbox par curiosité.
Du coup faut commencer par ou ? y a des tuto pour ca ?

merci

ian57

#23
Citation de: mimso le Jeudi 10 Mars 2016, 20:29:40 PM
j'ai déja tout ce qu'il faut en matière de frontend via hyperspin mais je testerai le rpi + recalbox par curiosité.
Du coup faut commencer par ou ? y a des tuto pour ca ?

merci

oui mais hyperspin c'est pour du PC sous windows.... là on est sur du linux et du raspi... rien à voir

pour ce qui est des tutos, ya le wiki de recalbox... il est bien fourni
"Après faut pas te flageller pour notre debilisme :D" Sushy18 à ian57









mimso

Citation de: ian57 le Jeudi 10 Mars 2016, 21:12:09 PM
oui mais hyperspin c'est pour du PC sous windows.... là on est sur du linux et du raspi... rien à voir

pour ce qui est des tutos, ya le wiki de recalbox... il est bien fourni

Ok merci j'etais justement en train de regarder sur le site de recallbox.
Jsuis qd meme bluffé par ce qu'arrive a faire ce ptit rpi2.
Jvais essayer de finir mon pincab (jsuis dessus depuis sept :-() et ptetre tenté l'aventure après ... Bon cqui fait chiez c de repartir de 0 encore une fois, mais bon qd on aime on compte pas ... les heures :-)

ian57

#25
Citation de: CdtPixel le Jeudi 10 Mars 2016, 19:26:34 PM
Alors pour l'ami Yann, comme promis voilà le code du script python qui permet d'utiliser 2 switchs ON OFF pour balayer les 4 possibilités de rotation d'écran :

Ce code marche sur RAsPiCade (hors le mount/remount pas testé car inutile), il doit être lancé avec les droits root (mon dieu je parle Linux maintenant  ;D )
J'ai essayé de commenter au mieux dans la langue de l'auteur de théâtre bien connu outre manche  ;)

Oui j'ai changé mon avatar, celui là est plus adapté  =:))

Oki merci, je vais regarder le code et tester la lib gpio sur recal. Pour rAsPiCade je te conseille d'utiliser les montage en RO pour le système... c'est plus sur pour la carte SD... tu perds le stockage des HighScore mais c'est mieux que de perdre la SD en cas de reboot sauvage.

Check that :D : https://sourceforge.net/p/rAsPiCade/discussion/general/thread/3e043bd2/

Sur recalbox, le system est en RO et le rep share (rom, bios, highscores) est en RW... super bien pensé...

je continue ma découverte interne de la distro...

Moi aussi il faut que je modifie mon avatar du coup... j'ai une petite idée.
"Après faut pas te flageller pour notre debilisme :D" Sushy18 à ian57









CdtPixel

Citation de: mimso le Jeudi 10 Mars 2016, 21:23:05 PM
Jsuis qd meme bluffé par ce qu'arrive a faire ce ptit rpi2.
Jvais essayer de finir mon pincab (jsuis dessus depuis sept :-() et ptetre tenté l'aventure après ... Bon cqui fait chiez c de repartir de 0 encore une fois, mais bon qd on aime on compte pas ... les heures :-)

En ce moment je suis entrain de tester le Pi3 sous OpenElec Kodi (ex XBMC) et je dois dire que je suis épaté, il me lit des gros mkv (30Go) sans broncher, récupère les affiches, descriptifs..., se commande directement depuis un téléphone (Yatse sur Play), certains plugins permettent d'ajouter bandes annonces en stream avant un film et même des vidéos d'intro, un autre génère un Quizz avec la médiathèque ... encore quelques tests et il rejoint direct ma salle de home ciné  =:))

C'est quand même dingue qu'on arrive à faire ça pour moins de 60€ tout compris !
Quand on renonce à ses rêves, on meurt !
Mon tuto plieuse métal DIY

CdtPixel

Citation de: ian57 le Vendredi 11 Mars 2016, 06:34:48 AM
Oki merci, je vais regarder le code et tester la lib gpio sur recal.

Tiens moi au courant  8)

Tu as reçu mon mail concernant les 15fps en vertical sous mame4all ?
Quand on renonce à ses rêves, on meurt !
Mon tuto plieuse métal DIY

ian57

pas eu le temps de tester ce jour, j'ai tenté de recompiler reicast pour recal sans succès...

j'ai eu ton mail. Même symptome de mon coté... faut voir avec recal maintenant
"Après faut pas te flageller pour notre debilisme :D" Sushy18 à ian57









zebassprophet

Citation de: CdtPixel le Vendredi 11 Mars 2016, 15:00:07 PM
Tiens moi au courant  8)

Tu as reçu mon mail concernant les 15fps en vertical sous mame4all ?

ah en vertical t'es emmerdé aussi?

CdtPixel

oui sous RAsPiCade en display_rotate=1 ou display_rotate=3 (écran à la verticale) :

Sous Advmame : j'ai une fenêtre réduite mais les fps semblent ok (mais bon c'est la même taille qu'en horizontal mais à la verticale), apparemment c'est un souci connu...
Sous Mame4All : ça marche bien au niveau de la taille écran (mais je suis entre 15 et 20fps alors qu'en horizontal c'est 60fps permanent donc ça rame)

Pas encore eu le temps de tester sous recalBox (prévu ce week-end)
Quand on renonce à ses rêves, on meurt !
Mon tuto plieuse métal DIY

ian57

Citation de: CdtPixel le Vendredi 11 Mars 2016, 15:28:33 PM
oui sous RAsPiCade en display_rotate=1 ou display_rotate=3 (écran à la verticale) :

Sous Advmame : j'ai une fenêtre réduite mais les fps semblent ok (mais bon c'est la même taille qu'en horizontal mais à la verticale), apparemment c'est un souci connu...
Sous Mame4All : ça marche bien au niveau de la taille écran (mais je suis entre 15 et 20fps alors qu'en horizontal c'est 60fps permanent donc ça rame)

Pas encore eu le temps de tester sous recalBox (prévu ce week-end)


le tout sur un Pi2? advmame et mame4all?
"Après faut pas te flageller pour notre debilisme :D" Sushy18 à ian57