 e3c7201a20
			
		
	
	
		e3c7201a20
		
			
		
	
	
	
	
		
			
			* Furi: rename and move core * Furi: drop CMSIS_OS header and unused api, partially refactor and cleanup the rest * Furi: CMSIS_OS drop and refactoring. * Furi: refactoring, remove cmsis legacy * Furi: fix incorrect assert on queue deallocation, cleanup timer * Furi: improve delay api, get rid of floats * hal: dropped furi_hal_crc * Furi: move DWT based delay to cortex HAL * Furi: update core documentation Co-authored-by: hedger <hedger@nanode.su>
		
			
				
	
	
		
			19 lines
		
	
	
		
			537 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			537 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| typedef FuriEventFlag* FuriApiLock;
 | |
| 
 | |
| #define API_LOCK_EVENT (1U << 0)
 | |
| 
 | |
| #define API_LOCK_INIT_LOCKED() furi_event_flag_alloc();
 | |
| 
 | |
| #define API_LOCK_WAIT_UNTIL_UNLOCK(_lock) \
 | |
|     furi_event_flag_wait(_lock, API_LOCK_EVENT, FuriFlagWaitAny, FuriWaitForever);
 | |
| 
 | |
| #define API_LOCK_FREE(_lock) furi_event_flag_free(_lock);
 | |
| 
 | |
| #define API_LOCK_UNLOCK(_lock) furi_event_flag_set(_lock, API_LOCK_EVENT);
 | |
| 
 | |
| #define API_LOCK_WAIT_UNTIL_UNLOCK_AND_FREE(_lock) \
 | |
|     API_LOCK_WAIT_UNTIL_UNLOCK(_lock);             \
 | |
|     API_LOCK_FREE(_lock);
 |