Reads @numBytes bytes from the grizzly starting at @addr. Due
        to packet format, cannot read more than 127 packets at a time.
        Returns a byte array of the requested data in little endian.
        @addr should be from the Addr class e.g. Addr.Speed

def read_register(self, addr, numBytes):
        """Reads @numBytes bytes from the grizzly starting at @addr. Due
        to packet format, cannot read more than 127 packets at a time.
        Returns a byte array of the requested data in little endian.
        @addr should be from the Addr class e.g. Addr.Speed"""
        assert numBytes <= 0x7f, "Cannot read more than 127 bytes at a time"
        cmd = chr(addr) + chr(numBytes)
        cmd += (16 - len(cmd)) * chr(0)
        return self._dev.exchange_bytes(cmd)