mirror of
https://github.com/espressif/esp-idf.git
synced 2024-09-19 14:26:01 -04:00
feat(bt/bluedroid): Added definition of minor class of COD for peripheral major class
Closes https://github.com/espressif/esp-idf/issues/13622
This commit is contained in:
parent
7c47596ead
commit
53bb819e88
@ -210,6 +210,28 @@ typedef enum {
|
|||||||
ESP_BT_COD_MAJOR_DEV_UNCATEGORIZED = 31, /*!< Uncategorized: device not specified */
|
ESP_BT_COD_MAJOR_DEV_UNCATEGORIZED = 31, /*!< Uncategorized: device not specified */
|
||||||
} esp_bt_cod_major_dev_t;
|
} esp_bt_cod_major_dev_t;
|
||||||
|
|
||||||
|
/// Minor device class field of Class of Device for Peripheral Major Class
|
||||||
|
typedef enum {
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_KEYBOARD = 0x10, /*!< Keyboard */
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_POINTING = 0x20, /*!< Pointing */
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_COMBO = 0x30, /*!< Combo
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_KEYBOARD, ESP_BT_COD_MINOR_PERIPHERAL_POINTING
|
||||||
|
and ESP_BT_COD_MINOR_PERIPHERAL_COMBO can be OR'd with one of the
|
||||||
|
following values to identify a multifunctional device. e.g.
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_KEYBOARD | ESP_BT_COD_MINOR_PERIPHERAL_GAMEPAD
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_POINTING | ESP_BT_COD_MINOR_PERIPHERAL_SENSING_DEVICE
|
||||||
|
*/
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_JOYSTICK = 0x01, /*!< Joystick */
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_GAMEPAD = 0x02, /*!< Gamepad */
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_REMOTE_CONTROL = 0x03, /*!< Remote Control */
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_SENSING_DEVICE = 0x04, /*!< Sensing Device */
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_DIGITIZING_TABLET = 0x05, /*!< Digitizing Tablet */
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_CARD_READER = 0x06, /*!< Card Reader */
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_DIGITAL_PAN = 0x07, /*!< Digital Pan */
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_HAND_SCANNER = 0x08, /*!< Hand Scanner */
|
||||||
|
ESP_BT_COD_MINOR_PERIPHERAL_HAND_GESTURAL_INPUT = 0x09, /*!< Hand Gestural Input */
|
||||||
|
} esp_bt_cod_minor_peripheral_t;
|
||||||
|
|
||||||
/// Bits of major device class field
|
/// Bits of major device class field
|
||||||
#define ESP_BT_COD_MAJOR_DEV_BIT_MASK (0x1f00) /*!< Major device bit mask */
|
#define ESP_BT_COD_MAJOR_DEV_BIT_MASK (0x1f00) /*!< Major device bit mask */
|
||||||
#define ESP_BT_COD_MAJOR_DEV_BIT_OFFSET (8) /*!< Major device bit offset */
|
#define ESP_BT_COD_MAJOR_DEV_BIT_OFFSET (8) /*!< Major device bit offset */
|
||||||
|
@ -439,8 +439,9 @@ void app_main(void)
|
|||||||
esp_bt_gap_set_device_name(local_device_name);
|
esp_bt_gap_set_device_name(local_device_name);
|
||||||
|
|
||||||
ESP_LOGI(TAG, "setting cod major, peripheral");
|
ESP_LOGI(TAG, "setting cod major, peripheral");
|
||||||
esp_bt_cod_t cod;
|
esp_bt_cod_t cod = {0};
|
||||||
cod.major = ESP_BT_COD_MAJOR_DEV_PERIPHERAL;
|
cod.major = ESP_BT_COD_MAJOR_DEV_PERIPHERAL;
|
||||||
|
cod.minor = ESP_BT_COD_MINOR_PERIPHERAL_POINTING;
|
||||||
esp_bt_gap_set_cod(cod, ESP_BT_SET_COD_MAJOR_MINOR);
|
esp_bt_gap_set_cod(cod, ESP_BT_SET_COD_MAJOR_MINOR);
|
||||||
|
|
||||||
vTaskDelay(2000 / portTICK_PERIOD_MS);
|
vTaskDelay(2000 / portTICK_PERIOD_MS);
|
||||||
@ -451,7 +452,7 @@ void app_main(void)
|
|||||||
s_local_param.app_param.name = "Mouse";
|
s_local_param.app_param.name = "Mouse";
|
||||||
s_local_param.app_param.description = "Mouse Example";
|
s_local_param.app_param.description = "Mouse Example";
|
||||||
s_local_param.app_param.provider = "ESP32";
|
s_local_param.app_param.provider = "ESP32";
|
||||||
s_local_param.app_param.subclass = ESP_HID_CLASS_MIC;
|
s_local_param.app_param.subclass = ESP_HID_CLASS_MIC; // keep same with minor class of COD
|
||||||
s_local_param.app_param.desc_list = hid_mouse_descriptor;
|
s_local_param.app_param.desc_list = hid_mouse_descriptor;
|
||||||
s_local_param.app_param.desc_list_len = hid_mouse_descriptor_len;
|
s_local_param.app_param.desc_list_len = hid_mouse_descriptor_len;
|
||||||
|
|
||||||
|
@ -903,8 +903,9 @@ void app_main(void)
|
|||||||
ESP_LOGI(TAG, "setting device name");
|
ESP_LOGI(TAG, "setting device name");
|
||||||
esp_bt_gap_set_device_name(bt_hid_config.device_name);
|
esp_bt_gap_set_device_name(bt_hid_config.device_name);
|
||||||
ESP_LOGI(TAG, "setting cod major, peripheral");
|
ESP_LOGI(TAG, "setting cod major, peripheral");
|
||||||
esp_bt_cod_t cod;
|
esp_bt_cod_t cod = {0};
|
||||||
cod.major = ESP_BT_COD_MAJOR_DEV_PERIPHERAL;
|
cod.major = ESP_BT_COD_MAJOR_DEV_PERIPHERAL;
|
||||||
|
cod.minor = ESP_BT_COD_MINOR_PERIPHERAL_POINTING;
|
||||||
esp_bt_gap_set_cod(cod, ESP_BT_SET_COD_MAJOR_MINOR);
|
esp_bt_gap_set_cod(cod, ESP_BT_SET_COD_MAJOR_MINOR);
|
||||||
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
||||||
ESP_LOGI(TAG, "setting bt device");
|
ESP_LOGI(TAG, "setting bt device");
|
||||||
|
Loading…
Reference in New Issue
Block a user