Merge pull request #4 from dhalbert/defer-packet_size

defer creating buffers until MTU is known
This commit is contained in:
Dan Halbert 2020-05-04 14:32:18 -04:00 committed by GitHub
commit 95d4771ee8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -145,9 +145,8 @@ class CyclingSpeedAndCadenceService(Service):
def __init__(self, service=None):
super().__init__(service=service)
self._measurement_buf = bytearray(
self.csc_measurement.packet_size # pylint: disable=no-member
)
# Defer creating buffer until we're definitely connected.
self._measurement_buf = None
@property
def measurement_values(self):
@ -169,6 +168,10 @@ class CyclingSpeedAndCadenceService(Service):
# uint16: Last Crank Event Time, in 1024ths of a second
#
if self._measurement_buf is None:
self._measurement_buf = bytearray(
self.csc_measurement.incoming_packet_length # pylint: disable=no-member
)
buf = self._measurement_buf
packet_length = self.csc_measurement.readinto(buf) # pylint: disable=no-member
if packet_length == 0: