X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/ffd3c408c96ba0d34f7ba7a1a9068a8a4c68d0f7..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 2046e22..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 - elif val in (self.LOW, self.HIGH): + 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,14 +58,13 @@ 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 MOSI = IO4 MISO = IO2 -SS0 = IO0 -SS1 = IO1 +SS0 = IO0 +SS1 = IO1 PWM0 = IO0 # No PWM support on IO1 @@ -64,10 +73,10 @@ PWM3 = IO3 PWM4 = IO4 # orderd as (channel, pin), id -pwmOuts = ( ((1, 0), PWM0), ((1, 2), PWM2), ((1, 3), PWM3), ((1, 4), PWM4) ) +pwmOuts = (((1, 0), PWM0), ((1, 2), PWM2), ((1, 3), PWM3), ((1, 4), PWM4)) UART1_TX = IO4 UART1_RX = IO3 # ordered as uartId, txId, rxId -uartPorts = ( (0, UART1_TX, UART1_RX), ) \ No newline at end of file +uartPorts = ((0, UART1_TX, UART1_RX),)