HF Interface Wrapper 0.1.0-dev
Embedded C++ hardware abstraction layer
Loading...
Searching...
No Matches
EspBluetooth.h File Reference

ESP32 Bluetooth implementation using NimBLE for BLE-only support (ESP32C6) More...

#include "BaseBluetooth.h"
#include "HardwareTypes.h"
#include "esp_log.h"
#include "nvs_flash.h"
#include "PlatformMutex.h"
#include <functional>
#include <map>
#include <vector>
Include dependency graph for EspBluetooth.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  EspBluetooth
 ESP32 Bluetooth implementation class. More...
 

Macros

#define HAS_CLASSIC_BLUETOOTH   0
 
#define HAS_BLE_SUPPORT   1
 
#define HAS_A2DP_SUPPORT   0
 
#define HAS_AVRCP_SUPPORT   0
 
#define HAS_SPP_SUPPORT   0
 
#define HAS_NIMBLE_SUPPORT   0
 
#define HAS_BLUEDROID_SUPPORT   1
 
#define NIMBLE_HEADERS_AVAILABLE   0
 
#define BLUEDROID_HEADERS_AVAILABLE   0
 

Typedefs

using EspBluetoothImpl = EspBluetooth
 

Detailed Description

ESP32 Bluetooth implementation using NimBLE for BLE-only support (ESP32C6)

This file contains the ESP32-specific implementation of the Bluetooth interface using NimBLE stack for ESP32C6 BLE-only support on ESP-IDF v5.5.

ESP32C6 supports Bluetooth LE 5.0 and is certified for Bluetooth LE 5.3. This implementation provides:

  • BLE advertising and scanning
  • GATT client and server operations
  • Connection management
  • Service and characteristic handling
  • Proper conditional compilation for different ESP32 variants
Author
HardFOC Team
Date
2025
Note
This implementation is specifically optimized for ESP32C6 using NimBLE
For ESP32 and ESP32S3, both Classic BT and BLE are supported
For ESP32C3/H2, BLE-only using Bluedroid
ESP32S2 has no Bluetooth support

Macro Definition Documentation

◆ BLUEDROID_HEADERS_AVAILABLE

#define BLUEDROID_HEADERS_AVAILABLE   0

◆ HAS_A2DP_SUPPORT

#define HAS_A2DP_SUPPORT   0

◆ HAS_AVRCP_SUPPORT

#define HAS_AVRCP_SUPPORT   0

◆ HAS_BLE_SUPPORT

#define HAS_BLE_SUPPORT   1

◆ HAS_BLUEDROID_SUPPORT

#define HAS_BLUEDROID_SUPPORT   1

◆ HAS_CLASSIC_BLUETOOTH

#define HAS_CLASSIC_BLUETOOTH   0

◆ HAS_NIMBLE_SUPPORT

#define HAS_NIMBLE_SUPPORT   0

◆ HAS_SPP_SUPPORT

#define HAS_SPP_SUPPORT   0

◆ NIMBLE_HEADERS_AVAILABLE

#define NIMBLE_HEADERS_AVAILABLE   0

Typedef Documentation

◆ EspBluetoothImpl