From 59ecf7111b65b26a5d8ee17019b632502fd9574d Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 17 Oct 2024 15:24:39 -0400 Subject: [PATCH 1/3] Make UARTService characteristics be at least as large as max MTU-3 --- .pre-commit-config.yaml | 2 +- adafruit_ble/characteristics/stream.py | 11 ++++++++--- adafruit_ble/services/nordic.py | 6 ++++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 70ade69..374676d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,7 +18,7 @@ repos: - id: end-of-file-fixer - id: trailing-whitespace - repo: https://github.com/pycqa/pylint - rev: v2.17.4 + rev: v3.3.1 hooks: - id: pylint name: pylint (library code) diff --git a/adafruit_ble/characteristics/stream.py b/adafruit_ble/characteristics/stream.py index 5053971..58d1afe 100755 --- a/adafruit_ble/characteristics/stream.py +++ b/adafruit_ble/characteristics/stream.py @@ -53,7 +53,7 @@ def write(self, buf: ReadableBuffer) -> None: class StreamOut(ComplexCharacteristic): """Output stream from the Service server.""" - def __init__( + def __init__( # pylint: disable=too-many-arguments self, *, uuid: Optional[UUID] = None, @@ -66,7 +66,11 @@ def __init__( self._timeout = timeout self._buffer_size = buffer_size super().__init__( - uuid=uuid, properties=properties, read_perm=read_perm, write_perm=write_perm + uuid=uuid, + properties=properties, + read_perm=read_perm, + write_perm=write_perm, + max_length=buffer_size, ) def bind( @@ -88,7 +92,7 @@ def bind( class StreamIn(ComplexCharacteristic): """Input stream into the Service server.""" - def __init__( + def __init__( # pylint: disable=too-many-arguments self, *, uuid: Optional[UUID] = None, @@ -104,6 +108,7 @@ def __init__( properties=properties, read_perm=Attribute.NO_ACCESS, write_perm=write_perm, + max_length=buffer_size, ) def bind( diff --git a/adafruit_ble/services/nordic.py b/adafruit_ble/services/nordic.py index d4db39b..f71e761 100755 --- a/adafruit_ble/services/nordic.py +++ b/adafruit_ble/services/nordic.py @@ -43,12 +43,14 @@ class UARTService(Service): _server_tx = StreamOut( uuid=VendorUUID("6E400003-B5A3-F393-E0A9-E50E24DCCA9E"), timeout=1.0, - buffer_size=64, + # 512 is the largest negotiated MTU-3 value for all CircuitPython ports. + buffer_size=512, ) _server_rx = StreamIn( uuid=VendorUUID("6E400002-B5A3-F393-E0A9-E50E24DCCA9E"), timeout=1.0, - buffer_size=64, + # 512 is the largest negotiated MTU-3 value for all CircuitPython ports. + buffer_size=512, ) def __init__(self, service: Optional[_bleio.Service] = None) -> None: From 7c7c7dd8a24fb16fc9cdb5f241ed87e86971b059 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 17 Oct 2024 15:53:00 -0400 Subject: [PATCH 2/3] pylint: disable=too-many-arguments --- adafruit_ble/__init__.py | 2 +- adafruit_ble/characteristics/__init__.py | 2 ++ adafruit_ble/characteristics/float.py | 2 ++ adafruit_ble/characteristics/int.py | 2 ++ adafruit_ble/characteristics/json.py | 2 ++ adafruit_ble/characteristics/stream.py | 6 ++++-- adafruit_ble/characteristics/string.py | 2 ++ adafruit_ble/services/standard/device_info.py | 2 +- adafruit_ble/services/standard/hid.py | 2 ++ examples/ble_packet_buffer_service.py | 2 +- 10 files changed, 19 insertions(+), 5 deletions(-) diff --git a/adafruit_ble/__init__.py b/adafruit_ble/__init__.py index 693a47f..cd285a7 100755 --- a/adafruit_ble/__init__.py +++ b/adafruit_ble/__init__.py @@ -12,7 +12,7 @@ from __future__ import annotations -# pylint: disable=wrong-import-position +# pylint: disable=wrong-import-position,too-many-arguments import sys diff --git a/adafruit_ble/characteristics/__init__.py b/adafruit_ble/characteristics/__init__.py index 42a5868..cf22393 100644 --- a/adafruit_ble/characteristics/__init__.py +++ b/adafruit_ble/characteristics/__init__.py @@ -10,6 +10,8 @@ from __future__ import annotations +# pylint: disable=too-many-arguments + import struct import _bleio diff --git a/adafruit_ble/characteristics/float.py b/adafruit_ble/characteristics/float.py index 69915eb..adbd537 100644 --- a/adafruit_ble/characteristics/float.py +++ b/adafruit_ble/characteristics/float.py @@ -12,6 +12,8 @@ from __future__ import annotations +# pylint: disable=too-many-arguments + from . import Attribute from . import StructCharacteristic diff --git a/adafruit_ble/characteristics/int.py b/adafruit_ble/characteristics/int.py index 52dbd80..18521f3 100755 --- a/adafruit_ble/characteristics/int.py +++ b/adafruit_ble/characteristics/int.py @@ -12,6 +12,8 @@ from __future__ import annotations +# pylint: disable=too-many-arguments + from . import Attribute from . import StructCharacteristic diff --git a/adafruit_ble/characteristics/json.py b/adafruit_ble/characteristics/json.py index 2622cfd..5b0e4f4 100644 --- a/adafruit_ble/characteristics/json.py +++ b/adafruit_ble/characteristics/json.py @@ -12,6 +12,8 @@ from __future__ import annotations +# pylint: disable=too-many-arguments + import json from . import Attribute from . import Characteristic diff --git a/adafruit_ble/characteristics/stream.py b/adafruit_ble/characteristics/stream.py index 58d1afe..426f13b 100755 --- a/adafruit_ble/characteristics/stream.py +++ b/adafruit_ble/characteristics/stream.py @@ -13,6 +13,8 @@ from __future__ import annotations +# pylint: disable=too-many-arguments + import _bleio from . import Attribute @@ -53,7 +55,7 @@ def write(self, buf: ReadableBuffer) -> None: class StreamOut(ComplexCharacteristic): """Output stream from the Service server.""" - def __init__( # pylint: disable=too-many-arguments + def __init__( self, *, uuid: Optional[UUID] = None, @@ -92,7 +94,7 @@ def bind( class StreamIn(ComplexCharacteristic): """Input stream into the Service server.""" - def __init__( # pylint: disable=too-many-arguments + def __init__( self, *, uuid: Optional[UUID] = None, diff --git a/adafruit_ble/characteristics/string.py b/adafruit_ble/characteristics/string.py index 7326bc7..b94ba1a 100755 --- a/adafruit_ble/characteristics/string.py +++ b/adafruit_ble/characteristics/string.py @@ -12,6 +12,8 @@ from __future__ import annotations +# pylint: disable=too-many-arguments + from . import Attribute from . import Characteristic diff --git a/adafruit_ble/services/standard/device_info.py b/adafruit_ble/services/standard/device_info.py index b3d74d5..19b8004 100644 --- a/adafruit_ble/services/standard/device_info.py +++ b/adafruit_ble/services/standard/device_info.py @@ -46,7 +46,7 @@ class DeviceInfoService(Service): manufacturer = FixedStringCharacteristic(uuid=StandardUUID(0x2A29)) pnp_id = StructCharacteristic(" Date: Mon, 21 Oct 2024 13:54:11 -0400 Subject: [PATCH 3/3] remove pylint too-many-args disable in favor of max-args in .pylintrc --- adafruit_ble/__init__.py | 2 +- adafruit_ble/characteristics/__init__.py | 2 -- adafruit_ble/characteristics/float.py | 2 -- adafruit_ble/characteristics/int.py | 2 -- adafruit_ble/characteristics/json.py | 2 -- adafruit_ble/characteristics/stream.py | 2 -- adafruit_ble/characteristics/string.py | 2 -- adafruit_ble/services/standard/device_info.py | 2 +- adafruit_ble/services/standard/hid.py | 2 -- examples/ble_packet_buffer_service.py | 2 +- 10 files changed, 3 insertions(+), 17 deletions(-) diff --git a/adafruit_ble/__init__.py b/adafruit_ble/__init__.py index cd285a7..693a47f 100755 --- a/adafruit_ble/__init__.py +++ b/adafruit_ble/__init__.py @@ -12,7 +12,7 @@ from __future__ import annotations -# pylint: disable=wrong-import-position,too-many-arguments +# pylint: disable=wrong-import-position import sys diff --git a/adafruit_ble/characteristics/__init__.py b/adafruit_ble/characteristics/__init__.py index cf22393..42a5868 100644 --- a/adafruit_ble/characteristics/__init__.py +++ b/adafruit_ble/characteristics/__init__.py @@ -10,8 +10,6 @@ from __future__ import annotations -# pylint: disable=too-many-arguments - import struct import _bleio diff --git a/adafruit_ble/characteristics/float.py b/adafruit_ble/characteristics/float.py index adbd537..69915eb 100644 --- a/adafruit_ble/characteristics/float.py +++ b/adafruit_ble/characteristics/float.py @@ -12,8 +12,6 @@ from __future__ import annotations -# pylint: disable=too-many-arguments - from . import Attribute from . import StructCharacteristic diff --git a/adafruit_ble/characteristics/int.py b/adafruit_ble/characteristics/int.py index 18521f3..52dbd80 100755 --- a/adafruit_ble/characteristics/int.py +++ b/adafruit_ble/characteristics/int.py @@ -12,8 +12,6 @@ from __future__ import annotations -# pylint: disable=too-many-arguments - from . import Attribute from . import StructCharacteristic diff --git a/adafruit_ble/characteristics/json.py b/adafruit_ble/characteristics/json.py index 5b0e4f4..2622cfd 100644 --- a/adafruit_ble/characteristics/json.py +++ b/adafruit_ble/characteristics/json.py @@ -12,8 +12,6 @@ from __future__ import annotations -# pylint: disable=too-many-arguments - import json from . import Attribute from . import Characteristic diff --git a/adafruit_ble/characteristics/stream.py b/adafruit_ble/characteristics/stream.py index 426f13b..1582e9d 100755 --- a/adafruit_ble/characteristics/stream.py +++ b/adafruit_ble/characteristics/stream.py @@ -13,8 +13,6 @@ from __future__ import annotations -# pylint: disable=too-many-arguments - import _bleio from . import Attribute diff --git a/adafruit_ble/characteristics/string.py b/adafruit_ble/characteristics/string.py index b94ba1a..7326bc7 100755 --- a/adafruit_ble/characteristics/string.py +++ b/adafruit_ble/characteristics/string.py @@ -12,8 +12,6 @@ from __future__ import annotations -# pylint: disable=too-many-arguments - from . import Attribute from . import Characteristic diff --git a/adafruit_ble/services/standard/device_info.py b/adafruit_ble/services/standard/device_info.py index b8e3762..ebed6a7 100644 --- a/adafruit_ble/services/standard/device_info.py +++ b/adafruit_ble/services/standard/device_info.py @@ -45,7 +45,7 @@ class DeviceInfoService(Service): manufacturer = FixedStringCharacteristic(uuid=StandardUUID(0x2A29)) pnp_id = StructCharacteristic("