Device Base Class

[中文]

Provider-side header: #include "brookesia/hal_interface/device.hpp"

API Reference

Header File

Classes

class Device

Base class for HAL provider devices.

A device groups related interface instances and owns their provider lifecycle. Applications should use the acquire APIs from interface.hpp instead of handling devices directly.

Subclassed by esp_brookesia::hal::AudioDevice, esp_brookesia::hal::DisplayDevice, esp_brookesia::hal::NetworkDevice, esp_brookesia::hal::PowerDevice, esp_brookesia::hal::StorageDevice, esp_brookesia::hal::SystemDevice, esp_brookesia::hal::VideoDevice, esp_brookesia::hal::WifiDevice

Macros

ESP_BROOKESIA_HAL_DEVICE_REGISTER_ALL_PRE_INIT_CALLBACK(symbol_name, callback)

Auto-register a global callback that runs before the first HAL device is initialized.

ESP_BROOKESIA_HAL_DEVICE_REGISTER_ALL_POST_DEINIT_CALLBACK(symbol_name, callback)

Auto-register a global callback that runs after the last HAL device is deinitialized.

ESP_BROOKESIA_HAL_DEVICE_REGISTER_PRE_INIT_CALLBACKS(symbol_name, ...)

Auto-register pre-init callbacks for specific provider devices.

ESP_BROOKESIA_HAL_DEVICE_REGISTER_POST_DEINIT_CALLBACKS(symbol_name, ...)

Auto-register post-deinit callbacks for specific provider devices.

Type Aliases

using esp_brookesia::hal::InterfaceSpec = InterfaceInfo

Concepts

template<typename T>
concept IsDevice
#include <device.hpp>