CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
cdc::hal::BluetoothControllerStub Class Reference
Inheritance diagram for cdc::hal::BluetoothControllerStub:
cdc::hal::IBluetoothController cdc::core::IService

Public Member Functions

bool init () override
 Initializes stub controller state.
bool start () override
 Starts stub controller state.
void stop () override
core::ServiceState getState () const override
const char * getName () const override
bool enable () override
void disable () override
bool isEnabled () const override
bool getMacAddress (uint8_t *mac) const override
 Returns BLE MAC address using efuse fallback.
void setDeviceName (const char *name) override
 Stores requested device name in local stub buffer.
const char * getDeviceName () const override
bool isConnected () const override
void disconnect () override
int8_t getRssi () const override
Public Member Functions inherited from cdc::hal::IBluetoothController
virtual ~IBluetoothController ()=default
virtual bool getConnectedDeviceName (char *buf, size_t bufLen) const
virtual uint8_t getBondedDeviceCount () const
virtual uint8_t getBondedDevices (BleBondInfo *out, uint8_t maxCount) const
virtual void startAdvertising ()
virtual void stopAdvertising ()
virtual bool isAdvertising () const
virtual bool addAdvertisingUuid (const BleUuid &uuid)
virtual void removeAdvertisingUuid (const BleUuid &uuid)
virtual bool setAdvertisingManufacturerData (uint16_t companyId, const uint8_t *data, uint16_t len)
virtual void clearAdvertisingManufacturerData ()
virtual void setAppearance (uint16_t appearance)
virtual bool startScan (uint32_t durationMs=5000, bool keepAdvertising=false)
virtual void stopScan ()
virtual bool isScanComplete () const
virtual uint8_t getScanResults (BleScanResult *results, uint8_t maxResults)
virtual void setPasskeyCallback (PasskeyCallback cb)
virtual void setAuthCompleteCallback (AuthCompleteCallback cb)
virtual ListenerToken addNumericComparisonCallback (NumericComparisonCallback cb)
virtual void removeNumericComparisonCallback (ListenerToken token)
virtual void setNumericComparisonCallback (NumericComparisonCallback cb)
virtual void respondToNumericComparison (uint16_t connHandle, bool accept)
virtual ListenerToken addEncryptionChangeCallback (EncChangeCallback cb)
virtual void removeEncryptionChangeCallback (ListenerToken token)
virtual bool initiateSecurity (uint16_t connHandle)
virtual bool getPeerIdAddr (uint16_t connHandle, uint8_t addr[6], uint8_t *addrType) const
virtual ListenerToken addConnectionCallback (ConnectionCallback cb)
virtual ListenerToken addDisconnectionCallback (DisconnectionCallback cb)
virtual void removeConnectionCallback (ListenerToken token)
virtual void removeDisconnectionCallback (ListenerToken token)
virtual void clearAllBonds ()
virtual void forgetBond (const uint8_t addr[6], uint8_t addrType)
virtual bool registerGattService (const GattServiceDef &service, bool pluginReserved=false)
virtual bool unregisterGattService (const BleUuid &serviceUuid)
virtual bool sendNotification (uint16_t connHandle, uint16_t attrHandle, const uint8_t *data, uint16_t len)
virtual bool sendIndication (uint16_t connHandle, uint16_t attrHandle, const uint8_t *data, uint16_t len)
virtual uint16_t getMtu () const
virtual bool connect (const uint8_t *addr, uint8_t addrType=0)
virtual void cancelConnect ()
virtual bool discoverServiceByUuid (uint16_t connHandle, const BleUuid &uuid)
virtual bool writeCharacteristic (uint16_t connHandle, uint16_t attrHandle, const uint8_t *data, uint16_t len, bool withResponse=true)
virtual bool readCharacteristic (uint16_t connHandle, uint16_t attrHandle)
virtual bool enableNotifications (uint16_t connHandle, uint16_t cccdHandle)
virtual void disconnectHandle (uint16_t connHandle)
virtual ListenerToken addServiceDiscoveryCallback (ServiceDiscoveryCallback cb)
virtual ListenerToken addCharacteristicReadCallback (CharacteristicReadCallback cb)
virtual ListenerToken addNotificationCallback (NotificationCallback cb)
virtual ListenerToken addWriteCompleteCallback (WriteCompleteCallback cb)
virtual void removeServiceDiscoveryCallback (ListenerToken token)
virtual void removeCharacteristicReadCallback (ListenerToken token)
virtual void removeNotificationCallback (ListenerToken token)
virtual void removeWriteCompleteCallback (ListenerToken token)
virtual void setServiceDiscoveryCallback (ServiceDiscoveryCallback cb)
virtual void setCharacteristicReadCallback (CharacteristicReadCallback cb)
virtual void setNotificationCallback (NotificationCallback cb)
virtual void setWriteCompleteCallback (WriteCompleteCallback cb)
virtual uint16_t getConnectionHandle () const
Public Member Functions inherited from cdc::core::IService
virtual ~IService ()=default

Additional Inherited Members

