Fixes for real RPi
This commit is contained in:
parent
62b97f3f01
commit
e1b201376f
|
@ -30,12 +30,13 @@ class ledPulse(threading.Thread):
|
||||||
|
|
||||||
self.log = logging.getLogger(self.__class__.__name__)
|
self.log = logging.getLogger(self.__class__.__name__)
|
||||||
self.gpio = gpio
|
self.gpio = gpio
|
||||||
super().__init__(name=name, daemon=False)
|
|
||||||
|
super().__init__(name=name, daemon=True)
|
||||||
|
|
||||||
self.pwm_setup()
|
self.pwm_setup()
|
||||||
|
|
||||||
self.log.info(f"platform '{sys.platform}' " +
|
self.log.info(f"platform '{self.model}' " +
|
||||||
f"support: {sys.platform == 'linux'}")
|
f"support: {self.supported}")
|
||||||
|
|
||||||
for dm in self.delayMethods:
|
for dm in self.delayMethods:
|
||||||
self.register_delay_method(dm, eval(f"delay_{dm}"))
|
self.register_delay_method(dm, eval(f"delay_{dm}"))
|
||||||
|
@ -44,8 +45,12 @@ class ledPulse(threading.Thread):
|
||||||
self.register_value_method(vm, eval(f"value_{vm}"))
|
self.register_value_method(vm, eval(f"value_{vm}"))
|
||||||
|
|
||||||
self.stop_event = threading.Event()
|
self.stop_event = threading.Event()
|
||||||
|
|
||||||
# Method to stop thread
|
# Method to stop thread
|
||||||
|
# Like def stop(): self.stop_event.set()
|
||||||
|
# But shorter ;)
|
||||||
self.stop = self.stop_event.set
|
self.stop = self.stop_event.set
|
||||||
|
|
||||||
self.queue = Queue()
|
self.queue = Queue()
|
||||||
|
|
||||||
# Set default values
|
# Set default values
|
||||||
|
@ -53,15 +58,17 @@ class ledPulse(threading.Thread):
|
||||||
setattr(self, key, value)
|
setattr(self, key, value)
|
||||||
|
|
||||||
def pwm_setup(self):
|
def pwm_setup(self):
|
||||||
|
self.supported = False
|
||||||
|
self.moel = sys.platform
|
||||||
try:
|
try:
|
||||||
with open('/sys/firmware/devicetree/base/model', 'r') as m:
|
with op en('/sys/firmware/devicetree/base/model', 'r') as m:
|
||||||
|
print("OPN")
|
||||||
model = m.read()
|
model = m.read()
|
||||||
if model.lower().startswith('raspberry pi'):
|
if model.lower().startswith('raspberry pi'):
|
||||||
self.supported = True
|
self.supported = True
|
||||||
self.model = model
|
self.model = model
|
||||||
except Exception:
|
except Exception:
|
||||||
self.supported = False
|
pass
|
||||||
self.model = sys.platform
|
|
||||||
|
|
||||||
if self.supported:
|
if self.supported:
|
||||||
import RPi.GPIO as GPIO
|
import RPi.GPIO as GPIO
|
||||||
|
@ -75,9 +82,12 @@ class ledPulse(threading.Thread):
|
||||||
self.setValue = self.pwm.ChangeDutyCycle
|
self.setValue = self.pwm.ChangeDutyCycle
|
||||||
self.pwm.start(0) # start pwm with value 0
|
self.pwm.start(0) # start pwm with value 0
|
||||||
else:
|
else:
|
||||||
# Not supported, skip setValue
|
# Platform not supported, set
|
||||||
# self.setValue = lambda x: x
|
# a dummy setValue function
|
||||||
self.setValue = print
|
if self.log.level == logging.DEBUG:
|
||||||
|
self.setValue = print
|
||||||
|
else:
|
||||||
|
self.setValue = lambda x: x
|
||||||
|
|
||||||
return (False, sys.platform)
|
return (False, sys.platform)
|
||||||
|
|
||||||
|
|
11
test.py
11
test.py
|
@ -1,5 +1,6 @@
|
||||||
import logging
|
import logging
|
||||||
from pulses import pulses
|
from pulses import pulses
|
||||||
|
import time
|
||||||
|
|
||||||
logging.basicConfig(format='%(name)s %(threadName)s %(msg)s')
|
logging.basicConfig(format='%(name)s %(threadName)s %(msg)s')
|
||||||
|
|
||||||
|
@ -8,4 +9,12 @@ log.setLevel('DEBUG')
|
||||||
|
|
||||||
led = pulses.ledPulse(12)
|
led = pulses.ledPulse(12)
|
||||||
led.start()
|
led.start()
|
||||||
# led.set(delay=1/100, valueMode="sin", max=20)
|
led.set(delay=1/100, loopMethod="sin", max=20)
|
||||||
|
time.sleep(4)
|
||||||
|
led.set(delay=1/100, loopMethod="on", initialMethod="sin", finalMethod=None, max=40)
|
||||||
|
time.sleep(4)
|
||||||
|
led.set(delay=1/100, loopMethod="cos", initialMethod=None, finalMethod="sin", max=20)
|
||||||
|
time.sleep(4)
|
||||||
|
led.set(delay=1/100, loopMethod="on", initialMethod="sin", finalMethod="sin", max=40)
|
||||||
|
time.sleep(4)
|
||||||
|
led.stop()
|
||||||
|
|
Loading…
Reference in New Issue