8 years, 7 months ago.

Conflict between mbed_rtos EthernetInterface library and mbed_CAN?

Hi, I'm developing an interface using an LCP4088's ethernet and CAN communications ports. I have the can side working, but when I added the EthernetInterface library (and the dependant rtos library) my CAN interface stopped working. If I comment out the CAN portion of the software, the ethernet connection works fine.

mbed, ethernet, and rtos libraries are up to date.

Is there any known conflict between mbed-CAN and ethernetlibrary? Does anybody have any experience with this?

Question relating to:

I found conflicts with ENC28J60 Ethernet library (https://developer.mbed.org/users/hudakz/code/UIPEthernet/) and mbed-rtos. however, both mbed-rtos and UIPEthernet libraries are working in separate projects.

posted by Arman Safikhani 04 Sep 2015

A clue... I added several printf() lines so I could track the progress of the program. It seems that I lock up if I execute a wait(), or a thread::wait() after the line:

can.attach(&canread); Run canread on CAN reception interrupt

continuing to look...

posted by Paul Kidwell 04 Sep 2015

Further news...

It appears that mbed-rtos re-wrote the wait function. And because of that it and mbed_CAN conflict with each other.

So ethernetinterface and rtos work alright by themselves, and mbed_CAN is alright by it self, but the two don't work together?

I'll be back on this on Tuesday.

Is it possible to have an ethernet interface that doesn't use rtos?

posted by Paul Kidwell 04 Sep 2015
Be the first to answer this question.