6 years, 5 months ago.

Mbed Tickerfunction hangs system from revison 65

something has changed with revision 65 Mbed lib's and the ticker function. Now the systems hangs when i call a ticker.... revision 64 works fine. Any suggestion?

Hi,

Could you please provide full reproducibility instructions for this issue? I wasn't able to reproduce it locally.

Thanks, Bogdan

posted by Bogdan Marinescu 28 Aug 2013

/media/uploads/bert1952/rtos-test.zip

try this example with rev 64 and 66 I'm using the ticker inside a thread. Is that a problem, and if so, why does it work on rev 64?

bert

posted by Gyro Gearloose 30 Aug 2013

3 Answers

6 years, 4 months ago.

Thanks, I can reproduce it now. Unfortunately, the fix isn't simple. It has to do with the new CallChain class and the fact that is uses new/delete (and in your particular case, detach calls CallChain::clear, which in turn does a delete in an interrupt context, hence the problem). I have to think about a proper fix for this.

Accepted Answer

Have a try, For the moment i'm happy with rev 64. It's needed to start/stop a pulsetrain generator. tnx bert

posted by Gyro Gearloose 30 Aug 2013

hi version 67 has still the same problem. I modified the code a bit, the the issue is the indeed the detachfunction.

posted by Gyro Gearloose 21 Sep 2013

Yes, still looking for a suitable solution. I might reverse the implementation of add/remove to the previous behaviour that didn't use call chains, which would fix the issue, but will remove a feature. But the alternatives don't look better, so this is what I'll probably do in the end.

posted by Bogdan Marinescu 23 Sep 2013
6 years, 5 months ago.

https://github.com/mbedmicro/mbed/commits/master/libraries/mbed/common/Ticker.cpp That code was changed around 2weeks ago.

Could you tell me more detail (e.g. platform) about this?

--

posted by Gyro Gearloose 30 Aug 2013
6 years, 5 months ago.

lpc1768 RTOS..... platform Mbed online compiler

any tickerattach (secs or usecs) will hang the system. like this flipper.attach_us(&flip, 300);

rev 64 is ok, rev 65,66 will have this problem

thanks

I reported this problem to mbed team. They will solve or reply to your question. :-)

posted by Yoshihiro TSUBOI 25 Aug 2013