changed init routine of piface; not switching outputs off on init

This commit is contained in:
Markus Schmidl 2017-02-18 03:29:01 +01:00
parent 7e4f71e81f
commit fb1ebf77f3
1 changed files with 25 additions and 0 deletions

View File

@ -1,7 +1,32 @@
import pifacedigitalio
import pifacecommon.mcp23s17
import time
from subprocess import call
def init_board_no_power_off(self):
ioconfig = (
pifacecommon.mcp23s17.BANK_OFF |
pifacecommon.mcp23s17.INT_MIRROR_OFF |
pifacecommon.mcp23s17.SEQOP_OFF |
pifacecommon.mcp23s17.DISSLW_OFF |
pifacecommon.mcp23s17.HAEN_ON |
pifacecommon.mcp23s17.ODR_OFF |
pifacecommon.mcp23s17.INTPOL_LOW
)
self.iocon.value = ioconfig
if self.iocon.value != ioconfig:
raise pifacedigitalio.NoPiFaceDigitalDetectedError(
"No PiFace Digital board detected (hardware_addr={h}, "
"bus={b}, chip_select={c}).".format(
h=self.hardware_addr, b=self.bus, c=self.chip_select))
else:
self.iodira.value = 0 # GPIOA as outputs
self.iodirb.value = 0xFF # GPIOB as inputs
self.gppub.value = 0xFF # input pullups on
self.enable_interrupts()
setattr(pifacedigitalio.PiFaceDigital, 'init_board', init_board_no_power_off)
button_count = 8
longpress_delay = 0.4
verylongpress_delay = 2