Roland Tollenaar wrote:
> Hi,
> 
> I seem to be getting major buffer overflow. Yet when I check the 
> messages with rtcanrecv with relative time stamp I get confirmation of 
> the fact that there are only two messages on the bus every ms and the 
> EASILY fit withing the 1ms task. I have tried to mask all errors but see 
> nothing. Why would i get about one billion messagebuffer overflow errors 
> to syslog? How can I make these mysterious messages visible?
> 
> Or is there a setting that i may have wrong such that the rtcan rev 
> function does not empty the ring buffer?
> 
> I hope there is something obvious I am doing wrong because this rtcan is 
> really giving me a headache.

When you have bound a RTCAN socket, it will receive messages and put 
them into the RX socket queue. If no task reads them via recv* function 
calls, the buffer will overflow sooner than later. Do you use a bound 
socket just for sending messages? Then you could avoid buffer overflows 
by defining an empty receive filter list as show here
http://www.rts.uni-hannover.de/xenomai/lxr/source/src/utils/can/rtcansend.c#251.
Or use rt_dev_sendto() without binding the socket.

You can (or even should) suppress the overflow messages by disabling the 
kernel option CONFIG_XENO_DRIVERS_CAN_DEBUG.

Wolfgang.

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to