389ff92cc1
* Makefile, Scripts: new linter * About: remove ID from IC * Firmware: remove double define for DIVC/DIVR * Scripts: check folder names too. Docker: replace syntax check with make lint. * Reformat Sources and Migrate to new file naming convention * Docker: symlink clang-format-12 to clang-format * Add coding style guide
19 lines
524 B
C
19 lines
524 B
C
#pragma once
|
|
|
|
typedef osEventFlagsId_t FuriApiLock;
|
|
|
|
#define API_LOCK_EVENT (1U << 0)
|
|
|
|
#define API_LOCK_INIT_LOCKED() osEventFlagsNew(NULL);
|
|
|
|
#define API_LOCK_WAIT_UNTIL_UNLOCK(_lock) \
|
|
osEventFlagsWait(_lock, API_LOCK_EVENT, osFlagsWaitAny, osWaitForever);
|
|
|
|
#define API_LOCK_FREE(_lock) osEventFlagsDelete(_lock);
|
|
|
|
#define API_LOCK_UNLOCK(_lock) osEventFlagsSet(_lock, API_LOCK_EVENT);
|
|
|
|
#define API_LOCK_WAIT_UNTIL_UNLOCK_AND_FREE(_lock) \
|
|
API_LOCK_WAIT_UNTIL_UNLOCK(_lock); \
|
|
API_LOCK_FREE(_lock);
|