Python подписывается на событие из отдельного файла

Хорошо, у меня есть файл pi_io.py, который отслеживает входной контакт. Он срабатывает каждый раз при изменении состояния входа. Я хочу подписаться на это событие в другом классе в другом файле. Так что событие сработает в обоих классах.

import RPi.GPIO as GPIO

class Pi_Io:
    def __init__(self):        
        self.iscyclepressed = False
        self.cyclestart = 13
        # setup inputs
        GPIO.setmode(GPIO.BCM)
        GPIO.setup(self.cyclestart, GPIO.IN, pull_up_down=GPIO.PUD_UP)
        GPIO.add_event_detect(self.cyclestart, GPIO.BOTH,
                            callback=self.CycleStart_In, bouncetime=50)

    def CycleStart_In(self, channel):
        if not GPIO.input(self.cyclestart):
            self.iscyclepressed = True
            print("Cycle Button Pressed")
        else:
            self.iscyclepressed = False
            print("Cycle Button Released")

Pi_Io()
while True:
    pass
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
23
1

Ответы 1

Создайте еще один экземпляр вашего класса в отдельном файле.

from pi_io import Pi_Io


instance = Pi_Io()
# rest of your code

Другие вопросы по теме