18#ifndef NIMBLE_CPP_UTILS_H_
19#define NIMBLE_CPP_UTILS_H_
21#include "syscfg/syscfg.h"
22#if CONFIG_BT_NIMBLE_ENABLED
24#if CONFIG_NIMBLE_CPP_DEBUG_ASSERT_ENABLED && !defined NDEBUG
25void nimble_cpp_assert(
const char *file,
unsigned line) __attribute((weak, noreturn));
26# define NIMBLE_ATT_VAL_FILE (__builtin_strrchr(__FILE__, '/') ? \
27 __builtin_strrchr (__FILE__, '/') + 1 : __FILE__)
28# define NIMBLE_CPP_DEBUG_ASSERT(cond) \
30 nimble_cpp_assert(NIMBLE_ATT_VAL_FILE, __LINE__); \
33# define NIMBLE_CPP_DEBUG_ASSERT(cond) (void(0))
46 NimBLETaskData(
void* pInstance =
nullptr,
int flags = 0,
void* buf =
nullptr);
48 void* m_pInstance{
nullptr};
49 mutable int m_flags{0};
50 void* m_pBuf{
nullptr};
53 mutable void* m_pHandle{
nullptr};
63 static std::string
dataToHexString(
const uint8_t* source, uint8_t length);
A BLE device address.
Definition NimBLEAddress.h:42
A BLE Utility class with methods for debugging and general purpose use.
Definition NimBLEUtils.h:60
static std::string dataToHexString(const uint8_t *source, uint8_t length)
Create a hexadecimal string representation of the input data.
Definition NimBLEUtils.cpp:550
static bool taskWait(const NimBLETaskData &taskData, uint32_t timeout)
Blocks the calling task until released or timeout.
Definition NimBLEUtils.cpp:92
static NimBLEAddress generateAddr(bool nrpa)
Generate a random BLE address.
Definition NimBLEUtils.cpp:569
static const char * advTypeToString(uint8_t advType)
Convert the advertising type flag to a string.
Definition NimBLEUtils.cpp:430
static void taskRelease(const NimBLETaskData &taskData, int rc=0)
Release a task.
Definition NimBLEUtils.cpp:119
static const char * returnCodeToString(int rc)
Converts a return code from the NimBLE stack to a text string.
Definition NimBLEUtils.cpp:135
static const char * gapEventToString(uint8_t eventType)
Convert a GAP event type to a string representation.
Definition NimBLEUtils.cpp:457
A structure to hold data for a task that is waiting for a response.
Definition NimBLEUtils.h:45
~NimBLETaskData()
Destructor.
Definition NimBLEUtils.cpp:77