CodexPad主类
更多...
#include <codex_pad.h>
|
| enum class | TxPower : int8_t {
kMinus16dBm = -16
, kMinus12dBm = -12
, kMinus8dBm = -8
, kMinus5dBm = -5
,
kMinus3dBm = -3
, kMinus1dBm = -1
, k0dBm = 0
, k1dBm = 1
,
k2dBm = 2
, k3dBm = 3
, k4dBm = 4
, k5dBm = 5
,
k6dBm = 6
} |
| |
◆ TxPower
| 枚举值 |
|---|
| kMinus16dBm | -16 | -16 dBm
|
| kMinus12dBm | -12 | -12 dBm
|
| kMinus8dBm | -8 | -8 dBm
|
| kMinus5dBm | -5 | -5 dBm
|
| kMinus3dBm | -3 | -3 dBm
|
| kMinus1dBm | -1 | -1 dBm
|
| k0dBm | 0 | 0 dBm
|
| k1dBm | 1 | 1 dBm
|
| k2dBm | 2 | 2 dBm
|
| k3dBm | 3 | 3 dBm
|
| k4dBm | 4 | 4 dBm
|
| k5dBm | 5 | 5 dBm
|
| k6dBm | 6 | 6 dBm
|
在文件 codex_pad.h 第 35 行定义.
◆ CodexPad()
◆ ~CodexPad()
◆ ble_client()
| NimBLEClient * CodexPad::ble_client |
( |
| ) |
const |
|
inlinenoexcept |
◆ Connect()
| bool CodexPad::Connect |
( |
const std::string & | bluetooth_device_address, |
|
|
uint32_t | timeout_ms = 5000 ) |
|
noexcept |
◆ Disconnect()
| void CodexPad::Disconnect |
( |
| ) |
|
|
inlinenoexcept |
◆ Init()
◆ input_tracker()
| const gamepad::input::Tracker & CodexPad::input_tracker |
( |
| ) |
const |
|
inlinenoexcept |
◆ is_connected()
| bool CodexPad::is_connected |
( |
| ) |
const |
|
noexcept |
◆ remote_device_name()
| const std::string & CodexPad::remote_device_name |
( |
| ) |
const |
|
inlinenoexcept |
◆ remote_firmware_version()
| const std::array< uint8_t, 3 > & CodexPad::remote_firmware_version |
( |
| ) |
const |
|
inlinenoexcept |
◆ remote_model_number()
| const std::string & CodexPad::remote_model_number |
( |
| ) |
const |
|
inlinenoexcept |
◆ ScanAndConnect()
| bool CodexPad::ScanAndConnect |
( |
gamepad::input::Button | buttons | ) |
|
|
noexcept |
扫描附近的 CodexPad 设备,并自动连接到一个按键状态与指定掩码匹配的设备。
此方法会主动扫描蓝牙设备。当发现一个或多个 CodexPad 设备,其当前按键状态与提供的 button_mask 完全匹配时,它将尝试建立连接。 如果附近有多个设备都符合按键掩码,则会选择信号最强(RSSI 值最大)的设备进行连接。
- 参数
-
| [in] | button_mask | 用于匹配目标设备按键状态的32位按钮掩码。 使用 ButtonMask() 函数来组合多个 Button 枚举值。 |
- 返回值
-
| true | 连接成功(找到了符合按键掩码的设备并成功连接)。 |
| false | 连接失败(未找到匹配设备或连接尝试失败)。 |
- 注解
- 这是一个阻塞式调用。它会持续扫描,直到找到匹配的设备、连接建立或达到内部超时时间。
- 警告
- **请勿**在按钮掩码中包含
Button::kHome。按住 Home 键会触发设备重启,这将中断连接过程。 示例:
while (!pad.
ScanAndConnect(gamepad::input::Button::kStart | gamepad::input::Button::kStart)) {
delay(100);
}
Serial.println("CodexPad 连接成功!");
bool ScanAndConnect(gamepad::input::Button buttons) noexcept
扫描附近的 CodexPad 设备,并自动连接到一个按键状态与指定掩码匹配的设备。
- 示例
- scan_and_connect.ino.
在文件 codex_pad.cpp 第 47 行定义.
◆ set_remote_tx_power()
◆ Update()
| const gamepad::input::Tracker & CodexPad::Update |
( |
| ) |
|
|
noexcept |
该类的文档由以下文件生成: