mirror of
https://github.com/h2zero/esp-nimble-cpp.git
synced 2024-11-23 21:50:55 +01:00
e3ee082dd7
This is a specialized container class to hold BLE attribute values. - Removes the use of std::string previously used to store the values. - Allows for setting/getting/notifying values from std::string, std::vector<uint8_t>, Arduino String, const char*, and uint8_t buffers. - Has operators retrieve the value as std::string, Arduino String, std::vector<uint8_t>, uint8_t* or char pointers. - Includes iterators and subscript/random access operator. - Introduces a max length parameter to the creation of server characteristics/descriptors to limit the size of the memory footprint. - Nearly Seamless integration with existing code. - Adds a config option to enable/disable timestamp storage when the value is updated. - Adds a config option to specify the initial size of the value container if not specified in the constructor.
51 lines
1.2 KiB
C++
51 lines
1.2 KiB
C++
/*
|
|
* NimBLEUtils.h
|
|
*
|
|
* Created: on Jan 25 2020
|
|
* Author H2zero
|
|
*
|
|
*/
|
|
|
|
#ifndef COMPONENTS_NIMBLEUTILS_H_
|
|
#define COMPONENTS_NIMBLEUTILS_H_
|
|
|
|
#include "nimconfig.h"
|
|
#if defined(CONFIG_BT_ENABLED)
|
|
|
|
#if defined(CONFIG_NIMBLE_CPP_IDF)
|
|
#include "host/ble_gap.h"
|
|
#else
|
|
#include "nimble/nimble/host/include/host/ble_gap.h"
|
|
#endif
|
|
|
|
/**** FIX COMPILATION ****/
|
|
#undef min
|
|
#undef max
|
|
/**************************/
|
|
|
|
#include <string>
|
|
|
|
typedef struct {
|
|
void *pATT;
|
|
TaskHandle_t task;
|
|
int rc;
|
|
void *buf;
|
|
} ble_task_data_t;
|
|
|
|
|
|
/**
|
|
* @brief A BLE Utility class with methods for debugging and general purpose use.
|
|
*/
|
|
class NimBLEUtils {
|
|
public:
|
|
static void dumpGapEvent(ble_gap_event *event, void *arg);
|
|
static const char* gapEventToString(uint8_t eventType);
|
|
static char* buildHexData(uint8_t* target, const uint8_t* source, uint8_t length);
|
|
static const char* advTypeToString(uint8_t advType);
|
|
static const char* returnCodeToString(int rc);
|
|
static int checkConnParams(ble_gap_conn_params* params);
|
|
};
|
|
|
|
|
|
#endif // CONFIG_BT_ENABLED
|
|
#endif // COMPONENTS_NIMBLEUTILS_H_
|