* 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>
		
			
				
	
	
		
			33 lines
		
	
	
		
			736 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			736 B
		
	
	
	
		
			C
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#define FURI_NORETURN [[noreturn]]
 | 
						|
#else
 | 
						|
#include <stdnoreturn.h>
 | 
						|
#define FURI_NORETURN noreturn
 | 
						|
#endif
 | 
						|
 | 
						|
/** Check condition and crash if check failed */
 | 
						|
#define furi_check(__e) ((__e) ? (void)0 : furi_crash("furi_check failed\r\n"))
 | 
						|
 | 
						|
/** Only in debug build: Assert condition and crash if assert failed  */
 | 
						|
#ifdef FURI_DEBUG
 | 
						|
#define furi_assert(__e) ((__e) ? (void)0 : furi_crash("furi_assert failed\r\n"))
 | 
						|
#else
 | 
						|
#define furi_assert(__e) \
 | 
						|
    do {                 \
 | 
						|
        ((void)(__e));   \
 | 
						|
    } while(0)
 | 
						|
#endif
 | 
						|
 | 
						|
/** Crash system */
 | 
						|
FURI_NORETURN void furi_crash(const char* message);
 | 
						|
 | 
						|
/** Halt system */
 | 
						|
FURI_NORETURN void furi_halt(const char* message);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 |