#include #include #include extern avrThread* _thread_current; uint8_t mutex_try_lock(MUTEX *mutex) { if (!mutex) return 0; { ATOMIC if ((mutex->thread == NULL) || (mutex->thread == current_thread())) { mutex->thread = current_thread(); mutex->locked++; return -1; }; }; return 0; };