Hey! Mutex.try_lock will lock if it can and will return OK. Otherwise it will return ERR_BUSY.
The difference between try_lock and lock is that lock will wait until the mutex is actually able to be locked. Which is referred to as blocking.
try_lock will not block and will return immediately, allowing your code to continue to run. Here is an usage example:
if mutex.try_lock() == OK:
print("Successfully Locked!")
else:
print("Failed to lock...")
Hope this helps!