This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Thingy 52 twi_manager current_int_priority_get quandary.

On the included Thing52 example, the LED fires m_ioext_osc_status_change from an interrupt. Eventually, when it comes to requesting use of the TWI this comparison happens in twi_manager.c:

uint8_t current_context = current_int_priority_get();

if (current_context < s_context_limit){
...

Where s_context_limit is = APP_IRQ_PRIORITY_HIGHEST

It seems like as the current example code stands, even when executing in a timer context, current_int_priority_get() returns 15. When running SDK14 it returns a 7 (as expected as far as I can tell) causes this to return false and thus asserts.

I'm obviously missing the magic piece here or maybe there were some changes in the SDK to make current_int_priority_get() return a different value despite being exactly the same between SDK13 and SDK14.

Any help here would be greatly appreciated!

Parents Reply Children
No Data
Related