from machine import Pin

############################################################
# Class representing a Button
############################################################
class Button:

    #####################################################################
    # Constructor for a Button
    #####################################################################
    def __init__(self, cmd, pinNumber):
        self.__cmd = cmd
        self.__pinNumber = pinNumber

        self.__pin = Pin(pinNumber, Pin.IN)


    ############################################################
    # Define Getter Methods for class properties
    ############################################################
    def getCmd(self):
        return self.__cmd
    
    def getPinNumber(self):
        return self.__pinNumber

    ############################################################
    # Test if button pressed
    ############################################################
    def isPressed(self):
        try:
            return self.__pin.value()
        except:
            print ("Exception testing " + self.__cmd)
        return False

