8000 UARTService.readinto with "memoryview" slice and "bytearrary" causes ValueError: length argument not allowed for this type · Issue #128 · adafruit/Adafruit_CircuitPython_BLE · GitHub
[go: up one dir, main page]

Skip to content
UARTService.readinto with "memoryview" slice and "bytearrary" causes ValueError: length argument not allowed for this type #128
Open
@dh-metre

Description

@dh-metre

byte_count = device.readinto(memoryview(in_buf)[start_ptr:])

causes: ValueError: length argument not allowed for this type

also tried with "bytearray" and got same error.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "dev.py", line 308, in <module>
  File "lib/metre/gAsynco.py", line 121, in run
  File "lib/metre/gAsynco.py", line 522, in run_until_complete
  File "lib/metre/gAsynco.py", line 506, in run_until_complete
  File "lib/metre/gAsynco.py", line 196, in _wrapped_coro
  File "lib/metre/gAsynco.py", line 394, in _wrapper
  File "dev.py", line 234, in serial_task
  File "adafruit_ble/services/nordic.py", line 77, in readinto
ValueError: length argument not allowed for this type

I poked around and see this in nordic.py:

    def readinto(self, buf, nbytes=None):
        """
        Read bytes into the ``buf``. If ``nbytes`` is specified then read at most
        that many bytes. Otherwise, read at most ``len(buf)`` bytes.
        :return: number of bytes read and stored into ``buf``
        :rtype: int or None (on a non-blocking error)
        """
        return self._rx.readinto(buf, nbytes)

Looking futher in _blio.CharacteristicBuffer at suggestion from @dhalbert it looks like the ValueError: length argument not allowed for this type is thrown because two parameters are passed in return self._rx.readinto(buf, nbytes) above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0