Try and import the right compat...

And remove all the nonsense you re-factored into PiPin...
This commit is contained in:
Dave Jones
2016-10-22 15:25:20 +01:00
parent cab6cc8086
commit 73c0516a28
5 changed files with 11 additions and 41 deletions

View File

@@ -309,23 +309,16 @@ class NativePin(LocalPiPin):
finally: finally:
self.when_changed = f self.when_changed = f
def _get_when_changed(self): def _enable_event_detect(self):
return self._when_changed self._change_thread = Thread(target=self._change_watch)
self._change_thread.daemon = True
self._change_event.clear()
self._change_thread.start()
def _set_when_changed(self, value): def _disable_event_detect(self):
if self._when_changed is None and value is not None: self._change_event.set()
self._when_changed = value self._change_thread.join()
self._change_thread = Thread(target=self._change_watch) self._change_thread = None
self._change_thread.daemon = True
self._change_event.clear()
self._change_thread.start()
elif self._when_changed is not None and value is None:
self._change_event.set()
self._change_thread.join()
self._change_thread = None
self._when_changed = None
else:
self._when_changed = value
def _change_watch(self): def _change_watch(self):
offset = self._edge_offset offset = self._edge_offset
@@ -334,5 +327,5 @@ class NativePin(LocalPiPin):
while not self._change_event.wait(0.001): while not self._change_event.wait(0.001):
if self.factory.mem[offset] & mask: if self.factory.mem[offset] & mask:
self.factory.mem[offset] = mask self.factory.mem[offset] = mask
self._when_changed() self._call_when_changed()

View File

@@ -12,7 +12,7 @@ from weakref import ref, proxy
try: try:
from weakref import WeakMethod from weakref import WeakMethod
except ImportError: except ImportError:
from .compat import WeakMethod from ..compat import WeakMethod
import warnings import warnings
try: try:

View File

@@ -8,11 +8,6 @@ str = type('')
import os import os
from weakref import proxy from weakref import proxy
from threading import RLock
try:
from weakref import WeakMethod
except ImportError:
from .compat import WeakMethod
import pigpio import pigpio
@@ -170,8 +165,6 @@ class PiGPIOPin(PiPin):
self._pull = 'up' if factory.pi_info.pulled_up(self.address[-1]) else 'floating' self._pull = 'up' if factory.pi_info.pulled_up(self.address[-1]) else 'floating'
self._pwm = False self._pwm = False
self._bounce = None self._bounce = None
self._when_changed_lock = RLock()
self._when_changed = None
self._callback = None self._callback = None
self._edges = pigpio.EITHER_EDGE self._edges = pigpio.EITHER_EDGE
try: try:

View File

@@ -7,13 +7,6 @@ from __future__ import (
str = type('') str = type('')
import warnings import warnings
from types import MethodType
from threading import RLock
from weakref import ref
try:
from weakref import WeakMethod
except ImportError:
from .compat import WeakMethod
from RPi import GPIO from RPi import GPIO
@@ -97,8 +90,6 @@ class RPiGPIOPin(LocalPiPin):
self._frequency = None self._frequency = None
self._duty_cycle = None self._duty_cycle = None
self._bounce = -666 self._bounce = -666
self._when_changed_lock = RLock()
self._when_changed = None
self._edges = GPIO.BOTH self._edges = GPIO.BOTH
GPIO.setup(self.number, GPIO.IN, self.GPIO_PULL_UPS[self._pull]) GPIO.setup(self.number, GPIO.IN, self.GPIO_PULL_UPS[self._pull])

View File

@@ -8,11 +8,6 @@ str = type('')
import warnings import warnings
from threading import RLock
try:
from weakref import WeakMethod
except ImportError:
from .compat import WeakMethod
import RPIO import RPIO
import RPIO.PWM import RPIO.PWM
@@ -89,8 +84,6 @@ class RPIOPin(LocalPiPin):
self._pwm = False self._pwm = False
self._duty_cycle = None self._duty_cycle = None
self._bounce = None self._bounce = None
self._when_changed_lock = RLock()
self._when_changed = None
self._edges = 'both' self._edges = 'both'
try: try:
RPIO.setup(self.number, RPIO.IN, self.GPIO_PULL_UPS[self._pull]) RPIO.setup(self.number, RPIO.IN, self.GPIO_PULL_UPS[self._pull])