Public Types inherited from cdc::hal::IBluetoothController
using ListenerToken = uint16_t
using PasskeyCallback = std::function<void(uint32_t passkey)>
using AuthCompleteCallback = std::function<void(bool success)>
using NumericComparisonCallback = std::function<void(uint16_t connHandle, uint32_t passkey)>
using EncChangeCallback = std::function<void(uint16_t connHandle, int status)>
using ConnectionCallback = std::function<void(uint16_t connHandle)>
using DisconnectionCallback = std::function<void(uint16_t connHandle, int reason)>
using ServiceDiscoveryCallback
using CharacteristicReadCallback
using NotificationCallback
using WriteCompleteCallback
Static Public Attributes inherited from cdc::hal::IBluetoothController
static constexpr ListenerToken INVALID_LISTENER = 0xFFFF
static constexpr uint8_t MAX_REGISTERED_SERVICES = 7
static constexpr uint8_t MAX_CHARS_PER_SERVICE = 6
static constexpr uint8_t MAX_BONDED_DEVICES = 5
static constexpr uint8_t MAX_SCAN_RESULTS = 64

Detailed Description

Stub Bluetooth Controller when NimBLE is not enabled

Definition at line 2379 of file BluetoothController.cpp.

Member Function Documentation

◆ disable()

void cdc::hal::BluetoothControllerStub::disable ( )
inlineoverridevirtual

Disable Bluetooth (shutdown BLE stack to save power)

Implements cdc::hal::IBluetoothController.

Definition at line 2406 of file BluetoothController.cpp.

◆ disconnect()

void cdc::hal::BluetoothControllerStub::disconnect ( )
inlineoverridevirtual

Disconnect current connection if any

Implements cdc::hal::IBluetoothController.

Definition at line 2428 of file BluetoothController.cpp.

◆ enable()

bool cdc::hal::BluetoothControllerStub::enable ( )
inlineoverridevirtual

Enable Bluetooth (initialize BLE stack)

Returns
true if successfully enabled

Implements cdc::hal::IBluetoothController.

Definition at line 2402 of file BluetoothController.cpp.

References LOG_W, and TAG.

◆ getDeviceName()

const char * cdc::hal::BluetoothControllerStub::getDeviceName ( ) const
inlineoverridevirtual

Get device name

Implements cdc::hal::IBluetoothController.

Definition at line 2426 of file BluetoothController.cpp.

◆ getMacAddress()

bool cdc::hal::BluetoothControllerStub::getMacAddress ( uint8_t * mac) const
inlineoverridevirtual

Returns BLE MAC address using efuse fallback.

Parameters
macOutput MAC buffer.
Returns
true if output buffer was valid.

Implements cdc::hal::IBluetoothController.

Definition at line 2413 of file BluetoothController.cpp.

◆ getName()

const char * cdc::hal::BluetoothControllerStub::getName ( ) const
inlineoverridevirtual

Get service name (for logging/debugging)

Implements cdc::core::IService.

Definition at line 2400 of file BluetoothController.cpp.

◆ getRssi()

int8_t cdc::hal::BluetoothControllerStub::getRssi ( ) const
inlineoverridevirtual

Get RSSI of connected device

Returns
RSSI in dBm, or 0 if not connected

Implements cdc::hal::IBluetoothController.

Definition at line 2429 of file BluetoothController.cpp.

◆ getState()

core::ServiceState cdc::hal::BluetoothControllerStub::getState ( ) const
inlineoverridevirtual

Get current service state

Implements cdc::core::IService.

Definition at line 2399 of file BluetoothController.cpp.

◆ init()

bool cdc::hal::BluetoothControllerStub::init ( )
inlineoverridevirtual

Initializes stub controller state.

Returns
Always true.

Implements cdc::core::IService.

Definition at line 2385 of file BluetoothController.cpp.

References cdc::core::INITIALIZED, LOG_W, and TAG.

◆ isConnected()

bool cdc::hal::BluetoothControllerStub::isConnected ( ) const
inlineoverridevirtual

Check if a device is currently connected

Implements cdc::hal::IBluetoothController.

Definition at line 2427 of file BluetoothController.cpp.

◆ isEnabled()

bool cdc::hal::BluetoothControllerStub::isEnabled ( ) const
inlineoverridevirtual

Check if Bluetooth is currently enabled

Implements cdc::hal::IBluetoothController.

Definition at line 2407 of file BluetoothController.cpp.

◆ setDeviceName()

void cdc::hal::BluetoothControllerStub::setDeviceName ( const char * name)
inlineoverridevirtual

Stores requested device name in local stub buffer.

Parameters
nameDevice name string.

Implements cdc::hal::IBluetoothController.

Definition at line 2421 of file BluetoothController.cpp.

References name.

◆ start()

bool cdc::hal::BluetoothControllerStub::start ( )
inlineoverridevirtual

Starts stub controller state.

Returns
Always true.

Implements cdc::core::IService.

Definition at line 2394 of file BluetoothController.cpp.

References cdc::core::STARTED.

◆ stop()

void cdc::hal::BluetoothControllerStub::stop ( )
inlineoverridevirtual

Stop the service (reversible, can start again)

Implements cdc::core::IService.

Definition at line 2398 of file BluetoothController.cpp.

References cdc::core::STOPPED.


The documentation for this class was generated from the following file: