a59eafbc9d
* fix sdmmc config * Fix warnings in EEPROM from @Curclamas * remove leftover TAG in EEPROM * Initial add of @stickbreaker i2c * Add log_n * fix warnings when log is off * i2c code clean up and reorganization * add flags to interrupt allocator * fix sdmmc config * Fix warnings in EEPROM from @Curclamas * remove leftover TAG in EEPROM * fix errors with latest IDF * fix debug optimization (#1365) incorrect optimization for debugging tick markers. * Fix some missing BT header * Change BTSerial log calls * Update BLE lib * Arduino-ESP32 release management scripted (#1515) * Calculate an absolute path for a custom partitions table (#1452) * * Arduino-ESP32 release management scripted (ready-to-merge) * * secure env for espressif/arduino-esp32 * * build tests enabled * gitter webhook enabled * * gitter room link fixed * better comment * * filepaths fixed * BT Serial adjustments * * don't run sketch builds & tests for tagged builds * Return false from WiFi.hostByName() if hostname is not resolved * Free BT Memory when BT is not used * WIFI_MODE_NULL is not supported anymore * Select some key examples to build with PlatformIO to save some time * Update BLE lib * Fixed BLE lib * Major WiFi overhaul - auto reconnect on connection loss now works - moved to event groups - some code clean up and procedure optimizations - new methods to get a more elaborate system ststus * Add cmake tests to travis * Add initial AsyncUDP * Add NetBIOS lib and fix CMake includes * Add Initial WebServer * Fix WebServer and examples * travis not quiting on build fail * Try different travis build * Update IDF to aaf1239 * Fix WPS Example * fix script permission and add some fail tests to sketch builder * Add missing space in WiFiClient::write(Stream &stream)
93 lines
2.5 KiB
C
93 lines
2.5 KiB
C
// Copyright 2015-2016 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
|
|
|
|
// 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 __BTC_SPP_H__
|
|
#define __BTC_SPP_H__
|
|
|
|
#include "btc/btc_task.h"
|
|
#include "esp_bt_defs.h"
|
|
#include "esp_spp_api.h"
|
|
#include "common/bt_target.h"
|
|
#include "bta/bta_jv_api.h"
|
|
|
|
#if (defined BTC_SPP_INCLUDED && BTC_SPP_INCLUDED == TRUE)
|
|
|
|
#define ESP_SPP_MAX_SESSION BTA_JV_MAX_RFC_SR_SESSION
|
|
#define ESP_SPP_SERVER_NAME_MAX 32
|
|
|
|
#define ESP_SPP_RINGBUF_SIZE 1000
|
|
|
|
typedef enum {
|
|
BTC_SPP_ACT_INIT = 0,
|
|
BTC_SPP_ACT_UNINIT,
|
|
BTC_SPP_ACT_START_DISCOVERY,
|
|
BTC_SPP_ACT_CONNECT,
|
|
BTC_SPP_ACT_DISCONNECT,
|
|
BTC_SPP_ACT_START_SRV,
|
|
BTC_SPP_ACT_WRITE,
|
|
} btc_spp_act_t;
|
|
|
|
/* btc_spp_args_t */
|
|
typedef union {
|
|
//BTC_SPP_ACT_INIT
|
|
struct init_arg {
|
|
esp_spp_mode_t mode;
|
|
} init;
|
|
//BTC_SPP_ACT_UNINIT
|
|
struct uninit_arg {
|
|
} uninit;
|
|
|
|
//BTC_SPP_ACT_START_DISCOVERY
|
|
struct start_discovery_arg {
|
|
BD_ADDR bd_addr;
|
|
UINT16 num_uuid;
|
|
tSDP_UUID *p_uuid_list;
|
|
} start_discovery;
|
|
//BTC_SPP_ACT_CONNECT
|
|
struct connect_arg {
|
|
esp_spp_sec_t sec_mask;
|
|
esp_spp_role_t role;
|
|
UINT8 remote_scn;
|
|
esp_bd_addr_t peer_bd_addr;
|
|
} connect;
|
|
//BTC_SPP_ACT_DISCONNECT
|
|
struct disconnect_arg {
|
|
UINT32 handle;
|
|
} disconnect;
|
|
//BTC_SPP_ACT_START_SRV
|
|
struct start_srv_arg {
|
|
esp_spp_sec_t sec_mask;
|
|
esp_spp_role_t role;
|
|
UINT8 local_scn;
|
|
UINT8 max_session;
|
|
char name[ESP_SPP_SERVER_NAME_MAX + 1];
|
|
} start_srv;
|
|
//BTC_SPP_ACT_WRITE
|
|
struct write_arg {
|
|
UINT32 handle;
|
|
int len;
|
|
UINT8 *p_data;
|
|
} write;
|
|
|
|
} btc_spp_args_t;
|
|
|
|
|
|
void btc_spp_call_handler(btc_msg_t *msg);
|
|
void btc_spp_cb_handler(btc_msg_t *msg);
|
|
void btc_spp_arg_deep_copy(btc_msg_t *msg, void *p_dest, void *p_src);
|
|
|
|
esp_err_t btc_spp_vfs_register(void);
|
|
#endif ///defined BTC_SPP_INCLUDED && BTC_SPP_INCLUDED == TRUE
|
|
#endif ///__BTC_SPP_H__
|