zephyriot / zep-jira14

0 stars 0 forks source link

CDC_ACM is limited to 4 bytes at a time for Arduino 101 #2234

Open nashif opened 7 years ago

nashif commented 7 years ago

Reported by Brian Jones:

Due to GH-1915, CDC_ACM on the Arduino 101 is limited to sending 4 bytes at a time. This should be fixed in the long term as its inefficient to send such a small amount multiple times when larger buffers are being sent.

(Imported from Jira ZEP-2401)

nashif commented 7 years ago

by Andy Ross:

This workaround turns out not to have worked anyway. Most corrupt packets were fixed, but single-byte packets (not uncommon at all in serial streams) could still be duplicated. There's a DMA implementation for this particular controller in review now that was intended to address the issue, which still doesn't work for one-byte packets. But it doesn't require this performance mess either, so it will fix this bug.

(Danced between duplicating this and treating it as a separate bug and decided on the later. The single-byte corruption bug really is a separate issue from what's complained about here even though the fix is the same.)