Bonjour, je travaille sur un Piface pour RaspBerry PI2

Je teste l'appui sur les 4 boutons pressoirs

J'ai 3 scripts

main.py
pifacetest.py
card.py

Dans main.py : je place un signal b1 (b2, b3, b4 ne sont pas activé pour simplifier)
qui doit se connecter avec le slot de card.py

le signal b1 est emit() lors de l'appui sur le bouton pressoir dans piface

Tout fonctionne bien sauf que le Slot est ignoré (le message print'Plusieurs balles' est ignoré)

Voici les 3 scripts , si une idée surgit, çà me ferait très plaisir

main.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
from pifacetest import PiFaceControl
import sys
 
from PySide import QtGui
from PySide.QtCore import *
from card import Card
 
def main():
	app = QtGui.QApplication(sys.argv)
	piface = PiFaceControl()
	cr = Card()
 
	piface.b1.connect(cr.someBalls)
 
if __name__=='__main__':
	main()
pifacetest.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import sys
import os
import pifacedigitalio
from PySide import QtGui
from PySide.QtGui import *
from PySide.QtCore import *
 
class PiFaceControl(QObject):
   b1 = Signal()
   b2 = Signal()
   b3 = Signal()
   b4 = Signal()
 
   def __init__(self):
 
        QObject.__init__(self)
        try:
            self.pifacedigital = pifacedigitalio.PiFaceDigital()
            self.listener = pifacedigitalio.InputEventListener(chip=self.pifacedigital)
	    self.activateButtonListener()
        except ImportError:
            print 'The module pifacedigitalio is not installed'
 
   def button1Pressed(self,event):
        print'bouton 1'
	self.b1.emit()
 
   def button2Pressed(self,event):
        self.b2.emit()
	print'bouton 2'
 
   def button3Pressed(self,event):
        print'bouton 3'
	self.b3.emit()
 
   def button4Pressed(self,event):
        print'bouton 4'
	self.b4.emit()
 
   def activateButtonListener(self):
	self.listener.register(0, pifacedigitalio.IODIR_FALLING_EDGE,self.button1Pressed)
	self.listener.register(1, pifacedigitalio.IODIR_FALLING_EDGE,self.button2Pressed)
	self.listener.register(2, pifacedigitalio.IODIR_FALLING_EDGE,self.button3Pressed)
	self.listener.register(3, pifacedigitalio.IODIR_FALLING_EDGE,self.button4Pressed)
 
	self.listener.activate()
card.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
from PySide import QtGui
from PySide.QtCore import *
 
class Card:
	def __init__(self):
		#QObject.__init__(self)
	        try:
	        	print'je suis ds Card'
	        except ImportError:
	                print 'erreur ds Card'
 
        @Slot()
	def someBalls(self):
		        print'Plusieurs balles'