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

More than four event-driven TPDOs #33

Closed
jgooday opened this issue May 17, 2023 · 4 comments
Closed

More than four event-driven TPDOs #33

jgooday opened this issue May 17, 2023 · 4 comments

Comments

@jgooday
Copy link

jgooday commented May 17, 2023

I can't seem to get more than four TPDOs transmitting using event timers (TPDO type 254). Currently I have five TPDOs defined with the following COBs:

(0x40000180, 0x40000280, 0x40000380, 0x40000480, 0x40000181)

I can transmit any four of them on a timer (type=254) with one not transmitting (type=0). When I try to add the fifth (regardless of which one it is) I get an emergency message:
Error code: Communication - CAN overrun (objects lost) (0x8110)

image

I've tried increasing the timers, adding 10ms inhibit on each one, or varying the timers of each TPDO (thinking it would be a network buffer problem) but to no avail. I've had lots of data transmitting on the same hardware in the past successfully over CAN FD.

I'm running this on an STM32G4 and have largely just copy-pasted the example driver. Is this error a limitation of the default CanOpenSTM32 driver only being able to transmit four TPDOs? Or have I got something wrong with my configuration?

Any help much appreciated!! TIA from CANOpen newbie

@jgooday
Copy link
Author

jgooday commented May 17, 2023

Not sure if this is related to #23?

@Ashenoneq
Copy link

It looks very similar to my issue.

@jgooday
Copy link
Author

jgooday commented May 18, 2023

Problem fixed. I realised that the issue was in fact a transmission buffer error, identical to what is described here: CANopenNode/CANopenNode#74
I implemented this patch: iurly/CANopenNode@6349ea6
It was just a coincidence that the error would happen when I used more than four TPDOs, and wasn't due to a limitation of the driver

@jgooday jgooday closed this as completed May 18, 2023
@Ashenoneq
Copy link

Thank you for sharing. I also think we should need a fifo queue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants