]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/adafruit_blinka/microcontroller/nova/uart.py
Update neopixel.py
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / nova / uart.py
index 253d7a7198bb6bcdc901f5ee8b13c8d96c4dd924..5d698f8eabc4b06a7a933abe9f8781422b351627 100644 (file)
@@ -1,17 +1,25 @@
-import time
+"""UART Class for Binho Nova"""
+
+from adafruit_blinka.microcontroller.nova import Connection
+
+
+class UART:
+    """Custom UART Class for Binho Nova"""
 
-class UART():
     ESCAPE_SEQUENCE = "+++UART0"
-    def __init__(self,
-                 portid,
-                 baudrate=9600,
-                 bits=8,
-                 parity=None,
-                 stop=1,
-                 timeout=1000,
-                 read_buf_len=None,
-                 flow=None):
-        from adafruit_blinka.microcontroller.nova import Connection
+
+    # pylint: disable=too-many-arguments,unused-argument
+    def __init__(
+        self,
+        portid,
+        baudrate=9600,
+        bits=8,
+        parity=None,
+        stop=1,
+        timeout=1000,
+        read_buf_len=None,
+        flow=None,
+    ):
         self._nova = Connection.getInstance()
 
         self._id = portid
@@ -23,10 +31,10 @@ class UART():
 
         if flow is not None:  # default 0
             raise NotImplementedError(
-                "Parameter '{}' unsupported on Binho Nova".format(
-                    "flow"))
+                "Parameter '{}' unsupported on Binho Nova".format("flow")
+            )
 
-        self._nova.setOperationMode(self._id, 'UART')
+        self._nova.setOperationMode(self._id, "UART")
         self._nova.setBaudRateUART(self._id, baudrate)
         self._nova.setDataBitsUART(self._id, bits)
         self._nova.setParityUART(self._id, parity)
@@ -34,32 +42,43 @@ class UART():
         self._nova.setEscapeSequenceUART(self._id, UART.ESCAPE_SEQUENCE)
         self._nova.beginBridgeUART(self._id)
 
+    # pylint: enable=too-many-arguments,unused-argument
+    def __del__(self):
+        """Close Nova on delete"""
+        self.deinit()
+        self._nova.close()
+
     def deinit(self):
+        """Deinitialize"""
         self._nova.writeBridgeUART(UART.ESCAPE_SEQUENCE)
         self._nova.stopBridgeUART(UART.ESCAPE_SEQUENCE)
 
     def read(self, nbytes=None):
+        """Read data from UART and return it"""
         if nbytes is None:
             return None
         data = bytearray()
-        for i in range(nbytes):
+        for _ in range(nbytes):
             data.append(ord(self._nova.readBridgeUART()))
         return data
 
     def readinto(self, buf, nbytes=None):
+        """Read data from UART and into the buffer"""
         if nbytes is None:
             return None
-        for i in range(nbytes):
+        for _ in range(nbytes):
             buf.append(ord(self._nova.readBridgeUART()))
         return buf
 
     def readline(self):
+        """Read a single line of data from UART"""
         out = self._nova.readBridgeUART()
         line = out
-        while out != '\r':
+        while out != "\r":
             out = self._nova.readBridgeUART()
             line += out
         return line
 
     def write(self, buf):
+        """Write data from the buffer to UART"""
         return self._nova.writeBridgeUART(buf)