mirror of
https://github.com/demik/quack.git
synced 2024-06-06 10:29:31 +00:00
Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
75260870c7 | ||
|
97a57e89ac | ||
|
6a0e7ee968 | ||
|
cfe3c0314a |
|
@ -1,3 +1,9 @@
|
|||
## v1.4.5
|
||||
- update to ESP-IDF v5.1.2
|
||||
- big background update, lot of cleaning and rewrites
|
||||
- as most patches as now mainstream, sdk patching now minimal
|
||||
- removed direct call bluedroid
|
||||
|
||||
## v1.4.4
|
||||
- update to ESP-IDF v4.2.3:
|
||||
- https://github.com/espressif/esp-idf/releases/tag/v4.2.2
|
||||
|
|
Binary file not shown.
87
main/adb.c
87
main/adb.c
|
@ -59,6 +59,7 @@ static void adb_rx_setup(void);
|
|||
static void adb_tx_as(void);
|
||||
static void adb_tx_one(void);
|
||||
static void adb_tx_setup(void);
|
||||
static void adb_tx_stop(void);
|
||||
static void adb_tx_zero(void);
|
||||
|
||||
/* functions */
|
||||
|
@ -127,7 +128,7 @@ inline bool adb_is_host(void) {
|
|||
void adb_probe(void) {
|
||||
uint16_t register3;
|
||||
|
||||
ESP_LOGI(TAG, "Probing for mouse...");
|
||||
ESP_LOGI(TAG, "Probing for mouse…");
|
||||
xTaskNotify(t_yellow, LED_SLOW, eSetValueWithOverwrite);
|
||||
|
||||
/* for some reason, RMT misses the first exchange sometimes. Flush the device should give it time */
|
||||
|
@ -136,17 +137,52 @@ void adb_probe(void) {
|
|||
vTaskDelay(12 / portTICK_PERIOD_MS);
|
||||
|
||||
while (true) {
|
||||
|
||||
adb_tx_cmd(ADB_MOUSE|ADB_TALK|ADB_REG3);
|
||||
register3 = adb_rx_mouse();
|
||||
ESP_LOGD("ADB", "Device $3 register3: %x", register3);
|
||||
ESP_LOGD("ADB", "Device $3 register3: %04x", register3);
|
||||
|
||||
if (register3 && (register3 & ADB_H_ALL) == ADB_H_ERR)
|
||||
ESP_LOGE(TAG, "Mouse failed self init test");
|
||||
|
||||
/*
|
||||
* try to unglue composite devices (Kensington)
|
||||
* the idea is to move detected devices to $9, and check $3 again
|
||||
* if there is something again at $3, it may be a composite device, or the user
|
||||
* plugged two devices.
|
||||
* if there is nothing anymore, move back $9 to $3
|
||||
*
|
||||
* we will handle that further down the line by checking the handler
|
||||
*/
|
||||
if (register3 & ADB_H_ALL) {
|
||||
ESP_LOGI(TAG, "\tMoving $3 to $9 to check for composite devices");
|
||||
adb_tx_listen(ADB_MOUSE|ADB_LISTEN|ADB_REG3, (ADB_TMP<<4)|ADB_H_MOVE);
|
||||
vTaskDelay(7 / portTICK_PERIOD_MS);
|
||||
ESP_LOGI(TAG, "\tChecking $3 again…");
|
||||
adb_tx_cmd(ADB_MOUSE|ADB_TALK|ADB_REG3);
|
||||
register3 = adb_rx_mouse();
|
||||
if (register3) {
|
||||
adb_tx_cmd(ADB_TMP|ADB_TALK|ADB_REG3);
|
||||
register3 = adb_rx_mouse();
|
||||
ESP_LOGI(TAG, "\t… something was there, $9 handler: $%02x", register3 & ADB_H_ALL);
|
||||
xTaskNotify(t_red, LED_ONCE, eSetValueWithOverwrite);
|
||||
}
|
||||
else {
|
||||
ESP_LOGI(TAG, "\t… nothing, moving $9 back to $3");
|
||||
adb_tx_listen(ADB_TMP|ADB_LISTEN|ADB_REG3, (ADB_MOUSE<<4)|ADB_H_MOVE);
|
||||
}
|
||||
|
||||
/* restore register3 from $3 for handler detection */
|
||||
vTaskDelay(7 / portTICK_PERIOD_MS);
|
||||
adb_tx_cmd(ADB_MOUSE|ADB_TALK|ADB_REG3);
|
||||
register3 = adb_rx_mouse();
|
||||
}
|
||||
|
||||
/* Accept all known handlers */
|
||||
if (((register3 & ADB_H_ALL) == ADB_H_C100) || ((register3 & ADB_H_ALL) == ADB_H_C200) ||
|
||||
((register3 & ADB_H_ALL) == ADB_H_MTRC)) {
|
||||
ESP_LOGI(TAG, "... detected mouse at $3");
|
||||
((register3 & ADB_H_ALL) == ADB_H_MTRC) || ((register3 & ADB_H_ALL) == ADB_H_KSGT)) {
|
||||
ESP_LOGI(TAG, "… detected mouse at $3");
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -172,6 +208,13 @@ void adb_probe(void) {
|
|||
case ADB_H_MTRC:
|
||||
ESP_LOGD(TAG, "MacTRAC running at default cpi");
|
||||
break;
|
||||
case ADB_H_KSGT:
|
||||
ESP_LOGD(TAG, "Kensington detected, switching to standard device");
|
||||
adb_tx_listen(ADB_MOUSE|ADB_LISTEN|ADB_REG3, (ADB_KML1<<4)|ADB_H_MOVE);
|
||||
adb_tx_listen(ADB_TMP|ADB_LISTEN|ADB_REG3, (ADB_MOUSE<<4)|ADB_H_MOVE);
|
||||
adb_tx_listen(ADB_MOUSE|ADB_LISTEN|ADB_REG3, 0x6000|(ADB_MOUSE<<4)|ADB_H_C200);
|
||||
ESP_LOGD(TAG, "Kensington running at 200cpi");
|
||||
break;
|
||||
default:
|
||||
ESP_LOGE(TAG, "Mouse running with unknow handler: %x", register3 & ADB_H_ALL);
|
||||
}
|
||||
|
@ -198,9 +241,9 @@ static void adb_rmt_reset() {
|
|||
void adb_task_host(void *pvParameters) {
|
||||
/* Classic Apple Mouse Protocol is 16 bits long */
|
||||
uint16_t data;
|
||||
uint8_t last = 0;
|
||||
int8_t move = 0;
|
||||
uint8_t state = ADB_S_PROBE;
|
||||
uint8_t last = 0;
|
||||
int8_t move = 0;
|
||||
uint8_t state = ADB_S_PROBE;
|
||||
|
||||
/* put green led to steady if BT is disabled. Otherwise BT init will do it */
|
||||
if (gpio_get_level(GPIO_BTOFF) == 0)
|
||||
|
@ -268,7 +311,7 @@ void adb_task_host(void *pvParameters) {
|
|||
else
|
||||
state = ADB_S_KEEP;
|
||||
}
|
||||
ESP_LOGD("ADB", "Check mouse presence %x", data);
|
||||
ESP_LOGD("ADB", "Check mouse presence %04x", data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -401,11 +444,15 @@ static inline void adb_rx_setup() {
|
|||
}
|
||||
|
||||
static inline void adb_tx_as() {
|
||||
/* send attention (800 µs low) + sync (70 µs high) */
|
||||
/*
|
||||
* send attention (800 µs low) + sync (65 µs high).
|
||||
* AN591 mentions 70 µs which is a mistake, make some devices angry
|
||||
*/
|
||||
|
||||
gpio_set_level(GPIO_ADB, 0);
|
||||
esp_rom_delay_us(800-1);
|
||||
gpio_set_level(GPIO_ADB, 1);
|
||||
esp_rom_delay_us(70-1);
|
||||
esp_rom_delay_us(65-1);
|
||||
}
|
||||
|
||||
void IRAM_ATTR adb_tx_cmd(unsigned char cmd) {
|
||||
|
@ -423,13 +470,12 @@ void IRAM_ATTR adb_tx_cmd(unsigned char cmd) {
|
|||
cmd & 0x01 ? adb_tx_one() : adb_tx_zero();
|
||||
|
||||
/* stop bit */
|
||||
adb_tx_zero();
|
||||
adb_tx_stop();
|
||||
adb_rx_setup();
|
||||
}
|
||||
|
||||
void IRAM_ATTR adb_tx_data(uint16_t data) {
|
||||
adb_tx_setup();
|
||||
|
||||
adb_tx_one();
|
||||
|
||||
/* send data 2 bytes (unrolled loop) */
|
||||
|
@ -451,20 +497,23 @@ void IRAM_ATTR adb_tx_data(uint16_t data) {
|
|||
data & 0x01 ? adb_tx_one() : adb_tx_zero();
|
||||
|
||||
/* stop bit */
|
||||
adb_tx_zero();
|
||||
adb_tx_stop();
|
||||
adb_rx_setup();
|
||||
}
|
||||
|
||||
void adb_tx_listen(unsigned char cmd, uint16_t data) {
|
||||
adb_tx_cmd(cmd);
|
||||
|
||||
/* Stop to start is between 160-240µS. Go for around 160 + time for GPIO setup */
|
||||
/*
|
||||
* Stop to start is between 160-240µS. Go for around 160 + time for GPIO setup
|
||||
* values from AN591 Datasheet minus the estimated call to esp_rom_delay_us
|
||||
*/
|
||||
|
||||
esp_rom_delay_us(160);
|
||||
adb_tx_data(data);
|
||||
}
|
||||
|
||||
static inline void adb_tx_one() {
|
||||
/* values from AN591 Datasheet minus the estimated call to esp_rom_delay_us */
|
||||
gpio_set_level(GPIO_ADB, 0);
|
||||
esp_rom_delay_us(ADB_1_LOW - 1);
|
||||
gpio_set_level(GPIO_ADB, 1);
|
||||
|
@ -489,8 +538,14 @@ static inline void adb_tx_setup() {
|
|||
gpio_set_level(GPIO_DIR, 1);
|
||||
}
|
||||
|
||||
static inline void adb_tx_stop() {
|
||||
gpio_set_level(GPIO_ADB, 0);
|
||||
esp_rom_delay_us(ADB_S_LOW - 1);
|
||||
gpio_set_level(GPIO_ADB, 1);
|
||||
esp_rom_delay_us(ADB_S_HIGH - 1);
|
||||
}
|
||||
|
||||
static inline void adb_tx_zero() {
|
||||
/* values from AN591 Datasheet minus the estimated call to esp_rom_delay_us */
|
||||
gpio_set_level(GPIO_ADB, 0);
|
||||
esp_rom_delay_us(ADB_0_LOW - 1);
|
||||
gpio_set_level(GPIO_ADB, 1);
|
||||
|
|
|
@ -43,6 +43,8 @@ void adb_tx_reset(void);
|
|||
#define ADB_0_HIGH 35
|
||||
#define ADB_1_LOW 35
|
||||
#define ADB_1_HIGH 65
|
||||
#define ADB_S_LOW 70
|
||||
#define ADB_S_HIGH 30
|
||||
|
||||
/* Classic Apple Mouse Protocol bitmasks */
|
||||
#define ADB_CMP_B1 (1<<15)
|
||||
|
@ -58,8 +60,9 @@ void adb_tx_reset(void);
|
|||
#define ADB_REG3 0x3
|
||||
|
||||
/* Device addresses */
|
||||
#define ADB_MOUSE (3<<4)
|
||||
#define ADB_TMP (9<<4)
|
||||
#define ADB_MOUSE (3<<4) // main device
|
||||
#define ADB_KML1 (8<<4) // disabled Kensington device
|
||||
#define ADB_TMP (9<<4) // temporary device
|
||||
|
||||
/* Various stuff */
|
||||
#define ADB_B_UP 0
|
||||
|
@ -70,6 +73,7 @@ void adb_tx_reset(void);
|
|||
#define ADB_H_C100 0x01 // Handler 1 (Classic @ 100cpi)
|
||||
#define ADB_H_C200 0x02 // Handler 2 (Classic @ 200cpi)
|
||||
#define ADB_H_MTRC 0x2f // Handler for MacTRAC 2.0
|
||||
#define ADB_H_KSGT 0x32 // Handler for Kensington devices
|
||||
#define ADB_H_MOVE 0xfe // Move to another address
|
||||
|
||||
/* Host states */
|
||||
|
|
34
main/blue.c
34
main/blue.c
|
@ -34,9 +34,11 @@
|
|||
#include "nvs_flash.h"
|
||||
#include "esp_bt.h"
|
||||
#include "esp_bt_defs.h"
|
||||
#if CONFIG_BT_BLE_ENABLED
|
||||
#include "esp_gap_ble_api.h"
|
||||
#include "esp_gatts_api.h"
|
||||
#include "esp_gatt_defs.h"
|
||||
#endif
|
||||
#include "esp_bt_main.h"
|
||||
#include "esp_bt_device.h"
|
||||
#include "esp_timer.h"
|
||||
|
@ -75,8 +77,8 @@ static esp_hid_raw_report_map_t *blue_hid_rm_get(esp_hidh_dev_t *dev);
|
|||
void blue_set_boot_protocol(esp_hidh_dev_t *dev);
|
||||
static bool blue_support_boot(esp_hidh_dev_t *dev);
|
||||
|
||||
/* direct calls to bluedroid */
|
||||
extern void BTA_HhSetProtoMode(uint8_t handle, uint8_t t_type);
|
||||
/* direct calls to esp_hid_* */
|
||||
void bt_gap_event_handler(esp_bt_gap_cb_event_t event, esp_bt_gap_cb_param_t *param);
|
||||
|
||||
/* Device specific functions blue_d_* */
|
||||
static void blue_d_callback(void *handler_args, esp_event_base_t base, int32_t id, void *event_data)
|
||||
|
@ -133,22 +135,21 @@ static void blue_d_connect() {
|
|||
static void blue_d_disconnect(esp_hidd_event_data_t *dev) {
|
||||
ESP_LOGI(TAG, "Host disconnected, reason: %s",
|
||||
esp_hid_disconnect_reason_str(esp_hidd_dev_transport_get(dev->disconnect.dev), dev->disconnect.reason));
|
||||
#if CONFIG_BT_BLE_ENABLED
|
||||
esp_hid_ble_gap_adv_start();
|
||||
#endif
|
||||
xTaskNotify(t_blue, LED_SLOW, eSetValueWithOverwrite);
|
||||
}
|
||||
|
||||
static void blue_d_init() {
|
||||
esp_err_t ret;
|
||||
|
||||
ret = esp_hid_ble_gap_adv_init(ESP_HID_APPEARANCE_MOUSE, m4848_config.device_name);
|
||||
ESP_ERROR_CHECK( ret );
|
||||
|
||||
if ((ret = esp_ble_gatts_register_callback(esp_hidd_gatts_event_handler)) != ESP_OK) {
|
||||
ESP_LOGE(TAG, "GATTS register callback failed: %d", ret);
|
||||
if ((ret = esp_bt_gap_register_callback(bt_gap_event_handler)) != ESP_OK) {
|
||||
ESP_LOGE(TAG, "BT GAP register callback failed: %d", ret);
|
||||
return;
|
||||
}
|
||||
|
||||
ESP_ERROR_CHECK(esp_hidd_dev_init(&m4848_config, ESP_HID_TRANSPORT_BLE, blue_d_callback, &hid_dev));
|
||||
ESP_ERROR_CHECK(esp_hidd_dev_init(&m4848_config, ESP_HID_TRANSPORT_BT, blue_d_callback, &hid_dev));
|
||||
xTaskCreate(blue_adb2hid, "ADB2BT", 2 * 1024, NULL, tskIDLE_PRIORITY + 1, &t_adb2hid);
|
||||
}
|
||||
|
||||
|
@ -161,12 +162,16 @@ static void blue_d_start()
|
|||
{
|
||||
ESP_LOGD(TAG, "Bluetooth stack started");
|
||||
xTaskNotify(t_blue, LED_SLOW, eSetValueWithOverwrite);
|
||||
#if CONFIG_BT_BLE_ENABLED
|
||||
esp_hid_ble_gap_adv_start();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* Called by the ADB stack from adb_task_host on mouse activity
|
||||
* Convert the 16bit ADB data to a 3 bytes HID INPUT REPORT matching the m4848
|
||||
*
|
||||
* The format is also BOOT compatible so don't bother to check what mode we are in
|
||||
*/
|
||||
|
||||
void blue_adb2hid(void *pvParameters) {
|
||||
|
@ -335,9 +340,7 @@ void blue_init(void)
|
|||
|
||||
ESP_LOGD(TAG, "Starting Bluetooth init on core %d", xPortGetCoreID());
|
||||
ESP_ERROR_CHECK(ret);
|
||||
/* ESP_BT_MODE_CLASSIC_BT doesn't work, it freezes esp_hidh_init */
|
||||
ESP_ERROR_CHECK(esp_hid_gap_init(ESP_BT_MODE_BTDM));
|
||||
ESP_ERROR_CHECK(esp_ble_gattc_register_callback(esp_hidh_gattc_event_handler));
|
||||
ESP_ERROR_CHECK(esp_hid_gap_init(ESP_BT_MODE_CLASSIC_BT));
|
||||
|
||||
esp_log_level_set("event", ESP_LOG_INFO);
|
||||
/* complains about wrong data len on BOOT mode and CCONTROL */
|
||||
|
@ -555,12 +558,11 @@ void blue_scan(void *pvParameters) {
|
|||
esp_hid_scan_result_t *r = results;
|
||||
|
||||
while (r) {
|
||||
ESP_LOGI(TAG, "found %s %s device: " ESP_BD_ADDR_STR ", RSSI: %d, NAME: %s",
|
||||
(r->transport == ESP_HID_TRANSPORT_BLE) ? "BLE" : "BT",
|
||||
esp_hid_cod_major_str(r->bt.cod.major),
|
||||
ESP_BD_ADDR_HEX(r->bda), r->rssi, r->name ? r->name : "");
|
||||
/*
|
||||
* as of v1.4.5, esp_hid_gap will print detected devices in console (handle_bt_device_result())
|
||||
* just look for something that looks like Bluetooth Classic mouse
|
||||
*/
|
||||
|
||||
/* search for something that looks like Bluetooth Classic mouse */
|
||||
if (r->transport == ESP_HID_TRANSPORT_BT &&
|
||||
strcmp("PERIPHERAL", esp_hid_cod_major_str(r->bt.cod.major)) == 0
|
||||
&& (r->bt.cod.minor & ESP_HID_COD_MIN_MOUSE)) {
|
||||
|
|
|
@ -381,14 +381,16 @@ static void handle_ble_device_result(struct ble_scan_result_evt_param *scan_rst)
|
|||
}
|
||||
#endif /* CONFIG_BT_BLE_ENABLED */
|
||||
|
||||
#warning here1
|
||||
#if CONFIG_BT_HID_HOST_ENABLED
|
||||
/*
|
||||
* BT GAP
|
||||
* */
|
||||
|
||||
static void bt_gap_event_handler(esp_bt_gap_cb_event_t event, esp_bt_gap_cb_param_t *param)
|
||||
#warning here2
|
||||
void bt_gap_event_handler(esp_bt_gap_cb_event_t event, esp_bt_gap_cb_param_t *param)
|
||||
{
|
||||
switch (event) {
|
||||
switch (event) {
|
||||
case ESP_BT_GAP_DISC_STATE_CHANGED_EVT: {
|
||||
ESP_LOGV(TAG, "BT GAP DISC_STATE %s", (param->disc_st_chg.state == ESP_BT_GAP_DISCOVERY_STARTED) ? "START" : "STOP");
|
||||
if (param->disc_st_chg.state == ESP_BT_GAP_DISCOVERY_STOPPED) {
|
||||
|
|
|
@ -1,31 +1,51 @@
|
|||
// Copyright 2017-2019 Espressif Systems (Shanghai) PTE LTD
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2021-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||
*/
|
||||
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#ifndef _ESP_HID_GAP_H_
|
||||
#define _ESP_HID_GAP_H_
|
||||
|
||||
#define HIDH_IDLE_MODE 0x00
|
||||
#define HIDH_BLE_MODE 0x01
|
||||
#define HIDH_BT_MODE 0x02
|
||||
#define HIDH_BTDM_MODE 0x03
|
||||
|
||||
#if CONFIG_BT_HID_HOST_ENABLED
|
||||
#if CONFIG_BT_BLE_ENABLED
|
||||
#define HID_HOST_MODE HIDH_BTDM_MODE
|
||||
#else
|
||||
#define HID_HOST_MODE HIDH_BT_MODE
|
||||
#endif
|
||||
#elif CONFIG_BT_BLE_ENABLED
|
||||
#define HID_HOST_MODE HIDH_BLE_MODE
|
||||
#elif CONFIG_BT_NIMBLE_ENABLED
|
||||
#define HID_HOST_MODE HIDH_BLE_MODE
|
||||
#else
|
||||
#define HID_HOST_MODE HIDH_IDLE_MODE
|
||||
#endif
|
||||
|
||||
#include "esp_err.h"
|
||||
#include "esp_log.h"
|
||||
|
||||
#include "esp_bt.h"
|
||||
#if !CONFIG_BT_NIMBLE_ENABLED
|
||||
#include "esp_bt_defs.h"
|
||||
#include "esp_bt_main.h"
|
||||
#include "esp_gap_bt_api.h"
|
||||
#endif
|
||||
#include "esp_hid_common.h"
|
||||
#if CONFIG_BT_BLE_ENABLED
|
||||
#include "esp_gattc_api.h"
|
||||
#include "esp_gatt_defs.h"
|
||||
#include "esp_gap_ble_api.h"
|
||||
#include "esp_gap_bt_api.h"
|
||||
#include "esp_hid_common.h"
|
||||
#endif
|
||||
|
||||
#if CONFIG_BT_NIMBLE_ENABLED
|
||||
#include "nimble/ble.h"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -33,13 +53,18 @@ extern "C" {
|
|||
|
||||
typedef struct esp_hidh_scan_result_s {
|
||||
struct esp_hidh_scan_result_s *next;
|
||||
#if CONFIG_BT_NIMBLE_ENABLED
|
||||
uint8_t bda[6];
|
||||
#else
|
||||
esp_bd_addr_t bda;
|
||||
#endif
|
||||
|
||||
esp_bd_addr_t bda;
|
||||
const char *name;
|
||||
int8_t rssi;
|
||||
esp_hid_usage_t usage;
|
||||
esp_hid_transport_t transport; //BT, BLE or USB
|
||||
union {
|
||||
#if !CONFIG_BT_NIMBLE_ENABLED
|
||||
struct {
|
||||
esp_bt_cod_t cod;
|
||||
esp_bt_uuid_t uuid;
|
||||
|
@ -48,6 +73,12 @@ typedef struct esp_hidh_scan_result_s {
|
|||
esp_ble_addr_type_t addr_type;
|
||||
uint16_t appearance;
|
||||
} ble;
|
||||
#else
|
||||
struct {
|
||||
uint8_t addr_type;
|
||||
uint16_t appearance;
|
||||
} ble;
|
||||
#endif
|
||||
};
|
||||
} esp_hid_scan_result_t;
|
||||
|
||||
|
@ -58,8 +89,10 @@ void esp_hid_scan_results_free(esp_hid_scan_result_t *results);
|
|||
esp_err_t esp_hid_ble_gap_adv_init(uint16_t appearance, const char *device_name);
|
||||
esp_err_t esp_hid_ble_gap_adv_start(void);
|
||||
|
||||
#if !CONFIG_BT_NIMBLE_ENABLED
|
||||
void print_uuid(esp_bt_uuid_t *uuid);
|
||||
const char *ble_addr_type_str(esp_ble_addr_type_t ble_addr_type);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
71
sdkconfig
71
sdkconfig
|
@ -410,24 +410,7 @@ CONFIG_BT_HID_ENABLED=y
|
|||
CONFIG_BT_HID_HOST_ENABLED=y
|
||||
# CONFIG_BT_HID_DEVICE_ENABLED is not set
|
||||
CONFIG_BT_SSP_ENABLED=y
|
||||
CONFIG_BT_BLE_ENABLED=y
|
||||
CONFIG_BT_GATTS_ENABLE=y
|
||||
# CONFIG_BT_GATTS_PPCP_CHAR_GAP is not set
|
||||
# CONFIG_BT_BLE_BLUFI_ENABLE is not set
|
||||
CONFIG_BT_GATT_MAX_SR_PROFILES=8
|
||||
CONFIG_BT_GATT_MAX_SR_ATTRIBUTES=100
|
||||
# CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set
|
||||
CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_AUTO=y
|
||||
CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MODE=0
|
||||
# CONFIG_BT_GATTS_ROBUST_CACHING_ENABLED is not set
|
||||
# CONFIG_BT_GATTS_DEVICE_NAME_WRITABLE is not set
|
||||
# CONFIG_BT_GATTS_APPEARANCE_WRITABLE is not set
|
||||
CONFIG_BT_GATTC_ENABLE=y
|
||||
CONFIG_BT_GATTC_MAX_CACHE_CHAR=40
|
||||
# CONFIG_BT_GATTC_CACHE_NVS_FLASH is not set
|
||||
CONFIG_BT_GATTC_CONNECT_RETRY_COUNT=3
|
||||
CONFIG_BT_BLE_SMP_ENABLE=y
|
||||
# CONFIG_BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set
|
||||
# CONFIG_BT_BLE_ENABLED is not set
|
||||
# CONFIG_BT_STACK_NO_LOG is not set
|
||||
|
||||
#
|
||||
|
@ -604,12 +587,11 @@ CONFIG_BT_LOG_BLUFI_TRACE_LEVEL=2
|
|||
# end of BT DEBUG LOG LEVEL
|
||||
|
||||
CONFIG_BT_ACL_CONNECTIONS=4
|
||||
CONFIG_BT_MULTI_CONNECTION_ENBALE=y
|
||||
# CONFIG_BT_MULTI_CONNECTION_ENBALE is not set
|
||||
# CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST is not set
|
||||
# CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY is not set
|
||||
# CONFIG_BT_BLE_HOST_QUEUE_CONG_CHECK is not set
|
||||
CONFIG_BT_SMP_ENABLE=y
|
||||
# CONFIG_BT_BLE_ACT_SCAN_REP_ADV_SCAN is not set
|
||||
CONFIG_BT_BLE_ESTAB_LINK_CONN_TOUT=30
|
||||
CONFIG_BT_MAX_DEVICE_NAME_LEN=32
|
||||
# CONFIG_BT_BLE_RPA_SUPPORTED is not set
|
||||
|
@ -621,9 +603,8 @@ CONFIG_BT_BLE_RPA_TIMEOUT=900
|
|||
# Controller Options
|
||||
#
|
||||
# CONFIG_BTDM_CTRL_MODE_BLE_ONLY is not set
|
||||
# CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY is not set
|
||||
CONFIG_BTDM_CTRL_MODE_BTDM=y
|
||||
CONFIG_BTDM_CTRL_BLE_MAX_CONN=3
|
||||
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=y
|
||||
# CONFIG_BTDM_CTRL_MODE_BTDM is not set
|
||||
CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN=2
|
||||
CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN=0
|
||||
# CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_HCI is not set
|
||||
|
@ -636,11 +617,9 @@ CONFIG_BTDM_CTRL_PCM_POLAR_FALLING_EDGE=y
|
|||
# CONFIG_BTDM_CTRL_PCM_POLAR_RISING_EDGE is not set
|
||||
CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0
|
||||
CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0
|
||||
CONFIG_BTDM_CTRL_AUTO_LATENCY=y
|
||||
CONFIG_BTDM_CTRL_AUTO_LATENCY_EFF=y
|
||||
CONFIG_BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT=y
|
||||
CONFIG_BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF=y
|
||||
CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=3
|
||||
CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=0
|
||||
CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=2
|
||||
CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0
|
||||
CONFIG_BTDM_CTRL_PINNED_TO_CORE_0=y
|
||||
|
@ -658,20 +637,7 @@ CONFIG_BTDM_CTRL_MODEM_SLEEP_MODE_ORIG=y
|
|||
CONFIG_BTDM_CTRL_LPCLK_SEL_MAIN_XTAL=y
|
||||
# end of MODEM SLEEP Options
|
||||
|
||||
CONFIG_BTDM_BLE_DEFAULT_SCA_250PPM=y
|
||||
CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1
|
||||
CONFIG_BTDM_BLE_SCAN_DUPL=y
|
||||
CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE=y
|
||||
# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA is not set
|
||||
# CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE is not set
|
||||
CONFIG_BTDM_SCAN_DUPL_TYPE=0
|
||||
CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=200
|
||||
CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0
|
||||
# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set
|
||||
CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y
|
||||
CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y
|
||||
CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100
|
||||
CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20
|
||||
CONFIG_BTDM_RESERVE_DRAM=0xdb5c
|
||||
CONFIG_BTDM_CTRL_HLI=y
|
||||
# end of Controller Options
|
||||
|
@ -1928,14 +1894,6 @@ CONFIG_BTU_TASK_STACK_SIZE=4096
|
|||
CONFIG_CLASSIC_BT_ENABLED=y
|
||||
# CONFIG_A2DP_ENABLE is not set
|
||||
# CONFIG_HFP_ENABLE is not set
|
||||
CONFIG_GATTS_ENABLE=y
|
||||
# CONFIG_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set
|
||||
CONFIG_GATTS_SEND_SERVICE_CHANGE_AUTO=y
|
||||
CONFIG_GATTS_SEND_SERVICE_CHANGE_MODE=0
|
||||
CONFIG_GATTC_ENABLE=y
|
||||
# CONFIG_GATTC_CACHE_NVS_FLASH is not set
|
||||
CONFIG_BLE_SMP_ENABLE=y
|
||||
# CONFIG_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set
|
||||
# CONFIG_HCI_TRACE_LEVEL_NONE is not set
|
||||
# CONFIG_HCI_TRACE_LEVEL_ERROR is not set
|
||||
CONFIG_HCI_TRACE_LEVEL_WARNING=y
|
||||
|
@ -2099,32 +2057,19 @@ CONFIG_BLUFI_TRACE_LEVEL_WARNING=y
|
|||
CONFIG_BLUFI_INITIAL_TRACE_LEVEL=2
|
||||
# CONFIG_BLE_HOST_QUEUE_CONGESTION_CHECK is not set
|
||||
CONFIG_SMP_ENABLE=y
|
||||
# CONFIG_BLE_ACTIVE_SCAN_REPORT_ADV_SCAN_RSP_INDIVIDUALLY is not set
|
||||
CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT=30
|
||||
# CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY is not set
|
||||
# CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY is not set
|
||||
CONFIG_BTDM_CONTROLLER_MODE_BTDM=y
|
||||
CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3
|
||||
CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY=y
|
||||
# CONFIG_BTDM_CONTROLLER_MODE_BTDM is not set
|
||||
CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN=2
|
||||
CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN=0
|
||||
CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=3
|
||||
CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0
|
||||
CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=2
|
||||
CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0
|
||||
CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0
|
||||
CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y
|
||||
# CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4 is not set
|
||||
CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=y
|
||||
CONFIG_BLE_SCAN_DUPLICATE=y
|
||||
CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR=y
|
||||
# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA is not set
|
||||
# CONFIG_SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR is not set
|
||||
CONFIG_SCAN_DUPLICATE_TYPE=0
|
||||
CONFIG_DUPLICATE_SCAN_CACHE_SIZE=200
|
||||
# CONFIG_BLE_MESH_SCAN_DUPLICATE_EN is not set
|
||||
CONFIG_BTDM_CONTROLLER_FULL_SCAN_SUPPORTED=y
|
||||
CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED=y
|
||||
CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100
|
||||
CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20
|
||||
CONFIG_ADC2_DISABLE_DAC=y
|
||||
# CONFIG_MCPWM_ISR_IN_IRAM is not set
|
||||
# CONFIG_SW_COEXIST_ENABLE is not set
|
||||
|
|
Loading…
Reference in New Issue
Block a user