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>
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
|