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.
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.
I poked around and see this in nordic.py:
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 inreturn self._rx.readinto(buf, nbytes)
above.