GPIO exit added
This commit is contained in:
@@ -49,7 +49,7 @@ class Photobooth:
|
|||||||
self._lampOff = lambda : self._gpio.lampOff(lamp)
|
self._lampOff = lambda : self._gpio.lampOff(lamp)
|
||||||
|
|
||||||
self._gpio.setButton(config.getInt('Gpio', 'trigger_pin'), self.gpioTrigger)
|
self._gpio.setButton(config.getInt('Gpio', 'trigger_pin'), self.gpioTrigger)
|
||||||
self._gpio.setButton(config.getInt('Gpio', 'exit_pin'), self.teardown)
|
self._gpio.setButton(config.getInt('Gpio', 'exit_pin'), self.gpioExit)
|
||||||
else:
|
else:
|
||||||
self._lampOn = lambda : None
|
self._lampOn = lambda : None
|
||||||
self._lampOff = lambda : None
|
self._lampOff = lambda : None
|
||||||
@@ -119,6 +119,9 @@ class Photobooth:
|
|||||||
print('Camera already started')
|
print('Camera already started')
|
||||||
self.initRun()
|
self.initRun()
|
||||||
continue
|
continue
|
||||||
|
elif str(event) == 'teardown':
|
||||||
|
self.teardown()
|
||||||
|
return -1
|
||||||
elif str(event) != 'triggered':
|
elif str(event) != 'triggered':
|
||||||
print('Unknown event received: ' + str(event))
|
print('Unknown event received: ' + str(event))
|
||||||
raise RuntimeError('Unknown event received', str(event))
|
raise RuntimeError('Unknown event received', str(event))
|
||||||
@@ -270,6 +273,11 @@ class Photobooth:
|
|||||||
self._gpioTrigger()
|
self._gpioTrigger()
|
||||||
|
|
||||||
|
|
||||||
|
def gpioExit(self):
|
||||||
|
|
||||||
|
self._send.send(gui.TeardownState())
|
||||||
|
|
||||||
|
|
||||||
def triggerOff(self):
|
def triggerOff(self):
|
||||||
|
|
||||||
self._lampOff()
|
self._lampOff()
|
||||||
|
|||||||
@@ -80,8 +80,10 @@ class PyQt5Gui(Gui):
|
|||||||
|
|
||||||
if isinstance(state, IdleState):
|
if isinstance(state, IdleState):
|
||||||
self.showIdle()
|
self.showIdle()
|
||||||
|
|
||||||
elif isinstance(state, TriggerState):
|
elif isinstance(state, TriggerState):
|
||||||
self._transport.send('triggered')
|
self._transport.send('triggered')
|
||||||
|
|
||||||
elif isinstance(state, GreeterState):
|
elif isinstance(state, GreeterState):
|
||||||
global cfg
|
global cfg
|
||||||
self._p.handleKeypressEvent = self.handleKeypressEventNoTrigger
|
self._p.handleKeypressEvent = self.handleKeypressEventNoTrigger
|
||||||
@@ -101,16 +103,24 @@ class PyQt5Gui(Gui):
|
|||||||
|
|
||||||
elif isinstance(state, PoseState):
|
elif isinstance(state, PoseState):
|
||||||
self._p.setCentralWidget(PyQt5PictureMessage('Pose!'))
|
self._p.setCentralWidget(PyQt5PictureMessage('Pose!'))
|
||||||
|
|
||||||
elif isinstance(state, AssembleState):
|
elif isinstance(state, AssembleState):
|
||||||
self._p.setCentralWidget(PyQt5WaitMessage('Processing picture...'))
|
self._p.setCentralWidget(PyQt5WaitMessage('Processing picture...'))
|
||||||
|
|
||||||
elif isinstance(state, PictureState):
|
elif isinstance(state, PictureState):
|
||||||
img = ImageQt.ImageQt(state.picture)
|
img = ImageQt.ImageQt(state.picture)
|
||||||
self._p.setCentralWidget(PyQt5PictureMessage('', img))
|
self._p.setCentralWidget(PyQt5PictureMessage('', img))
|
||||||
QTimer.singleShot(cfg.getInt('Photobooth', 'display_time') * 1000, lambda : self._transport.send('ack'))
|
QTimer.singleShot(cfg.getInt('Photobooth', 'display_time') * 1000, lambda : self._transport.send('ack'))
|
||||||
|
|
||||||
self._printer.print(state.picture)
|
self._printer.print(state.picture)
|
||||||
|
|
||||||
|
elif isinstance(state, TeardownState):
|
||||||
|
self._transport.send('teardown')
|
||||||
|
self.showStart()
|
||||||
|
|
||||||
elif isinstance(state, ErrorState):
|
elif isinstance(state, ErrorState):
|
||||||
self.showError(state.title, state.message)
|
self.showError(state.title, state.message)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise ValueError('Unknown state')
|
raise ValueError('Unknown state')
|
||||||
|
|
||||||
|
|||||||
@@ -155,3 +155,9 @@ class PreviewState(MessageState, PictureState):
|
|||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
|
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
|
|
||||||
|
class TeardownState(GuiState):
|
||||||
|
|
||||||
|
def __init__(self, **kwargs):
|
||||||
|
|
||||||
|
super().__init__(**kwargs)
|
||||||
|
|||||||
Reference in New Issue
Block a user