Я новичок в Python и стараюсь не повторять один и тот же код снова и снова.В настоящее время я работаю с Raspberry Pi, который использует GPIO в нескольких разных классах, поэтому вместо того, чтобы писать
servoPin = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(servoPin,GPIO.IN)
в нескольких разных классах, я надеялся связать все события GPIO в своего рода PinHandler ..
Итак, я подумал о чем-то подобном для своего класса обработчика
import RPi.GPIO as GPIO
class PinHandler:
def __init__(self):
self.servoPin = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(self.servoPin,GPIO.IN)
def getPinStatus(self,pin):
return GPIO.input(pin)
def addEventListener(self,functionName)
GPIO.add_event_callback(self.servopin, functionName)
, а затем в других моих классах все, что мне нужно напечатать, это
from pinHandler.py import PinHandler
import time
pinHandler = PinHandler()
pinHandler.addEventListener(myAwesomeFunction)
def myAwesomeFunction:
pass
Это будетдобавьте обратный вызов к myAwesomeFunction
, который выходит за рамки pinHandler
.Я на правильном пути или есть лучший способ сделать это?