From 42b21764740b29b137330e650a2abfa83b2c395b Mon Sep 17 00:00:00 2001 From: Benjamin Braatz Date: Tue, 12 Jan 2021 18:30:47 +0100 Subject: [PATCH] Singleton pigpio.pi() in own module --- graphit_pin/__init__.py | 9 --------- graphit_pin/gpio.py | 2 +- graphit_pin/pcf8574.py | 2 +- graphit_pin/pigpio.py | 8 ++++++++ 4 files changed, 10 insertions(+), 11 deletions(-) create mode 100644 graphit_pin/pigpio.py diff --git a/graphit_pin/__init__.py b/graphit_pin/__init__.py index ade938a..34d0b74 100644 --- a/graphit_pin/__init__.py +++ b/graphit_pin/__init__.py @@ -11,12 +11,3 @@ from .composition import InvertingPin, SwitchPin, GuardedPin, TimerPin,\ OrAggregatePin, AndAggregatePin from .gpio import GPIOInputPin, GPIOOutputPin from .pcf8574 import PCF8574Input, PCF8574Output - -import pigpio - -_pigpio_pi - -def get_pigpio_pi(): - if _pigipio_pi is None: - _pigpio_pi = pigpio.pi() - return _pigpio_pi diff --git a/graphit_pin/gpio.py b/graphit_pin/gpio.py index 0b2fb2e..e3b5520 100644 --- a/graphit_pin/gpio.py +++ b/graphit_pin/gpio.py @@ -2,7 +2,7 @@ import asyncio import pigpio import graphit_event -from . import get_pigpio_pi +from .pigpio import get_pigpio_pi from .interface import PinInterface diff --git a/graphit_pin/pcf8574.py b/graphit_pin/pcf8574.py index 2d81876..184e3e7 100644 --- a/graphit_pin/pcf8574.py +++ b/graphit_pin/pcf8574.py @@ -1,7 +1,7 @@ import graphit_event from typing import Callable -from . import get_pigpio_pi +from .pigpio import get_pigpio_pi from .interface import PinInterface PCF_ADDRESSES = tuple(range(32, 40)) + tuple(range(56, 64)) diff --git a/graphit_pin/pigpio.py b/graphit_pin/pigpio.py new file mode 100644 index 0000000..caddbf0 --- /dev/null +++ b/graphit_pin/pigpio.py @@ -0,0 +1,8 @@ +import pigpio + +_pigpio_pi = None + +def get_pigpio_pi(): + if _pigipio_pi is None: + _pigpio_pi = pigpio.pi() + return _pigpio_pi -- 2.34.1