porting: Add NPL equivalent for OS_ASSERT_CRITICAL

This commit is contained in:
Andrzej Kaczmarek
2019-02-25 10:38:40 +01:00
committed by Michał Narajowski
parent 8ae6aff907
commit 92ab01ca9b
3 changed files with 9 additions and 0 deletions
+2
View File
@@ -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
+1
View File
@@ -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