# -*- coding: utf-8 -*-
# Copyright (c) 2019 RS Components Ltd
# SPDX-License-Identifier: MIT License
"""
Interface for Pmod_SWT
"""
import RPi.GPIO as GPIO
CAP = 'GPIO'
PHY = '1x6'
[docs]class PmodSWT:
def __init__(self,DSPmod6):
# GPIO setup
self.port = DSPmod6
self.SWT1 = self.port.pin1
self.SWT2 = self.port.pin2
self.SWT3 = self.port.pin3
self.SWT4 = self.port.pin4
GPIO.setmode(GPIO.BCM) #
GPIO.setup(self.SWT1,GPIO.IN) #
GPIO.setup(self.SWT2,GPIO.IN) #
GPIO.setup(self.SWT3,GPIO.IN) #
GPIO.setup(self.SWT4,GPIO.IN) #
[docs] def cleanup(self):
GPIO.cleanup()
[docs] def GetSwitchPin(self,SW):
# returns phisical GPIO Pin assignment
if SW == 1:
return self.SWT1
elif SW == 2:
return self.SWT2
elif SW == 3:
return self.SWT3
elif SW == 4:
return self.SWT4
else:
return None
[docs] def GetStatus(self,SW):
# returns switch status
switchPin = self.GetSwitchPin(SW)
return GPIO.input(switchPin)
[docs] def AllOn(self):
# returns "True" if all pins are ON
return GPIO.input(GetSwitchPin(1)) and GPIO.input(GetSwitchPin(2)) and GPIO.input(GetSwitchPin(3)) and GPIO.input(GetSwitchPin(4))
[docs] def AllOff(self):
# returns "True" if all pins are OFF
return (not GPIO.input(GetSwitchPin(1))) and (not GPIO.input(GetSwitchPin(2))) and (not GPIO.input(GetSwitchPin(3))) and (not GPIO.input(GetSwitchPin(4)))