mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-06-05 21:04:49 +00:00
porting: Add NPL equivalent for OS_ASSERT_CRITICAL
This commit is contained in:
committed by
Michał Narajowski
parent
8ae6aff907
commit
92ab01ca9b
@@ -165,6 +165,8 @@ uint32_t ble_npl_hw_enter_critical(void);
|
||||
|
||||
void ble_npl_hw_exit_critical(uint32_t ctx);
|
||||
|
||||
bool ble_npl_hw_is_in_critical(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -45,6 +45,7 @@ extern "C" {
|
||||
typedef uint32_t os_sr_t;
|
||||
#define OS_ENTER_CRITICAL(_sr) (_sr = ble_npl_hw_enter_critical())
|
||||
#define OS_EXIT_CRITICAL(_sr) (ble_npl_hw_exit_critical(_sr))
|
||||
#define OS_ASSERT_CRITICAL() (assert(ble_npl_hw_is_in_critical()))
|
||||
|
||||
/* Mynewt components (not abstracted in NPL) */
|
||||
#include "os/endian.h"
|
||||
|
||||
@@ -256,6 +256,12 @@ ble_npl_hw_exit_critical(uint32_t ctx)
|
||||
irq_restore((unsigned)ctx);
|
||||
}
|
||||
|
||||
static inline bool
|
||||
ble_npl_hw_is_in_critical(void)
|
||||
{
|
||||
return irq_is_in();
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user