Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prevent sending partial multi-frame transfers #72

Merged
merged 1 commit into from
Sep 24, 2024

Conversation

tridge
Copy link
Member

@tridge tridge commented Sep 24, 2024

check that we have sufficient blocks available in the allocator before we start a multi-frame transfer to ensure we don't send a corrupt message by sending a subset of the frames. This can prevent a bus overload condition where the sender retries on a failed transfer, but the failed transfer consumes bus traffic and reduces the number of blocks available for the next transfer

check that we have sufficient blocks available in the allocator before
we start a multi-frame transfer to ensure we don't send a corrupt
message by sending a subset of the frames. This can prevent a bus
overload condition where the sender retries on a failed transfer, but
the failed transfer consumes bus traffic and reduces the number of
blocks available for the next transfer
Copy link
Collaborator

@bugobliterator bugobliterator left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Slight modification is probably required for CANFD to be taken into account I think. Basically we need create mod of payload len with 64 and use dlc conversion.

@tridge
Copy link
Member Author

tridge commented Sep 24, 2024

Slight modification is probably required for CANFD to be taken into account I think

frame_max_data_len is a local which is 64 on CANFD, 8 on bCAN, so I think this properly handles CANFD already

@tridge tridge dismissed bugobliterator’s stale review September 24, 2024 21:18

CANFD is already correctly handled

@tridge tridge merged commit 6f74bc6 into dronecan:master Sep 24, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants