X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/c228c4a5d51eaefa453a51706943a617d4664600..a79e37b2729f77faf00545062fc4a8ded1a6eb97:/src/adafruit_blinka/microcontroller/nova/pin.py diff --git a/src/adafruit_blinka/microcontroller/nova/pin.py b/src/adafruit_blinka/microcontroller/nova/pin.py index 6b5a616..590ebc6 100644 --- a/src/adafruit_blinka/microcontroller/nova/pin.py +++ b/src/adafruit_blinka/microcontroller/nova/pin.py @@ -1,11 +1,14 @@ +"""Binho Nova pin names""" + + class Pin: """A basic Pin class for use with Binho Nova.""" - IN = 'DIN' - OUT = 'DOUT' - AIN = 'AIN' - AOUT = 'AOUT' - PWM = 'PWM' + IN = "DIN" + OUT = "DOUT" + AIN = "AIN" + AOUT = "AOUT" + PWM = "PWM" LOW = 0 HIGH = 1 @@ -13,7 +16,11 @@ class Pin: def __init__(self, pin_id=None): if not Pin._nova: + # pylint: disable=import-outside-toplevel from adafruit_blinka.microcontroller.nova import Connection + + # pylint: enable=import-outside-toplevel + Pin._nova = Connection.getInstance() # check if pin is valid if pin_id > 4: @@ -22,24 +29,27 @@ class Pin: self.id = pin_id def init(self, mode=IN, pull=None): + """Initialize the Pin""" if self.id is None: raise RuntimeError("Can not init a None type pin.") - # Nova does't have configurable internal pulls for + # Nova does't have configurable internal pulls for if pull: raise ValueError("Internal pull up/down not currently supported.") Pin._nova.setIOpinMode(self.id, mode) def value(self, val=None): + """Set or return the Pin Value""" if self.id is None: raise RuntimeError("Can not access a None type pin.") # read if val is None: - return int(Pin._nova.getIOpinValue(self.id).split('VALUE ')[1]) + return int(Pin._nova.getIOpinValue(self.id).split("VALUE ")[1]) # write if val in (self.LOW, self.HIGH): Pin._nova.setIOpinValue(self.id, val) - else: - raise RuntimeError("Invalid value for pin") + return None + raise RuntimeError("Invalid value for pin") + # create pin instances for each pin IO0 = Pin(0) @@ -48,7 +58,6 @@ IO2 = Pin(2) IO3 = Pin(3) IO4 = Pin(4) -# create None type pins for I2C and SPI since they are expected to be defined SCL = IO2 SDA = IO0 SCK = SCLK = IO3 @@ -70,4 +79,4 @@ UART1_TX = IO4 UART1_RX = IO3 # ordered as uartId, txId, rxId -uartPorts = ((0, UART1_TX, UART1_RX), ) +uartPorts = ((0, UART1_TX, UART1_RX),)