FastLED 3.9.15
Loading...
Searching...
No Matches
ble.h File Reference

Detailed Description

fl::net::ble — BLE GATT transport layer for JSON-RPC

Provides factory functions for creating RequestSource and ResponseSink callbacks that communicate over BLE instead of serial.

Platform-neutral header: all ESP32 BLE implementation lives in drivers/ble/ble_esp32.cpp.hpp.

API is always visible. On platforms without BLE support, factory functions return nullptr / no-op stubs. FL_BLE_AVAILABLE is still defined for compile-time feature detection when needed.

Follows the fl::net namespace convention: all types in fl::net::ble (collection module, no single primary class).

Definition in file ble.h.

#include "fl/stl/json.h"
#include "fl/stl/has_include.h"
#include "fl/stl/function.h"
#include "fl/stl/optional.h"
#include "fl/stl/noexcept.h"
#include "fl/stl/pair.h"
+ Include dependency graph for ble.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fl::net::ble::StatusInfo
 Platform-neutral BLE diagnostics (returned by queryStatus) More...
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::net
 
namespace  fl::net::ble
 

Macros

#define FL_BLE_AVAILABLE   0
 
#define FL_BLE_CHAR_RX_UUID   "12345678-1234-1234-1234-123456789ab0"
 
#define FL_BLE_CHAR_TX_UUID   "12345678-1234-1234-1234-123456789ab1"
 
#define FL_BLE_SERVICE_UUID   "12345678-1234-1234-1234-123456789abc"
 

Functions

TransportState * fl::net::ble::createTransport (const char *deviceName) FL_NOEXCEPT
 Create BLE GATT server, heap-allocate transport state.
 
void fl::net::ble::destroyTransport (TransportState *state) FL_NOEXCEPT
 Deinitialize BLE stack and free heap state.
 
fl::pair< fl::function< fl::optional< fl::json >()>, fl::function< void(const fl::json &)> > fl::net::ble::getTransportCallbacks (TransportState *state) FL_NOEXCEPT
 Get RequestSource and ResponseSink lambdas for fl::Remote.
 
StatusInfo fl::net::ble::queryStatus (const TransportState *state) FL_NOEXCEPT
 Query BLE connection/subscription diagnostics.
 

Class Documentation

◆ fl::net::ble::StatusInfo

struct fl::net::ble::StatusInfo
Class Members
bool connected = false
int connectedCount = 0
int ringHead = 0
int ringTail = 0
bool txCharExists = false
int txValueLen = 0