Skip to content

Commit

Permalink
remove retry loop from can_send_many
Browse files Browse the repository at this point in the history
  • Loading branch information
lukasloetkolben committed Oct 4, 2024
1 parent abdc418 commit 7de4096
Showing 1 changed file with 7 additions and 12 deletions.
19 changes: 7 additions & 12 deletions python/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -831,18 +831,13 @@ def can_reset_communications(self):
@ensure_can_packet_version
def can_send_many(self, arr, timeout=CAN_SEND_TIMEOUT_MS):
snds = pack_can_buffer(arr)
while True:
try:
for tx in snds:
while True:
bs = self._handle.bulkWrite(3, tx, timeout=timeout)
tx = tx[bs:]
if len(tx) == 0:
break
logger.error("CAN: PARTIAL SEND MANY, RETRYING")
break
except (usb1.USBErrorIO, usb1.USBErrorOverflow):
logger.error("CAN: BAD SEND MANY, RETRYING")
for tx in snds:
while True:
bs = self._handle.bulkWrite(3, tx, timeout=timeout)
tx = tx[bs:]
if len(tx) == 0:
break
logger.error("CAN: PARTIAL SEND MANY, RETRYING")

def can_send(self, addr, dat, bus, timeout=CAN_SEND_TIMEOUT_MS):
self.can_send_many([[addr, dat, bus]], timeout=timeout)
Expand Down

0 comments on commit 7de4096

Please sign in to comment.