Merge pull request #14881 from Jason2866/S3_Homekit

S3 homekit prep
This commit is contained in:
Jason2866 2022-02-16 19:37:48 +01:00 committed by GitHub
commit 06c33d34ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
67 changed files with 287 additions and 7020 deletions

View File

@ -15,6 +15,6 @@
#if CONFIG_IDF_TARGET_ESP32
#include "bignum_ESP32.h"
#elif CONFIG_IDF_TARGET_ESP32C3
#elif CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3
#include "bignum_ESP32_C3.h"
#endif

View File

@ -39,6 +39,9 @@
#if CONFIG_IDF_TARGET_ESP32C3
#include "esp32c3/dport_access.h"
#endif
#if CONFIG_IDF_TARGET_ESP32S3
#include "esp32s3/dport_access.h"
#endif
static _lock_t mpi_lock;

View File

@ -21,7 +21,7 @@
*
*/
#if CONFIG_IDF_TARGET_ESP32C3
#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3
#if __has_include("esp_idf_version.h")
#include "esp_idf_version.h"
#endif

View File

@ -11,7 +11,7 @@
// 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.
#if CONFIG_IDF_TARGET_ESP32C3
#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3
#pragma once
#include_next "mbedtls/bignum.h"

View File

@ -89,7 +89,7 @@ void esp_mpi_exp_mpi_mod_hw_op(const mbedtls_mpi *X, const mbedtls_mpi *Y, const
#endif //CONFIG_IDF_TARGET_ESP32
#endif //ESP_MPI_USE_MONT_EXP
#if CONFIG_IDF_TARGET_ESP32C3
#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3
void esp_mpi_exp_mpi_mod_hw_op(const mbedtls_mpi *X, const mbedtls_mpi *Y, const mbedtls_mpi *M, const mbedtls_mpi *Rinv, mbedtls_mpi_uint Mprime, size_t num_words);
extern int esp_mpi_exp_mod( mbedtls_mpi *Z, const mbedtls_mpi *X, const mbedtls_mpi *Y, const mbedtls_mpi *M, mbedtls_mpi *_Rinv );
extern size_t esp_mpi_hardware_words(size_t words);

View File

@ -79,7 +79,7 @@ static inline size_t bits_to_words(size_t bits)
/* Return the number of words actually used to represent an mpi
number.
*/
#if defined(MBEDTLS_MPI_EXP_MOD_ALT) || defined(CONFIG_IDF_TARGET_ESP32C3)
#if defined(MBEDTLS_MPI_EXP_MOD_ALT) || defined(CONFIG_IDF_TARGET_ESP32C3) || defined(CONFIG_IDF_TARGET_ESP32S3)
static size_t mpi_words(const mbedtls_mpi *mpi)
{
for (size_t i = mpi->n; i > 0; i--) {

View File

@ -23,12 +23,20 @@
* code.
*/
#if (CONFIG_COMPILER_OPTIMIZATION_PERF)
#ifndef likely
#define likely(x) __builtin_expect(!!(x), 1)
#endif
#ifndef unlikely
#define unlikely(x) __builtin_expect(!!(x), 0)
#endif
#else
#ifndef likely
#define likely(x) (x)
#endif
#ifndef unlikely
#define unlikely(x) (x)
#endif
#endif
/*
* Utility macros used for designated initializers, which work differently

View File

@ -1,22 +1,7 @@
/*
* Copyright 2019 Espressif Systems (Shanghai) PTE LTD
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
* SPDX-License-Identifier: Apache-2.0
*/
#ifdef ESP_PLATFORM

View File

@ -1,22 +1,7 @@
/*
* Copyright 2019 Espressif Systems (Shanghai) PTE LTD
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
* SPDX-License-Identifier: Apache-2.0
*/
#ifdef ESP_PLATFORM
@ -312,6 +297,7 @@ static struct os_mbuf *ble_hci_trans_acl_buf_alloc(void)
static void ble_hci_rx_acl(uint8_t *data, uint16_t len)
{
struct os_mbuf *m;
int rc;
int sr;
if (len < BLE_HCI_DATA_HDR_SZ || len > MYNEWT_VAL(BLE_ACL_BUF_SIZE)) {
return;
@ -320,9 +306,11 @@ static void ble_hci_rx_acl(uint8_t *data, uint16_t len)
m = ble_hci_trans_acl_buf_alloc();
if (!m) {
ESP_LOGE(TAG, "%s failed to allocate ACL buffers; increase ACL_BUF_COUNT", __func__);
return;
}
if (os_mbuf_append(m, data, len)) {
if ((rc = os_mbuf_append(m, data, len)) != 0) {
ESP_LOGE(TAG, "%s failed to os_mbuf_append; rc = %d", __func__, rc);
os_mbuf_free_chain(m);
return;
}

View File

@ -1374,4 +1374,12 @@
#define MYNEWT_VAL_NEWT_FEATURE_LOGCFG (1)
#endif
#ifndef MYNEWT_VAL_BLE_USE_ESP_TIMER
#ifdef CONFIG_BT_NIMBLE_USE_ESP_TIMER
#define MYNEWT_VAL_BLE_USE_ESP_TIMER (1)
#else
#define MYNEWT_VAL_BLE_USE_ESP_TIMER (0)
#endif
#endif
#endif

View File

@ -1,22 +1,7 @@
/*
* Copyright 2020 Espressif Systems (Shanghai) PTE LTD
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef __ESP_NIMBLE_MEM_H__

View File

@ -1,23 +1,9 @@
/*
* Copyright 2020 Espressif Systems (Shanghai) PTE LTD
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
* SPDX-License-Identifier: Apache-2.0
*/
#ifdef ESP_PLATFORM
#include "esp_attr.h"

View File

@ -1,38 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/controller
pkg.description: Controller side of the nimble Bluetooth Smart stack.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
pkg.req_apis:
- ble_driver
- ble_transport
- stats
pkg.deps:
- "@apache-mynewt-core/kernel/os"
- nimble
pkg.init:
ble_ll_init: 'MYNEWT_VAL(BLE_LL_SYSINIT_STAGE)'

View File

@ -1,434 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
BLE_CONTROLLER:
description: >
Indicates that NimBLE controller is present. The default value for
this setting shall not be overriden.
value: 1
BLE_HW_WHITELIST_ENABLE:
description: >
Used to enable hardware white list
value: 1
BLE_LL_SYSVIEW:
description: >
Enable SystemView tracing module for controller.
value: 0
BLE_LL_PRIO:
description: 'The priority of the LL task'
type: 'task_priority'
value: 0
# Sleep clock accuracy (sca). This is the amount of drift in the system
# during when the device is sleeping (in parts per million).
#
# NOTE: 'the' master sca is an enumerated value based on the sca. Rather
# than have a piece of code calculate this value, the developer must set
# this value based on the value of the SCA using the following table:
#
# SCA between 251 and 500 ppm (inclusive); master sca = 0
# SCA between 151 and 250 ppm (inclusive); master sca = 1
# SCA between 101 and 150 ppm (inclusive); master sca = 2
# SCA between 76 and 100 ppm (inclusive); master sca = 3
# SCA between 51 and 75 ppm (inclusive); master sca = 4
# SCA between 31 and 50 ppm (inclusive); master sca = 5
# SCA between 21 and 30 ppm (inclusive); master sca = 6
# SCA between 0 and 20 ppm (inclusive); master sca = 7
#
# For example:
# if your clock drift is 101 ppm, your master should be set to 2.
# if your clock drift is 20, your master sca should be set to 7.
#
# The values provided below are merely meant to be an example and should
# be replaced by values appropriate for your platform.
BLE_LL_OUR_SCA:
description: 'The system clock accuracy of the device.'
value: '60' # in ppm
BLE_LL_MASTER_SCA:
description: 'Enumerated value based on our sca'
value: '4'
BLE_LL_TX_PWR_DBM:
description: 'Transmit power level.'
value: '0'
BLE_LL_NUM_COMP_PKT_ITVL_MS:
description: >
Determines the interval at which the controller will send the
number of completed packets event to the host. Rate is in milliseconds.
value: 2000
BLE_LL_MFRG_ID:
description: >
Manufacturer ID. Should be set to unique ID per manufacturer.
value: '0xFFFF'
# Configuration items for the number of duplicate advertisers and the
# number of advertisers from which we have heard a scan response.
BLE_LL_NUM_SCAN_DUP_ADVS:
description: 'The number of duplicate advertisers stored.'
value: '8'
BLE_LL_NUM_SCAN_RSP_ADVS:
description: >
The number of advertisers from which we have heard a scan
response. Prevents sending duplicate events to host.
value: '8'
BLE_LL_WHITELIST_SIZE:
description: 'Size of the LL whitelist.'
value: '8'
BLE_LL_RESOLV_LIST_SIZE:
description: 'Size of the resolving list.'
value: '4'
# Data length management definitions for connections. These define the
# maximum size of the PDU's that will be sent and/or received in a
# connection.
BLE_LL_MAX_PKT_SIZE:
description: 'The maximum PDU size that can be sent/received'
value: '251'
BLE_LL_SUPP_MAX_RX_BYTES:
description: 'The maximum supported received PDU size'
value: MYNEWT_VAL(BLE_LL_MAX_PKT_SIZE)
BLE_LL_SUPP_MAX_TX_BYTES:
description: 'The maximum supported transmit PDU size'
value: MYNEWT_VAL(BLE_LL_MAX_PKT_SIZE)
BLE_LL_CONN_INIT_MAX_TX_BYTES:
description: >
Used to set the initial maximum transmit PDU size in a
connection. If this is set to a value greater than 27,
the controller will automatically attempt to do the
data length update procedure. The host can always tell
the controller to update this value.
value: '27'
# The number of slots that will be allocated to each connection
BLE_LL_CONN_INIT_SLOTS:
description: >
This is the number of "slots" allocated to a connection when scheduling
connections. Each slot is 1.25 msecs long. Note that a connection event may
last longer than the number of slots allocated here and may also end earlier
(depending on when the next scheduled event occurs and how much data needs
to be transferred in the connection). However, you will be guaranteed that
a connection event will be given this much time, if needed. Consecutively
scheduled items will be at least this far apart
value: '4'
BLE_LL_CONN_INIT_MIN_WIN_OFFSET:
description: >
This is the minimum number of "slots" for WindowOffset value used for
CONNECT_IND when creating new connection as a master. Each slot is 1.25
msecs long. Increasing this value will delay first connection event after
connection is created. However, older TI CC254x controllers cannot change
connection parameters later if WindowOffset was set to 0 in CONNECT_IND. To
ensure interoperability with such devices set this value to 2 (or more).
value: '0'
# Strict scheduling
BLE_LL_STRICT_CONN_SCHEDULING:
description: >
Forces the scheduler on a central to schedule connections in fixed
time intervals called periods. If set to 0, the scheduler is not forced
to do this. If set to 1, the scheduler will only schedule connections at
period boundaries. See comments in ble_ll_sched.h for more details.
value: '0'
BLE_LL_ADD_STRICT_SCHED_PERIODS:
description: >
The number of additional periods that will be allocated for strict
scheduling. The total # of periods allocated for strict scheduling
will be equal to the number of connections plus this number.
value: '0'
BLE_LL_USECS_PER_PERIOD:
description: >
The number of usecs per period.
value: '3250'
# The number of random bytes to store
BLE_LL_RNG_BUFSIZE:
description: >
The number of random bytes that the link layer will try to
always have available for the host to use. Decreasing this
value may cause host delays if the host needs lots of random
material often.
value: '32'
BLE_LL_RFMGMT_ENABLE_TIME:
description: >
Time required for radio and/or related components to be fully
enabled before any request from LL is sent. This value is used
by rfmgmt to enable PHY in advance, before request from LL is
made. It depends on radio driver selected and may also depend
on hardware used:
- nrf51 - time required for XTAL to settle
- nrf52 - time required for XTAL to settle
Value is specified in microseconds. If set to 0, rfmgmt keeps
PHY enabled all the time.
value: MYNEWT_VAL(BLE_XTAL_SETTLE_TIME)
# Configuration for LL supported features.
#
# There are a total 8 features that the LL can support. These can be found
# in v4.2, Vol 6 Part B Section 4.6.
#
# These feature definitions are used to inform a host or other controller
# about the LL features supported by the controller.
#
# NOTE: 'the' controller always supports extended reject indicate and thus
# is not listed here.
BLE_LL_CFG_FEAT_LE_ENCRYPTION:
description: >
This option enables/disables encryption support in the controller.
This option saves both both code and RAM.
value: '1'
BLE_LL_CFG_FEAT_CONN_PARAM_REQ:
description: >
This option enables/disables the connection parameter request
procedure. This is implemented in the controller but is disabled
by default.
value: '1'
BLE_LL_CFG_FEAT_SLAVE_INIT_FEAT_XCHG:
description: >
This option allows a slave to initiate the feature exchange
procedure. This feature is implemented but currently has no impact
on code or ram size
value: '1'
BLE_LL_CFG_FEAT_LE_PING:
description: >
This option allows a controller to send/receive LE pings.
Currently, this feature is not implemented by the controller so
turning it on or off has no effect.
value: 'MYNEWT_VAL_BLE_LL_CFG_FEAT_LE_ENCRYPTION'
BLE_LL_CFG_FEAT_DATA_LEN_EXT:
description: >
This option enables/disables the data length update procedure in
the controller. If enabled, the controller is allowed to change the
size of tx/rx pdu's used in a connection. This option has only
minor impact on code size and non on RAM.
value: '1'
BLE_LL_CFG_FEAT_LL_PRIVACY:
description: >
This option is used to enable/disable LL privacy.
value: '1'
BLE_LL_CFG_FEAT_LE_CSA2:
description: >
This option is used to enable/disable support for LE Channel
Selection Algorithm #2.
value: '0'
BLE_LL_CFG_FEAT_LE_2M_PHY:
description: >
This option is used to enable/disable support for the 2Mbps PHY.
value: '0'
BLE_LL_CFG_FEAT_LE_CODED_PHY:
description: >
This option is used to enable/disable support for the coded PHY.
value: '0'
BLE_LL_CFG_FEAT_LL_EXT_ADV:
description: >
This option is used to enable/disable support for Extended
Advertising Feature. That means extended scanner, advertiser
and connect.
value: MYNEWT_VAL(BLE_EXT_ADV)
BLE_LL_CFG_FEAT_LL_PERIODIC_ADV:
description: >
This option is used to enable/disable support for Periodic
Advertising Feature.
value: MYNEWT_VAL(BLE_PERIODIC_ADV)
BLE_LL_CFG_FEAT_LL_PERIODIC_ADV_SYNC_CNT:
description: >
This option is used to configure number of supported periodic syncs.
value: MYNEWT_VAL(BLE_MAX_PERIODIC_SYNCS)
BLE_LL_CFG_FEAT_LL_PERIODIC_ADV_SYNC_LIST_CNT:
description: >
Size of Periodic Advertiser sync list.
value: MYNEWT_VAL(BLE_MAX_PERIODIC_SYNCS)
BLE_LL_CFG_FEAT_LL_PERIODIC_ADV_SYNC_TRANSFER:
description: >
This option is use to enable/disable support for Periodic
Advertising Sync Transfer Feature.
value: MYNEWT_VAL(BLE_PERIODIC_ADV_SYNC_TRANSFER)
BLE_LL_EXT_ADV_AUX_PTR_CNT:
description: >
This option configure a max number of scheduled outstanding auxiliary
packets for receive on secondary advertising channel.
value: 0
BLE_PUBLIC_DEV_ADDR:
description: >
Allows the target or app to override the public device address
used by the controller. If all zero, the controller will
attempt to retrieve the public device address from its
chip specific location. If non-zero, this address will
be used.
value: "(uint8_t[6]){0x00, 0x00, 0x00, 0x00, 0x00, 0x00}"
BLE_LL_DTM:
description: >
Enables HCI Test commands needed for Bluetooth SIG certification
value: MYNEWT_VAL(BLE_LL_DIRECT_TEST_MODE)
BLE_LL_DTM_EXTENSIONS:
description: >
Enables non-standard extensions to HCI test commands. Once enabled,
HCI_LE_Transmitter_Test accepts extra parameters in addition to
those defined in Core specification
interval (2 octets) interval between packets (usecs), overrides
standard interval
pkt_count (2 octets) number of packets to transmit, controller
will automatically stop sending packets
after given number of packets was sent
Setting either of these parameters to 0 will configure for default
behavior, as per Core specification.
If specified interval is shorter then allowed by specification it
will be ignored.
Extended parameters shall immediately follow standard parameters.
Controller can accept both standard and extended version of command
depending on specified HCI command length.
value: 0
BLE_LL_VND_EVENT_ON_ASSERT:
description: >
This options enables controller to send a vendor-specific event on
an assertion in controller code. The event contains file name and
line number where assertion occured.
value: 0
BLE_LL_SYSINIT_STAGE:
description: >
Sysinit stage for the NimBLE controller.
value: 250
BLE_LL_DEBUG_GPIO_HCI_CMD:
description: >
GPIO pin number to debug HCI commands flow. Pin is set to high state
when HCI command is being processed.
value: -1
BLE_LL_DEBUG_GPIO_HCI_EV:
description: >
GPIO pin number to debug HCI events flow. Pin is set to high state
when HCI event is being sent.
value: -1
BLE_LL_DEBUG_GPIO_SCHED_RUN:
description: >
GPIO pin number to debug scheduler running (on timer). Pin is set
to high state while scheduler is running.
value: -1
BLE_LL_DEBUG_GPIO_SCHED_ITEM_CB:
description: >
GPIO pin number to debug scheduler item execution times. Pin is set
to high state while item is executed.
value: -1
# Below settings allow to change scheduler timings. These should be left at
# default values unless you know what you are doing!
BLE_LL_SCHED_AUX_MAFS_DELAY:
description: >
Additional delay [us] between last ADV_EXT_IND and AUX_ADV_IND PDUs
when scheduling extended advertising event. This extends T_MAFS.
value: 0
BLE_LL_SCHED_AUX_CHAIN_MAFS_DELAY:
description: >
Additional delay [us] between consecutive AUX_CHAIN_IND PDUs
when scheduling extended or periodic advertising event. This extends
T_MAFS.
value: 0
BLE_LL_SCHED_SCAN_AUX_PDU_LEN:
description: >
This is expected PDU len for AUX_ADV_IND and subsequent
AUX_CHAIN_IND. When scheduling scan scheduler will reserve time for
receiving this amount of time. Setting this to high value improves
reception of large PDUs but results in wasting scheduler space when
receiving small PDUs only. On the other hand too low value can
result in not being able to scan whole PDU due to being preempted
by next scheduled item. By default size matching legacy ADV_IND PDU
payload is used: ExtHeader (Flags, AdvA, ADI) + 31 bytes of data.
range: 1..257
value: 41
BLE_LL_SCHED_SCAN_SYNC_PDU_LEN:
description: >
This is expected PDU len for AUX_SYNC_IND and subsequent
AUX_CHAIN_IND. When scheduling scan scheduler will reserve time for
receiving this amount of time. Setting this to high value improves
reception of large PDUs but results in wasting scheduler space when
receiving small PDUs only. On the other hand too low value can
result in not being able to scan whole PDU due to being preempted
by next scheduled item. By default size matching PDU with legacy
data size is used: ExtHeader + 31 bytes of data.
range: 1..257
value: 32
# deprecated settings (to be defunct/removed eventually)
BLE_LL_DIRECT_TEST_MODE:
description: use BLE_LL_DTM instead
value: 0
deprecated: 1
BLE_XTAL_SETTLE_TIME:
description: use BLE_LL_RFMGMT_ENABLE_TIME instead
value: 0
deprecated: 1
# defunct settings (to be removed eventually)
BLE_DEVICE:
description: Superseded by BLE_CONTROLLER
value: 1
defunct: 1
BLE_LP_CLOCK:
description: Superseded by BLE_CONTROLLER
value: 1
defunct: 1
BLE_NUM_COMP_PKT_RATE:
description: Superseded by BLE_LL_NUM_COMP_PKT_ITVL_MS
value: '(2 * OS_TICKS_PER_SEC)'
defunct: 1
syscfg.vals.BLE_LL_CFG_FEAT_LL_EXT_ADV:
BLE_LL_CFG_FEAT_LE_CSA2: 1
BLE_HW_WHITELIST_ENABLE: 0
BLE_LL_EXT_ADV_AUX_PTR_CNT: 5
# Enable vendor event on assert in standalone build to make failed assertions in
# controller code visible when connected to external host
syscfg.vals.!BLE_HOST:
BLE_LL_VND_EVENT_ON_ASSERT: 1
syscfg.restrictions:
- OS_CPUTIME_FREQ == 32768

View File

@ -1,31 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/drivers/nrf51
pkg.description: BLE driver for nRF51 systems.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
pkg.apis: ble_driver
pkg.deps:
- nimble
- nimble/controller

View File

@ -1,31 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/drivers/nrf52
pkg.description: BLE driver for nRF52 systems.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
pkg.apis: ble_driver
pkg.deps:
- nimble
- nimble/controller

View File

@ -1,75 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
BLE_PHY_SYSVIEW:
description: >
Enable SystemView tracing module for radio driver.
value: 0
BLE_PHY_CODED_RX_IFS_EXTRA_MARGIN:
description: >
This defines additional margin for T_IFS tolerance while in
RX on coded phy to allow maintaining connections with some
controllers that exceed proper T_IFS (150 usecs) by more
than allowed 2 usecs.
This value shall be only used for debugging purposes. It is
strongly recommended to keep this settings at default value
to ensure compliance with specification.
value: 0
BLE_PHY_DBG_TIME_TXRXEN_READY_PIN:
description: >
When set to proper GPIO pin number, this pin will be set
to high state when radio is enabled using PPI channels
20 or 21 and back to low state on radio EVENTS_READY.
This can be used to measure radio ram-up time.
value: -1
BLE_PHY_DBG_TIME_ADDRESS_END_PIN:
description: >
When set to proper GPIO pin number, this pin will be set
to high state on radio EVENTS_ADDRESS and back to low state
on radio EVENTS_END.
This can be used to measure radio pipeline delays.
value: -1
BLE_PHY_DBG_TIME_WFR_PIN:
description: >
When set to proper GPIO pin number, this pin will be set
to high state on radio EVENTS_RXREADY and back to low
state when wfr timer expires.
This can be used to check if wfr is calculated properly.
value: -1
BLE_PHY_NRF52840_ERRATA_164:
description: >
Enable workaround for anomaly 164 found in nRF52840.
"[164] RADIO: Low selectivity in long range mode"
This shall be only enabled for:
- nRF52840 Engineering A
value: 0
BLE_PHY_NRF52840_ERRATA_191:
description: >
Enable workaround for anomaly 191 found in nRF52840.
"[191] RADIO: High packet error rate in BLE Long Range mode"
This shall be only enabled for:
- nRF52840 Engineering B
- nRF52840 Engineering C
- nRF52840 Rev 1 (final silicon)
value: 1

View File

@ -1,49 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host/mesh
pkg.description: Bluetooth Mesh
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
- mesh
pkg.deps:
- "@apache-mynewt-core/kernel/os"
- "@apache-mynewt-core/util/mem"
- "@apache-mynewt-core/crypto/tinycrypt"
- nimble
- nimble/host
pkg.deps.BLE_MESH_SHELL:
- "@apache-mynewt-core/sys/shell"
pkg.deps.BLE_MESH_SETTINGS:
- "@apache-mynewt-core/encoding/base64"
- "@apache-mynewt-core/sys/config"
pkg.req_apis:
- log
- stats
pkg.init:
bt_mesh_register_gatt: 'MYNEWT_VAL(BLE_MESH_SYSINIT_STAGE)'
ble_mesh_shell_init: 'MYNEWT_VAL(BLE_MESH_SYSINIT_STAGE_SHELL)'

View File

@ -1,661 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
BLE_MESH_PROV:
description: >
Enable provisioning. It is automatically enabled whenever
BLE_MESH_PB_ADV or BLE_MESH_PB_GATT is set.
value: 1
BLE_MESH_PB_ADV:
description: >
Enable this option to allow the device to be provisioned over
the advertising bearer.
value: 1
BLE_MESH_PROVISIONER:
description: >
Enable this option to have support for provisioning remote devices.
value: 0
restrictions:
- (BLE_MESH_PROV)
BLE_MESH_NODE_COUNT:
description: >
This option specifies how many nodes each network can at most
save in the provisioning database. Range 1-4096
value: 1
BLE_MESH_PROXY:
description: >
Enable proxy. This is automatically set whenever BLE_MESH_PB_GATT or
BLE_MESH_GATT_PROXY is set.
value: 0
BLE_MESH_PB_GATT:
description: >
Enable this option to allow the device to be provisioned over
the GATT bearer.
value: 1
BLE_MESH_GATT_PROXY:
description: >
This option enables support for the Mesh GATT Proxy Service,
i.e. the ability to act as a proxy between a Mesh GATT Client
and a Mesh network.
value: 1
BLE_MESH_NODE_ID_TIMEOUT:
description: >
This option determines for how long the local node advertises
using Node Identity. The given value is in seconds. The
specification limits this to 60 seconds, and implies that to
be the appropriate value as well, so just leaving this as the
default is the safest option.
value: 60
BLE_MESH_PROXY_FILTER_SIZE:
descryption: >
This option specifies how many Proxy Filter entries the local
node supports.
value: 1
BLE_MESH_SUBNET_COUNT:
description: >
This option specifies how many subnets a Mesh network can
participate in at the same time.
value: 1
BLE_MESH_APP_KEY_COUNT:
description: >
This option specifies how many application keys the device can
store per network.
value: 1
BLE_MESH_MODEL_KEY_COUNT:
description: >
This option specifies how many application keys each model can
at most be bound to.
value: 1
BLE_MESH_MODEL_GROUP_COUNT:
description: >
This option specifies how many group addresses each model can
at most be subscribed to.
value: 1
BLE_MESH_LABEL_COUNT:
description: >
This option specifies how many Label UUIDs can be stored.
value: 1
BLE_MESH_CRPL:
description: >
This options specifies the maximum capacity of the replay
protection list. This option is similar to the network message
cache size, but has a different purpose.
value: 10
BLE_MESH_ADV_TASK_PRIO:
description: >
Advertising task prio (FIXME)
type: task_priority
value: 9
BLE_MESH_MSG_CACHE_SIZE:
description: >
Number of messages that are cached for the network. This description
prevent unnecessary decryption operations and unnecessary
relays. This option is similar to the replay protection list,
but has a different purpose.
value: 10
BLE_MESH_ADV_BUF_COUNT:
description: >
Number of advertising buffers available. This should be chosen
based on what kind of features the local node shoule have. E.g.
a relay will perform better the more buffers it has. Another
thing to consider is outgoing segmented messages. There must
be at least three more advertising buffers than the maximum
supported outgoing segment count (BT_MESH_TX_SEG_MAX).
value: 6
BLE_MESH_IVU_DIVIDER:
description: >
When the IV Update state enters Normal operation or IV Update
in Progress, we need to keep track of how many hours has passed
in the state, since the specification requires us to remain in
the state at least for 96 hours (Update in Progress has an
additional upper limit of 144 hours).
In order to fulfil the above requirement, even if the node might
be powered off once in a while, we need to store persistently
how many hours the node has been in the state. This doesn't
necessarily need to happen every hour (thanks to the flexible
duration range). The exact cadence will depend a lot on the
ways that the node will be used and what kind of power source it
has.
Since there is no single optimal answer, this configuration
option allows specifying a divider, i.e. how many intervals
the 96 hour minimum gets split into. After each interval the
duration that the node has been in the current state gets
stored to flash. E.g. the default value of 4 means that the
state is saved every 24 hours (96 / 4).
value: 4
BLE_MESH_TX_SEG_MSG_COUNT:
description: >
Maximum number of simultaneous outgoing multi-segment and/or
reliable messages.
value: 4
BLE_MESH_RX_SEG_MSG_COUNT:
description: >
Maximum number of simultaneous incoming multi-segment and/or
reliable messages.
value: 2
BLE_MESH_RX_SDU_MAX:
description: >
Maximum incoming Upper Transport Access PDU length. This
determines also how many segments incoming segmented messages
can have. Each segment can contain 12 bytes, so this value should
be set to a multiple of 12 to avoid wasted memory. The minimum
requirement is 2 segments (24 bytes) whereas the maximum supported
by the Mesh specification is 32 segments (384 bytes).
value: 72
BLE_MESH_TX_SEG_MAX:
description: >
Maximum number of segments supported for outgoing messages.
This value should typically be fine-tuned based on what
models the local node supports, i.e. what's the largest
message payload that the node needs to be able to send.
This value affects memory and call stack consumption, which
is why the default is lower than the maximum that the
specification would allow (32 segments).
The maximum outgoing SDU size is 12 times this number (out of
which 4 or 8 bytes is used for the Transport Layer MIC). For
example, 5 segments means the maximum SDU size is 60 bytes,
which leaves 56 bytes for application layer data using a
4-byte MIC and 52 bytes using an 8-byte MIC.
Be sure to specify a sufficient number of advertising buffers
when setting this option to a higher value. There must be at
least three more advertising buffers (BT_MESH_ADV_BUF_COUNT)
as there are outgoing segments.
value: 3
BLE_MESH_SEG_RETRANSMIT_ATTEMPTS:
description: >
Number of retransmit attempts (after the initial transmit) per segment
value: 4
retrictions: 'BLE_MESH_SEG_RETRANSMIT_ATTEMPTS > 1'
BLE_MESH_RELAY:
description: >
Support for acting as a Mesh Relay Node.
value: 0
BLE_MESH_LOW_POWER:
description: >
Enable this option to be able to act as a Low Power Node.
value: 0
BLE_MESH_LPN_ESTABLISHMENT:
description: >
Perform the Friendship establishment using low power, with
the help of a reduced scan duty cycle. The downside of this
is that the node may miss out on messages intended for it
until it has successfully set up Friendship with a Friend
node.
value: 1
BLE_MESH_LPN_AUTO:
description: >
Automatically enable LPN functionality once provisioned and start
looking for Friend nodes. If this option is disabled LPN mode
needs to be manually enabled by calling bt_mesh_lpn_set(true).
node.
value: 1
BLE_MESH_LPN_AUTO_TIMEOUT:
description: >
Time in seconds from the last received message, that the node
will wait before starting to look for Friend nodes.
value: 15
BLE_MESH_LPN_RETRY_TIMEOUT:
description: >
Time in seconds between Friend Requests, if a previous Friend
Request did not receive any acceptable Friend Offers.
value: 8
BLE_MESH_LPN_RSSI_FACTOR:
description: >
The contribution of the RSSI measured by the Friend node used
in Friend Offer Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5.
value: 0
BLE_MESH_LPN_RECV_WIN_FACTOR:
description: >
The contribution of the supported Receive Window used in
Friend Offer Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5.
value: 0
BLE_MESH_LPN_MIN_QUEUE_SIZE:
description: >
The MinQueueSizeLog field is defined as log_2(N), where N is
the minimum number of maximum size Lower Transport PDUs that
the Friend node can store in its Friend Queue. As an example,
MinQueueSizeLog value 1 gives N = 2, and value 7 gives N = 128.
value: 1
BLE_MESH_LPN_RECV_DELAY:
description: >
The ReceiveDelay is the time between the Low Power node
sending a request and listening for a response. This delay
allows the Friend node time to prepare the response. The value
is in units of milliseconds.
value: 100
BLE_MESH_LPN_POLL_TIMEOUT:
description: >
PollTimeout timer is used to measure time between two
consecutive requests sent by the Low Power node. If no
requests are received by the Friend node before the
PollTimeout timer expires, then the friendship is considered
terminated. The value is in units of 100 milliseconds, so e.g.
a value of 300 means 30 seconds.
value: 300
BLE_MESH_LPN_INIT_POLL_TIMEOUT:
description: >
The initial value of the PollTimeout timer when Friendship
gets established for the first time. After this the timeout
will gradually grow toward the actual PollTimeout, doubling
in value for each iteration. The value is in units of 100
milliseconds, so e.g. a value of 300 means 3 seconds.
value: MYNEWT_VAL_BLE_MESH_LPN_POLL_TIMEOUT
BLE_MESH_LPN_SCAN_LATENCY:
description: >
Latency in milliseconds that it takes to enable scanning. This
is in practice how much time in advance before the Receive Window
that scanning is requested to be enabled.
value: 10
BLE_MESH_LPN_GROUPS:
description: >
Maximum number of groups that the LPN can subscribe to.
value: 10
BLE_MESH_FRIEND:
description: >
Enable this option to be able to act as a Friend Node.
value: 0
BLE_MESH_FRIEND_RECV_WIN:
description: >
Receive Window in milliseconds supported by the Friend node.
value: 255
BLE_MESH_FRIEND_QUEUE_SIZE:
description: >
Minimum number of buffers available to be stored for each
local Friend Queue.
value: 16
BLE_MESH_FRIEND_SUB_LIST_SIZE:
description: >
Size of the Subscription List that can be supported by a
Friend node for a Low Power node.
value: 3
BLE_MESH_FRIEND_LPN_COUNT:
description: >
Number of Low Power Nodes the Friend can have a Friendship
with simultaneously.
value: 2
BLE_MESH_FRIEND_SEG_RX:
description: >
Number of incomplete segment lists that we track for each LPN
that we are Friends for. In other words, this determines how
many elements we can simultaneously be receiving segmented
messages from when the messages are going into the Friend queue.
value: 1
BLE_MESH_CFG_CLI:
description: >
Enable support for the configuration client model.
value: 0
BLE_MESH_HEALTH_CLI:
description: >
Enable support for the health client model.
value: 0
BLE_MESH_SHELL:
description: >
Activate shell module that provides Bluetooth Mesh commands to
the console.
value: 0
BLE_MESH_MODEL_EXTENSIONS:
description: >
Enable support for the model extension concept, allowing the Access
layer to know about Mesh model relationships.
value: 0
BLE_MESH_IV_UPDATE_TEST:
description: >
This option removes the 96 hour limit of the IV Update
Procedure and lets the state be changed at any time.
value: 0
BLE_MESH_TESTING:
description: >
This option enables testing API.
value: 0
BLE_MESH_DEV_UUID:
description: >
Device UUID
value: ((uint8_t[16]){0x11, 0x22, 0})
BLE_MESH_SHELL_MODELS:
description: >
Include implementation of some demo models.
value: 0
BLE_MESH_OOB_OUTPUT_ACTIONS:
description: >
Supported Output OOB Actions
BT_MESH_NO_OUTPUT = 0,
BT_MESH_BLINK = BIT(0)
BT_MESH_BEEP = BIT(1)
BT_MESH_VIBRATE = BIT(2)
BT_MESH_DISPLAY_NUMBER = BIT(3)
BT_MESH_DISPLAY_STRING = BIT(4)
value: ((BT_MESH_DISPLAY_NUMBER))
BLE_MESH_OOB_OUTPUT_SIZE:
description: >
Output OOB size
value: 4
BLE_MESH_OOB_INPUT_ACTIONS:
description: >
Supported Input OOB Actions
BT_MESH_NO_INPUT = 0,
BT_MESH_PUSH = BIT(0)
BT_MESH_TWIST = BIT(1)
BT_MESH_ENTER_NUMBER = BIT(2)
BT_MESH_ENTER_STRING = BIT(3)
value: ((BT_MESH_NO_INPUT))
BLE_MESH_OOB_INPUT_SIZE:
description: >
Input OOB size
value: 4
BLE_MESH_SETTINGS:
description: >
This option enables Mesh settings storage.
value: 1
BLE_MESH_STORE_TIMEOUT:
description: >
This value defines in seconds how soon any pending changes
are actually written into persistent storage (flash) after
a change occurs.
value: 2
BLE_MESH_SEQ_STORE_RATE:
description: >
This value defines how often the local sequence number gets
updated in persistent storage (i.e. flash). E.g. a value of 100
means that the sequence number will be stored to flash on every
100th increment. If the node sends messages very frequently a
higher value makes more sense, whereas if the node sends
infrequently a value as low as 0 (update storage for every
increment) can make sense. When the stack gets initialized it
will add this number to the last stored one, so that it starts
off with a value that's guaranteed to be larger than the last
one used before power off.
value: 128
BLE_MESH_RPL_STORE_TIMEOUT:
description: >
This value defines in seconds how soon the RPL gets written to
persistent storage after a change occurs. If the node receives
messages frequently it may make sense to have this set to a
large value, whereas if the RPL gets updated infrequently a
value as low as 0 (write immediately) may make sense. Note that
if the node operates a security sensitive use case, and there's
a risk of sudden power loss, it may be a security vulnerability
to set this value to anything else than 0 (a power loss before
writing to storage exposes the node to potential message
replay attacks).
value: 5
BLE_MESH_DEVICE_NAME:
description: >
This value defines BLE Mesh device/node name.
value: '"nimble-mesh-node"'
BLE_MESH_SYSINIT_STAGE:
description: >
Primary sysinit stage for BLE mesh functionality.
value: 500
BLE_MESH_SYSINIT_STAGE_SHELL:
description: >
Secondary sysinit stage for BLE mesh functionality.
value: 1000
### Log settings.
BLE_MESH_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh log messages.
value: 9
BLE_MESH_LOG_LVL:
description: >
Minimum level for the BLE Mesh log.
value: 1
BLE_MESH_ACCESS_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh Access-related log messages.
value: 10
BLE_MESH_ACCESS_LOG_LVL:
description: >
Minimum level for the BLE Mesh Access-related log.
value: 1
BLE_MESH_ADV_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh advertising log messages.
value: 11
BLE_MESH_ADV_LOG_LVL:
description: >
Minimum level for the BLE Mesh log.
value: 1
BLE_MESH_BEACON_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh Beacon-related log messages.
value: 12
BLE_MESH_BEACON_LOG_LVL:
description: >
Minimum level for the BLE Mesh Beacon-related log.
value: 1
BLE_MESH_CRYPTO_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh cryptographic log messages.
value: 13
BLE_MESH_CRYPTO_LOG_LVL:
description: >
Minimum level for the BLE Mesh cryptographic log.
value: 1
BLE_MESH_FRIEND_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh Friend log messages.
value: 14
BLE_MESH_FRIEND_LOG_LVL:
description: >
Minimum level for the BLE Mesh Friend log.
value: 1
BLE_MESH_LOW_POWER_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh Low Power log messages.
value: 15
BLE_MESH_LOW_POWER_LOG_LVL:
description: >
Minimum level for the BLE Mesh Low Power log.
value: 1
BLE_MESH_MODEL_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh Foundation Models log messages.
value: 16
BLE_MESH_MODEL_LOG_LVL:
description: >
Minimum level for the BLE Mesh Foundation Models log.
value: 1
BLE_MESH_NET_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh Network layer log messages.
value: 17
BLE_MESH_NET_LOG_LVL:
description: >
Minimum level for the BLE Mesh Network layer log.
value: 1
BLE_MESH_PROV_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh Provisioning log messages.
value: 18
BLE_MESH_PROV_LOG_LVL:
description: >
Minimum level for the BLE Mesh Provisioning log.
value: 1
BLE_MESH_PROXY_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh Proxy protocol log messages.
value: 19
BLE_MESH_PROXY_LOG_LVL:
description: >
Minimum level for the BLE Mesh Proxy protocol log.
value: 1
BLE_MESH_SETTINGS_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh persistent settings log messages.
value: 20
BLE_MESH_SETTINGS_LOG_LVL:
description: >
Minimum level for the BLE Mesh persistent settings log.
value: 1
BLE_MESH_TRANS_LOG_MOD:
description: >
Numeric module ID to use for BLE Mesh Transport Layer log messages.
value: 21
BLE_MESH_TRANS_LOG_LVL:
description: >
Minimum level for the BLE Mesh Transport Layer log.
value: 1
syscfg.logs:
BLE_MESH_LOG:
module: MYNEWT_VAL(BLE_MESH_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_LOG_LVL)
BLE_MESH_ACCESS_LOG:
module: MYNEWT_VAL(BLE_MESH_ACCESS_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_ACCESS_LOG_LVL)
BLE_MESH_ADV_LOG:
module: MYNEWT_VAL(BLE_MESH_ADV_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_ADV_LOG_LVL)
BLE_MESH_BEACON_LOG:
module: MYNEWT_VAL(BLE_MESH_BEACON_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_BEACON_LOG_LVL)
BLE_MESH_CRYPTO_LOG:
module: MYNEWT_VAL(BLE_MESH_CRYPTO_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_CRYPTO_LOG_LVL)
BLE_MESH_FRIEND_LOG:
module: MYNEWT_VAL(BLE_MESH_FRIEND_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_FRIEND_LOG_LVL)
BLE_MESH_LOW_POWER_LOG:
module: MYNEWT_VAL(BLE_MESH_LOW_POWER_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_LOW_POWER_LOG_LVL)
BLE_MESH_MODEL_LOG:
module: MYNEWT_VAL(BLE_MESH_MODEL_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_MODEL_LOG_LVL)
BLE_MESH_NET_LOG:
module: MYNEWT_VAL(BLE_MESH_NET_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_NET_LOG_LVL)
BLE_MESH_PROV_LOG:
module: MYNEWT_VAL(BLE_MESH_PROV_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_PROV_LOG_LVL)
BLE_MESH_PROXY_LOG:
module: MYNEWT_VAL(BLE_MESH_PROXY_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_PROXY_LOG_LVL)
BLE_MESH_SETTINGS_LOG:
module: MYNEWT_VAL(BLE_MESH_SETTINGS_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_SETTINGS_LOG_LVL)
BLE_MESH_TRANS_LOG:
module: MYNEWT_VAL(BLE_MESH_TRANS_LOG_MOD)
level: MYNEWT_VAL(BLE_MESH_TRANS_LOG_LVL)
syscfg.vals.BLE_MESH_SHELL:
BLE_MESH_CFG_CLI: 1
BLE_MESH_HEALTH_CLI: 1
BLE_MESH_IV_UPDATE_TEST: 1
syscfg.vals.BLE_MESH_GATT_PROXY:
BLE_MESH_PROXY: 1
syscfg.vals.BLE_MESH_PB_GATT:
BLE_MESH_PROXY: 1
BLE_MESH_PROV: 1
syscfg.vals.BLE_MESH_PB_ADV:
BLE_MESH_PROV: 1

View File

@ -1,55 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host
pkg.description: Host side of the nimble Bluetooth Smart stack.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
pkg.deps:
- "@apache-mynewt-core/kernel/os"
- "@apache-mynewt-core/sys/log/modlog"
- "@apache-mynewt-core/util/mem"
- nimble
pkg.deps.BLE_SM_LEGACY:
- "@apache-mynewt-core/crypto/tinycrypt"
pkg.deps.BLE_SM_SC:
- "@apache-mynewt-core/crypto/tinycrypt"
pkg.deps.BLE_MONITOR_RTT:
- "@apache-mynewt-core/hw/drivers/rtt"
pkg.deps.BLE_MESH:
- nimble/host/mesh
pkg.req_apis:
- ble_transport
- console
- stats
pkg.init:
ble_hs_init: 'MYNEWT_VAL(BLE_HS_SYSINIT_STAGE)'
pkg.down.BLE_HS_STOP_ON_SHUTDOWN:
ble_hs_shutdown: 200

View File

@ -1,8 +0,0 @@
This folder contains qualification tests results against BT SIG Profile Test
Suite.
pts-FOO.txt files contain result for specific profiles or protocols. This
includes PTS version, test date, enabled tests, results etc.
In addition to tests results 'tpg' folder constains Test Plang Generator
configuration files that can be imported by PTS for tests configuration.

View File

@ -1,367 +0,0 @@
PTS test results for GAP
PTS version: 7.5.0
Tested: 27-Sept-2019
Results:
PASS test passed
FAIL test failed
INC test is inconclusive
N/A test is disabled due to PICS setup
-------------------------------------------------------------------------------
Test Name Result Notes
-------------------------------------------------------------------------------
GAP/BROB/BCST/BV-01-C PASS advertise-configure legacy=1 connectable=0 scannable=0
GAP/BROB/BCST/BV-02-C PASS advertise-configure legacy=1 connectable=0 scannable=0
GAP/BROB/BCST/BV-03-C PASS set irk=<IRK> e.g: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:11
Note: in PTS IXIT please set:
TSPX_iut_device_IRK_for_resolvable_privacy_address_generation_procedure=11000000000000000000000000000000
set advertise-set-adv-data name=<name> flags=4
advertise-configure connectable=0 scannable=0 own_addr_type=rpa_pub
GAP/BROB/BCST/BV-04-C PASS TSPX_advertising_data=07086E696D626C65
advertise-set-adv-data name=nimble
set addr_type=random addr=01:3e:56:f7:46:21
advertise-configure connectable=0 scannable=0 own_addr_type=random
GAP/BROB/BCST/BV-05-C N/A
GAP/BROB/OBSV/BV-01-C PASS scan passive
GAP/BROB/OBSV/BV-02-C PASS scan
GAP/BROB/OBSV/BV-03-C PASS scan
GAP/BROB/OBSV/BV-04-C PASS connect peer_addr=<addr>
security-set-data bonding=1
security-pair conn=<handle>
<OK>
<OK>
GAP/BROB/OBSV/BV-05-C PASS scan own_addr_type=rpa_pub
GAP/BROB/OBSV/BV-06-C PASS scan own_addr_type=rpa_pub
-------------------------------------------------------------------------------
GAP/DISC/NONM/BV-01-C PASS advertise-configure connectable=0 legacy=1 adverdise=non
GAP/DISC/NONM/BV-02-C PASS advertise-configure connectable=0
GAP/DISC/LIMM/BV-01-C N/A
GAP/DISC/LIMM/BV-02-C N/A
GAP/DISC/LIMM/BV-03-C PASS advertise-configure legacy=1 connectable=0
advertise-set-adv-data flags=5
advertise-start duration= e.g.3000
GAP/DISC/LIMM/BV-04-C PASS advertise-configure legacy=1 connectable=0
advertise-set-adv-data flags=5
advertising-start duration=<e.g.3000>
GAP/DISC/GENM/BV-01-C N/A
GAP/DISC/GENM/BV-02-C N/A
GAP/DISC/GENM/BV-03-C PASS advertise-configure legacy=1 connectable=0
advertise-set-adv-data flags=6
advertise-start
GAP/DISC/GENM/BV-04-C PASS advertise-configure legacy=1 connectable=0
advertise-set-adv-data flags=6
advertising-start
GAP/DISC/LIMP/BV-01-C PASS scan limited=1 nodups=1
GAP/DISC/LIMP/BV-02-C PASS scan limited=1 nodups=1
GAP/DISC/LIMP/BV-03-C PASS scan limited=1 nodups=1
GAP/DISC/LIMP/BV-04-C PASS scan limited=1 nodups=1
GAP/DISC/LIMP/BV-05-C PASS scan limited=1 nodups=1
GAP/DISC/GENP/BV-01-C PASS scan nodups=1
GAP/DISC/GENP/BV-02-C PASS scan nodups=1
GAP/DISC/GENP/BV-03-C PASS scan nodups=1
<OK>
GAP/DISC/GENP/BV-04-C PASS scan nodups=1
<OK>
GAP/DISC/GENP/BV-05-C PASS scan nodups=1
GAP/DISC/RPA/BV-01-C N/A scan nodups=1
-------------------------------------------------------------------------------
GAP/IDLE/GIN/BV-01-C N/A
GAP/IDLE/GIN/BV-02-C N/A
GAP/IDLE/NAMP/BV-01-C PASS advertise-configure connectable=1 legacy=1
advertising-start
gatt-discover-full conn=<handle>
gatt-show
<check start end handle for 0x1800>
gatt-read conn=<handle> uuid=0x2a00 start=<start> end=<end>
disconnect conn=<handle>
GAP/IDLE/NAMP/BV-02-C PASS <answer NO to role question>
advertise-configure connectable=1 legacy=1
advertising-start
GAP/IDLE/DED/BV-01-C N/A
GAP/IDLE/DED/BV-02-C N/A
-------------------------------------------------------------------------------
GAP/CONN/NCON/BV-01-C PASS advertise-configure connectable=0 legacy=1
advertising-start
GAP/CONN/NCON/BV-02-C PASS advertise-configure connectable=0 legacy=1
advertise-set-adv-data flags=6
advertise-start
GAP/CONN/NCON/BV-03-C PASS advertise-configure connectable=0 legacy=1
advertise-set-adv-data flags=5
advertise-start
GAP/CONN/DCON/BV-01-C PASS advertise-configure connectable=0 directed=1 peer_addr=<addr>
advertise-start
GAP/CONN/DCON/BV-02-C N/A
GAP/CONN/DCON/BV-03-C N/A
GAP/CONN/UCON/BV-01-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=4
advertise-start
GAP/CONN/UCON/BV-02_C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=5
advertise-start
GAP/CONN/UCON/BV-03_C PASS adbertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
GAP/CONN/UCON/BV-04_C N/A
GAP/CONN/UCON/BV-05_C N/A
GAP/CONN/UCON/BV-06_C N/A
GAP/CONN/ACEP/BV-01-C PASS white-list addr_type=public addr=<addr>
connect
disconnect conn=<handle>
GAP/CONN/ACEP/BV-02-C N/A
GAP/CONN/GCEP/BV-01-C PASS connect peer_addr=<addr>
disconnect conn=<handle>
GAP/CONN/GCEP/BV-02-C PASS connect peer_addr=<addr>
GAP/CONN/GCEP/BV-03-C PASS set irk=<irk>
connect peer_addr=<addr> own_addr_type=rpa_pub
security-set-data bonding=1 our_key_dist=7 their_key_dist=7
security-pair conn=<handle>
connect peer_addr=<addr>
disconnect conn=1
GAP/CONN/GCEP/BV-04-C N/A
GAP/CONN/SCEP/BV-01-C PASS white-list addr_type=public addr=<addr>
connect
disconnect conn=<handle>
GAP/CONN/SCEP/BV-02-C INC
GAP/CONN/DCEP/BV-01-C PASS connect peer_addr=<addr>
disconnect conn=<handle>
GAP/CONN/DCEP/BV-02-C INC
GAP/CONN/DCEP/BV-03-C PASS connect peer_addr=<addr>
disconnect conn=<handle>
GAP/CONN/DCEP/BV-04-C PASS connect peer_addr=<addr>
disconnect conn=<handle>
GAP/CONN/CPUP/BV-01-C PASS advertise-start
conn-update-params conn=<handle>
GAP/CONN/CPUP/BV-02-C PASS advertise-start
conn-update-params conn=<handle>
GAP/CONN/CPUP/BV-03-C PASS advertise-start
conn-update-params conn=<handle>
GAP/CONN/CPUP/BV-04-C PASS connect peer_addr=<addr>
disconnect conn=<handle>
GAP/CONN/CPUP/BV-05-C PASS connect peer_addr=<addr>
disconnect conn=<handle>
GAP/CONN/CPUP/BV-06-C PASS conect peer_addr=<addr>
conn-update-params conn=<handle> eg.latency=20
disconnect conn=<handle>
GAP/CONN/CPUP/BV-08-C PASS advertise-configure legacy=1 connectable=1
advertise-set-data name=<name>
advertise-start
GAP/CONN/TERM/BV-01-C PASS connect peer_addr=<addr>
disconnect conn=<handle>
GAP/CONN/PRDA/BV-01-C N/A
GAP/CONN/PRDA/BV-02-C N/A
-------------------------------------------------------------------------------
GAP/BOND/NBON/BV-01-C PASS security-set-data bonding=0
connect peer_addr=<addr>
<ok>
connect peer_addr=<addr>
<ok>
GAP/BOND/NBON/BV-02-C PASS security-set-data bonding=0
connect peer_addr=<addr>
security-pair conn=<handle>
<ok>
connect peer_addr=<addr>
security-pair conn=<handle>
<ok>
GAP/BOND/NBON/BV-03-C PASS security-set-data bonding=0
advertise-configure legacy=1 connectable=1
advertise-set-data name=<name>
advertise-start
<ok>
GAP/BOND/BON/BV-01-C PASS security-set-data bonding=1 sc=1 our_key_dist=7 their_key_dist=7
advertise-configure legacy=1 connectable=1
advertise-start
security-start conn=<handle>
<ok>
advertise-start
<ok>
GAP/BOND/BON/BV-02-C PASS security-set-data bonding=1
connect peer_addr=<addr>
security-pair conn=<handle>
<ok>
connect peer_addr=<addr>
seccurity-pair conn=<handle>
<ok>
GAP/BOND/BON/BV-03-C PASS security-set-sm-data bonding=1 our_key_dist=7 their_key_dist=7
advertise-configure legacy=1 connectable=1
advertise-start
<ok>
advertise-start
<ok>
GAP/BOND/BON/BV-04-C PASS security-set-data bonding=1
connect-peer_addr=<addr>
disconnect conn=<handle>
connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=<handle>
-------------------------------------------------------------------------------
GAP/SEC/AUT/BV-11-C PASS security-set-data io_capabilities=1 sc=1
advertise-configure legacy=1 connectable=1
advertising-start
Note: in PTS enter handle for characteristics
value which requires encryption for read (gatt-show-local)
auth-passkey conn=<handle> action=3 key=123456
Note: enter '123456' passkey in PTS
GAP/SEC/AUT/BV-12-C PASS security-set-data io_capabilities=1 bonding=1 mitm_flag=1 sc=1 our_key_dist=7 their_key_dist=7
connect peer_addr=<addr>
gatt-show-local
Note: in PTS enter handle for characteristics
value which requires encryption for read
auth-passkey conn=<handle> action=3 key=123456
Note: enter '123456' passkey in PTS
GAP/SEC/AUT/BV-13-C PASS Note: in PTS confirm that IUT supports GATT Server
security-set-data io_capabilities=1 bonding=1 mitm_flag=1 sc=1 our_key_dist=7 their_key_dist=7
connect peer_addr=<addr>
gatt-show-local
Note: in PTS enter handle for characteristics
value which requires authenticated pairing for read
auth-passkey conn=<handle> action=3 key=123456
Note: enter '123456' passkey in PTS
GAP/SEC/AUT/BV-14-C PASS security-set-data io_capabilities=1
advertise-configure legacy=1 connectable=1
advertise-start
gatt-show-local
Note: in PTS enter handle for characteristics
value which requires authenticated pairing for read
auth-passkey conn=<handle> action=3 key=123456
Note: enter '123456' passkey in PTS
GAP/SEC/AUT/BV-15-C N/A security-set-data bonding=1 io_capabilities=4 mitm_flag=1 sc=1 our_key_dist=7 their_key_dist=7
advertise-configure legacy=1 connectable=1
advertise-start
auth-passkey conn=<handle> action=2 key=<key>
advertise-start
gatt-show-local
Note: in PTS enter handle for characteristics
value which requires authenticated pairing for read
GAP/SEC/AUT/BV-16-C N/A security-set-data io_capabilities=1 bonding=1 mitm_flag=1 sc=1 our_key_dist=7 their_key_dist=7
connect peer_addr=<addr>
auth-passkey conn=<handle> action=3 key=123456
Note: enter '123456' passkey in PTS
connect peer_addr=<addr>
gatt-show-local
Note: in PTS enter handle for characteristics
value which requires authenticated pairing for read
GAP/SEC/AUT/BV-17-C N/A
GAP/SEC/AUT/BV-18-C N/A
GAP/SEC/AUT/BV-19-C N/A
GAP/SEC/AUT/BV-20-C N/A
GAP/SEC/AUT/BV-21-C N/A
GAP/SEC/AUT/BV-22-C N/A
GAP/SEC/AUT/BV-23-C N/A
GAP/SEC/AUT/BV-24-C N/A
GAP/SEC/CSIGN/BV-01-C N/A
GAP/SEC/CSIGN/BV-02-C N/A
GAP/SEC/CSIGN/BI-01-C N/A
GAP/SEC/CSIGN/BI-02-C N/A
GAP/SEC/CSIGN/BI-03-C N/A
GAP/SEC/CSIGN/BI-04-C N/A
-------------------------------------------------------------------------------
GAP/PRIV/CONN/BV-01-C N/A
GAP/PRIV/CONN/BV-02-C N/A
GAP/PRIV/CONN/BV-03-C N/A
GAP/PRIV/CONN/BV-04-C INC
GAP/PRIV/CONN/BV-05-C N/A
GAP/PRIV/CONN/BV-06-C N/A
GAP/PRIV/CONN/BV-07-C N/A
GAP/PRIV/CONN/BV-08-C N/A
GAP/PRIV/CONN/BV-09-C N/A
GAP/PRIV/CONN/BV-10-C N/A
GAP/PRIV/CONN/BV-11-C N/A
-------------------------------------------------------------------------------
GAP/ADV/BV-01-C PASS advertise-set-adv_data uuid16=0x1802
advertise-start
advertise-stop
GAP/ADV/BV-02-C PASS advertise-set-adv_data name=<name>
advertise-start
advertise-stop
GAP/ADV/BV-03-C PASS advertise-set-adv_data flags=6
advertise-start
advertise-stop
GAP/ADV/BV-04-C PASS advertise-set-adv_data mfg_data=ff:ff
advertise-start
advertise-stop
GAP/ADV/BV-05-C PASS advertise-set-adv_data tx_pwr_lvl=10
advertise-start
advertise-stop
GAP/ADV/BV-08-C N/A
GAP/ADV/BV-09-C N/A
GAP/ADV/BV-10-C PASS advetrise-set-adv_data service_data_uuid16=18:02:ff:ff
advertise-start
advertise-stop
GAP/ADV/BV-11-C PASS advertise-set -dv_data appearance=12
advertise-start
advertise-stop
GAP/ADV/BV-12-C N/A
GAP/ADV/BV-13-C N/A
GAP/ADV/BV-14-C N/A
GAP/ADV/BV-15-C N/A
GAP/ADV/BV-16-C N/A
GAP/ADV/BV-17-C PASS In PTS: TSPX_URI=<bytes>
set-adv-data uri=<bytes>
advertise-start
advertise-stop
-------------------------------------------------------------------------------
GAP/GAT/BV-01-C PASS <if NO>
advertising-start
<if YES>
connect peer_addr=<addr>
GAP/GAT/BV-02-C N/A
GAP/GAT/BV-03-C N/A
GAP/GAT/BV-04-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GAP/GAT/BV-05-C N/A
GAP/GAT/BV-06-C N/A
GAP/GAT/BV-07-C N/A
GAP/GAT/BV-08-C N/A
----------------------------------------------------------------------------
GAP/DM/NCON/BV-01-C N/A
GAP/DM/CON/BV-01-C N/A
GAP/DM/NBON/BV-01-C N/A
GAP/DM/BON/BV-01-C N/A
GAP/DM/GIN/BV-01-C N/A
GAP/DM/LIN/BV-01-C N/A
GAP/DM/NAD/BV-01-C N/A
GAP/DM/NAD/BV-02-C N/A
GAP/DM/LEP/BV-01-C N/A
GAP/DM/LEP/BV-02-C N/A
GAP/DM/LEP/BV-04-C N/A
GAP/DM/LEP/BV-05-C N/A
GAP/DM/LEP/BV-06-C N/A
GAP/DM/LEP/BV-07-C N/A
GAP/DM/LEP/BV-08-C N/A
GAP/DM/LEP/BV-09-C N/A
GAP/DM/LEP/BV-10-C N/A
GAP/DM/LEP/BV-11-C N/A
-------------------------------------------------------------------------------
GAP/MOD/NDIS/BV-01-C N/A
GAP/MOD/LDIS/BV-01-C N/A
GAP/MOD/LDIS/BV-02-C N/A
GAP/MOD/LDIS/BV-03-C N/A
GAP/MOD/GDIS/BV-01-C N/A
GAP/MOD/GDIS/BV-02-C N/A
GAP/MOD/NCON/BV-01-C N/A
GAP/MOD/CON/BV-01-C N/A

View File

@ -1,508 +0,0 @@
PTS test results for GATT
PTS version: 7.5.0
Tested: 27-Sept-2019
Results:
PASS test passed
FAIL test failed
INC test is inconclusive
N/A test is disabled due to PICS setup
-------------------------------------------------------------------------------
Test Name Result Notes
-------------------------------------------------------------------------------
GATT/CL/GAC/BV-01-C PASS connect peer_addr=<addr>
gatt-exchanche-mtu conn=<handle>
gatt-write conn=<handle> long=1 attr=<val_handle> value=<xx:...>
disconnect conn=<handle>
-------------------------------------------------------------------------------
GATT/CL/GAD/BV-01-C PASS connect peer_addr=<addr>
gatt-discover-service conn=<handle>
gatt-show
<answer YES>
disconnect conn=<handle>
<repeat>
GATT/CL/GAD/BV-02-C PASS connect peer_addr=<addr>
gatt-discover-service conn=<handle> uuid=<uuid>
gatt-show
<answer YES>
disconnect conn=<handle>
<repeat>
GATT/CL/GAD/BV-03-C PASS connect peer_addr=<addr>
gatt-find-included-services conn=<handle> start=1 end=0xffff
<answer YES>
disconnect conn=<handle>
<repeat>
GATT/CL/GAD/BV-04-C PASS connect peer_addr=<addr>
gatt-discover-service conn=<handle> uuid=<uuid>
gatt-discover-characteristic conn=<handle> start=<start hdl> end=<end hdl>
gatt-show
<answer YES>
disconnect conn=<handle>
<repeat>
GATT/CL/GAD/BV-05-C PASS connect peer_addr=<addr>
gatt-discover-service conn=<handle>
gatt-discover-characteristic conn=<handle> uuid=<uuid> start=<start hdl> end=<end hdl>
gatt-show
<answer YES>
disconnect conn=<handle>
<repeat>
GATT/CL/GAD/BV-06-C PASS connect peer_addr=<addr>
gatt-discover-service conn=<handle>
gatt-discover-characteristic conn=<handle> start=<start-hdl> end=<end-hdl>
gatt-discover-descriptor conn=<handle> start=<start-hdl> end=<end-hdl>
<answer YES>
disconnect conn=<handle>
<repeat>
GATT/CL/GAD/BV-07-C N/A
GATT/CL/GAD/BV-08-C N/A
-------------------------------------------------------------------------------
GATT/CL/GAR/BV-01-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> attr=<val_handle>
<answer YES>
disconnect conn=<handle>
GATT/CL/GAR/BI-01-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> attr=<val_handle>
<answer YES>
disconnect conn=<handle>
GATT/CL/GAR/BI-02-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> attr=<val_handle>
<answer YES>
disconnect conn=<handle>
GATT/CL/GAR/BI-03-C N/A
GATT/CL/GAR/BI-04-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> attr=<val_handle>
disconnect conn=<handle>
<answer YES>
GATT/CL/GAR/BI-05-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> attr=<val_handle>
<answer YES>
disconnect conn=<handle>
GATT/CL/GAR/BV-03-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> uuid=<uuid> start=1 end=0xffff
<answer YES>
<repeat>
disconnect conn=<handle>
GATT/CL/GAR/BI-06-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> uuid=<uuid> start=<start hdl> end=<end hdl>
disconnect conn=<handle>
<answer YES>
GATT/CL/GAR/BI-07-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> uuid=<uuid> start=<start hdl> end=<end hdl>
disconnect conn=<handle>
<answer YES>
GATT/CL/GAR/BI-09-C N/A
GATT/CL/GAR/BI-10-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> uuid=<uuid> start=<start hdl> end=<end hdl>
disconnect conn=<handle>
<answer YES>
GATT/CL/GAR/BI-11-C PASS connect perr_addr=<addr>
gatt-read conn=<handle> start=<start_hdl> end=<end_hdl>
disconnect conn=<handle>
<answer YES>
GATT/CL/GAR/BV-04-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> long=1 attr=<val_handle>
<answer YES>
<repeat>
disconnect conn=<handle>
GATT/CL/GAR/BI-12-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> long=1 attr=<val_handle>
<answer YES>
disconnect conn=<handle>
GATT/CL/GAR/BI-13-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> long=1 attr=<val_handle> offset=<offset>
<answer YES>
disconnect conn=<handle>
GATT/CL/GAR/BI-14-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> long=1 attr=<val_handle>
disconnect conn=<handle>
<answer YES>
GATT/CL/GAR/BI-15-C N/A
GATT/CL/GAR/BI-16-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> long=1 attr=<val_handle>
disconnect conn=<handle>
<answer YES>
GATT/CL/GAR/BI-17-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> long=1 attr=<val_handle>
<answer YES>
disconnect conn=<handle>
GATT/CL/GAR/BV-05-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> attr=<val_handle1> attr=<val_handle2>
disconnect conn=<handle>
GATT/CL/GAR/BI-18-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> attr=<val_handle1> attr=<val_handle2>
<answer YES>
disconnect conn=<handle>
GATT/CL/GAR/BI-19-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> attr=<val_handle1> attr=<val_handle2>
disconnect conn=<handle>
<answer YES>
GATT/CL/GAR/BI-20-C N/A
GATT/CL/GAR/BI-21-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> attr=<val_handle1> attr=<val_handle2>
disconnect conn=<handle>
<answer YES>
GATT/CL/GAR/BI-22-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> attr=<val_handle1> attr=<val_handle2>
<answer YES>
disconnect conn=<handle>
GATT/CL/GAR/BV-06-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> attr=<val_handle>
<answer YES>
disconnect conn=<handle>
GATT/CL/GAR/BV-07-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> long=1 attr=<val_handle>
<answer YES>
<repeat>
disconnect conn=<handle>
GATT/CL/GAR/BI-34-C N/A
GATT/CL/GAR/BI-35-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> long=1 attr=<val_handle>
<answer YES>
disconnect conn=<handle>
-------------------------------------------------------------------------------
GATT/CL/GAW/BV-01-C PASS connect peer_addr=<addr>
gatt-write no_rsp=1 conn=<handle> attr=<val_handle> value=<val>
disconnect conn=<handle>
GATT/CL/GAW/BV-02-C N/A
GATT/CL/GAW/BV-03-C PASS connect peer_addr=<addr>
gatt-write conn=<handle> attr=<val_handle> value=<val>
disconnect conn=<handle>
GATT/CL/GAW/BI-02-C PASS connect peer_addr=<addr>
gatt-write conn=<handle> attr=<val_handle> value=<val>
disconnect conn=<handle>
GATT/CL/GAW/BI-03-C PASS connect peer_addr=<addr>
gatt-write conn=<handle> attr=<val_handle> value=<val>
disconnect conn=<handle>
GATT/CL/GAW/BI-04-C N/A
GATT/CL/GAW/BI-05-C PASS connect peer_addr=<addr>
gatt-write conn=<handle> attr=<val_handle> value=<val>
disconnect conn=<handle>
GATT/CL/GAW/BI-06-C PASS connect peer_addr=<addr>
gatt-write conn=<handle> attr=<val_handle> value=<val>
disconnect conn=<handle>
GATT/CL/GAW/BV-05-C PASS connect peer_addr=<addr>
gatt-write long=1 conn=<handle> attr=<val_handle> value=<val>
disconnect conn=<handle>
GATT/CL/GAW/BI-07-C PASS connect peer_addr=<addr>
gatt-write long=1 conn=<handle> attr=<val_handle> value=<val>
disocnnect conn=<handle>
GATT/CL/GAW/BI-08-C PASS connect peer_addr=<addr>
gatt-write long=1 conn=<handle> attr=<val_handle> value=<val>
diconnect conn=<handle>
GATT/CL/GAW/BI-09-C PASS connect peer_addr=<addr>
gatt-write long=1 conn=<handle> attr=<val_handle> value=<val> offset=<offset>
diconnect conn=1
GATT/CL/GAW/BI-11-C N/A
GATT/CL/GAW/BI-12-C PASS connect peer_addr=<addr>
gatt-write long=1 conn=<handle> attr=<val_handle> value=<val>
disconnect conn=<handle>
GATT/CL/GAW/BI-13-C PASS connect peer_addr=<addr>
gatt-write long=1 conn=<handle> attr=<val_handle> value=<val>
diconnect conn=<handle>
GATT/CL/GAW/BV-06-C PASS connect peer_addr=<addr>
gatt-write long=1 conn=<handle> attr=<val_handle> value=<val>
GAAT/CL/GAW/BV-08-C PASS connect peer_addr=<addr>
gat-write conn=<handle> attr=<val_handle> value=<val>
GATT/CL/GAW/BV-09-C PASS connect peer_addr=<addr>
gatt-write long=1 conn=<handle> attr=<val_handle> value=<val>
GATT/CL/GAW/BI-32-C PASS connect peer_addr=<addr>
gatt-write conn=<handle> attr=<val_handle> value=<val> attr=<val_handle> value=<val>
disconnect conn=<handle>
GATT/CL/GAW/BI-33-C PASS connect peer_addr=<addr>
gatt-write conn=<handle> attr=<val_handle> value=<val>
disconnect conn=<handle>
GATT/CL/GAW/BI-34-C PASS connect peer_addr=<addr>
gatt-write long=1 conn=<handle> attr=<val_handle> value=<val>
disconnect conn=<handle>
-------------------------------------------------------------------------------
GATT/CL/GAN/BV-01-C PASS connect peer_addr=<addr>
gatt-write conn=<handle> attr=<val_handle> value=01:00
Note: verify that the notification was received
disconnect conn=<handle>
-------------------------------------------------------------------------------
GATT/CL/GAI/BV-01-C PASS connect peer_addr=<addr>
gatt-write conn=<handle> attr=<val_handle> value=01:00
Note: verify that the notification was received
disconnect conn=<handle>
-------------------------------------------------------------------------------
GATT/CL/GAS/BV-01-C PASS connect peer_addr=<addr>
disconnect conn=<handle>
-------------------------------------------------------------------------------
GATT/CL/GAT/BV-01-C PASS connect peer_addr=<addr>
gatt-read conn=<handle> attr=<val_handle>
GATT/CL/GAT/BV-02-C PASS connect peer_addr=<addr>
gatt-write conn=<handle> attr=<val_handle> value=<val>
-------------------------------------------------------------------------------
GATT/CL/GPA/BV-01-C N/A
GATT/CL/GPA/BV-02-C N/A
GATT/CL/GPA/BV-03-C N/A
GATT/CL/GPA/BV-04-C N/A
GATT/CL/GPA/BV-05-C N/A
GATT/CL/GPA/BV-06-C N/A
GATT/CL/GPA/BV-07-C N/A
GATT/CL/GPA/BV-08-C N/A
GATT/CL/GPA/BV-11-C N/A
GATT/CL/GPA/BV-12-C N/A
-------------------------------------------------------------------------------
GATT/SR/GAC/BV-01-C PASS set mtu=25
advertise-configure connectable=1 legacy=1
advertise-start
advertise-start
-------------------------------------------------------------------------------
GATT/SR/GAD/BV-01-C PASS advertise-configure connectable=1 legacy=1
advertise-start
gatt-show-local
<YES>
GATT/SR/GAD/BV-02-C PASS advertise-configure connectable=1 legacy=1
advertise-start
gatt-show-local
<YES>
GATT/SR/GAD/BV-03-C PASS advertise-configure connectable=1 legacy=1
advertise-start
gatt-show-local
<YES>
GATT/SR/GAD/BV-04-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<confirm handles range for services>
GATT/SR/GAD/BV-05-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAD/BV-06-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAD/BV-07-C N/A
GATT/SR/GAD/BV-08-C N/A
-------------------------------------------------------------------------------
GATT/SR/GAR/BV-01-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-01-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-02-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter ffff>
GATT/SR/GAR/BI-03-C N/A
GATT/SR/GAR/BI-04-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-05-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BV-03-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-06-C PASS advertise-configure connectable=1 legacy=1
advertise-start
gatt-show-local
<enter uuid without READ flag>
<enter value handle>
GATT/SR/GAR/BI-07-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter ffff>
GATT/SR/GAR/BI-08-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-09-C N/A
GATT/SR/GAR/BI-10-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-11-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter characteristic wit READ|READ_ENC flags>
GATT/SR/GAR/BV-04-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-12-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter long value handle without READ flag>
GATT/SR/GAR/BI-13-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-14-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter ffff>
GATT/SR/GAR/BI-15-C N/A
GATT/SR/GAR/BI-16-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-17-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BV-05-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-18-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter value handle without READ flag>
GATT/SR/GAR/BI-19-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter ffff>
GATT/SR/GAR/BI-20-C N/A
GATT/SR/GAR/BI-21-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-22-C PASS advertise-configure connectable=1 legacy=1
advertise-startt
GATT/SR/GAR/BV-06-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-23-C N/A
GATT/SR/GAR/BI-24-C N/A
GATT/SR/GAR/BI-25-C N/A
GATT/SR/GAR/BI-26-C N/A
GATT/SR/GAR/BI-27-C N/A
GATT/SR/GAR/BV-07-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BV-08-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAR/BI-28-C N/A
GATT/SR/GAR/BI-29-C N/A
GATT/SR/GAR/BI-30-C N/A
GATT/SR/GAR/BI-31-C N/A
GATT/SR/GAR/BI-32-C N/A
GATT/SR/GAR/BI-33-C N/A
GATT/SR/GAR/BI-34-C N/A
GATT/SR/GAR/BI-35-C N/A
-------------------------------------------------------------------------------
GATT/SR/GAW/BV-01-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BV-02-C N/A
GATT/SR/GAW/BI-01-C N/A
GATT/SR/GAW/BV-03-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-02-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter ffff>
GATT/SR/GAW/BI-03-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-04-C N/A
GATT/SR/GAW/BI-05-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-06-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BV-05-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-07-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter ffff>
GATT/SR/GAW/BI-08-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter long value handle without WRITE flag>
GATT/SR/GAW/BI-09-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-11-C N/A
GATT/SR/GAW/BI-12-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-13-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BV-06-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BV-10-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-14-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter ffff>
GATT/SR/GAW/BI-15-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter value handle without WRITE flag>
GATT/SR/GAW/BI-17-C N/A
GATT/SR/GAW/BI-18-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-19-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BV-11-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BV-07-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BV-08-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-20-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter ffff>
GATT/SR/GAW/BI-21-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter dsc value handle without WRITE flag>
GATT/SR/GAW/BI-22-C N/A
GATT/SR/GAW/BI-23-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-24-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BV-09-C PASS advertise-configure connectable=1 legacy=1q
advertise-start
GATT/SR/GAW/BI-25-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter ffff>
GATT/SR/GAW/BI-26-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<enter dsc value handle without WRITE flag>
GATT/SR/GAW/BI-27-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-29-C N/A
GATT/SR/GAW/BI-30-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-31-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-32-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-33-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-34-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/GAW/BI-35-C PASS advertise-configure connectable=1 legacy=1
advertise-start
------------------------------------------------------------------------------
GATT/SR/GAN/BV-01-C PASS advertise-configure connectable=1 legacy=1
advertise-start
gatt-notify attr=<val_handle>
------------------------------------------------------------------------------
GATT/SR/GAI/BV-01-C PASS advertise-configure connectable=1 legacy=1
advertise-start
gatt-notify attr=<val_handle>
-------------------------------------------------------------------------------
GATT/SR/GAS/BV-01-C PASS Note: set TSPX_security_enabled to TRUE
security-set-data bonding=1 our_key_dist=7 their_key_dist=7
advertise-configure connectable=1 legacy=1
advertise-start
<click OK>
gatt-service-changed start=1 end=0xffff
advertise-start
security-start conn=<handle>
-------------------------------------------------------------------------------
GATT/SR/GAT/BV-01-C PASS advertise-start
gatt-notify attr=0x0008
------------------------------------------------------------------------------
GATT/SR/GPA/BV-01-C N/A
GATT/SR/GPA/BV-02-C N/A
GATT/SR/GPA/BV-03-C N/A
GATT/SR/GPA/BV-04-C N/A
GATT/SR/GPA/BV-05-C N/A
GATT/SR/GPA/BV-06-C N/A
GATT/SR/GPA/BV-07-C N/A
GATT/SR/GPA/BV-08-C N/A
GATT/SR/GPA/BV-11-C N/A
GATT/SR/GPA/BV-12-C N/A
-------------------------------------------------------------------------------
GATT/SR/UNS/BI-01-C PASS advertise-configure connectable=1 legacy=1
advertise-start
GATT/SR/UNS/BI-02-C PASS advertise-configure connectable=1 legacy=1
advertise-start
--------------------------------------------------------------------------------
GATT/SR/GPM/BV-01-C N/A

View File

@ -1,304 +0,0 @@
PTS test results for L2CAP
PTS version: 7.5.0
Tested: 07-Oct-2019
syscfg.vals:
BLE_EXT_ADV: 1
BLE_PUBLIC_DEV_ADDR: "((uint8_t[6]){0x01, 0xff, 0xff, 0xc0, 0xde, 0xc0})"
BLE_SM_LEGACY: 1
BLE_SM_SC: 1
BLE_L2CAP_COC_MAX_NUM: 5
BLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL: 9
BLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL: 30
BLE_SVC_GAP_PPCP_SUPERVISION_TMO: 2000
CONSOLE_HISTORY_SIZE: 10
Results:
PASS test passed
FAIL test failed
INC test is inconclusive
N/A test is disabled due to PICS setup
-------------------------------------------------------------------------------
Test Name Result Notes
-------------------------------------------------------------------------------
L2CAP/COS/CED/BV-01-C N/A
L2CAP/COS/CED/BV-03-C N/A
L2CAP/COS/CED/BV-04-C N/A
L2CAP/COS/CED/BV-05-C N/A
L2CAP/COS/CED/BV-07-C N/A
L2CAP/COS/CED/BV-08-C N/A
L2CAP/COS/CED/BV-09-C N/A
L2CAP/COS/CED/BV-10-C N/A
L2CAP/COS/CED/BV-11-C N/A
L2CAP/COS/CED/BI-01-C N/A
-------------------------------------------------------------------------------
L2CAP/COS/CFD/BV-01-C N/A
L2CAP/COS/CFD/BV-02-C N/A
L2CAP/COS/CFD/BV-03-C N/A
L2CAP/COS/CFD/BV-08-C N/A
L2CAP/COS/CFD/BV-09-C N/A
L2CAP/COS/CFD/BV-10-C N/A
L2CAP/COS/CFD/BV-11-C N/A
L2CAP/COS/CFD/BV-12-C N/A
L2CAP/COS/CFD/BV-13-C N/A
-------------------------------------------------------------------------------
L2CAP/COS/IEX/BV-01-C N/A
L2CAP/COS/IEX/BV-02-C N/A
-------------------------------------------------------------------------------
L2CAP/COS/ECH/BV-01-C N/A
L2CAP/COS/ECH/BV-02-C N/A
-------------------------------------------------------------------------------
L2CAP/COS/CFC/BV-01-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
l2cap-create-server psm=<TSPX_le_psm from ixit>
advertise-start
l2cap-send conn=<handle> idx=0 bytes=15
<YES>
L2CAP/COS/CFC/BV-02-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
l2cap-create-server psm=<TSPX_le_psm from ixit>
advertise-start
l2cap-send conn=<handle> idx=0 bytes=15
<YES>
L2CAP/COS/CFC/BV-03-C PASS NOTE: #define BTSHELL_COC_MTU = 512
advertise-configure connectable=1 legacy=1
l2cap-create-server psm=<TSPX_le_psm from ixit>
advertise-start
L2CAP/COS/CFC/BV-04-C PASS advertise-configure connectable=1 legacy=1
l2cap-create-server psm=<TSPX_le_psm from ixit>
advertise-start
L2CAP/COS/CFC/BV-05-C PASS advertise-configure connectable=1 legacy=1
l2cap-create-server psm=<TSPX_le_psm from ixit>
advertise-start
l2cap-connect conn=<handle> psm=<your psm>
l2cap-connect conn=<handle> psm=<2nd psm>
-------------------------------------------------------------------------------
L2CAP/CLS/CLR/BV-01-C N/A
-------------------------------------------------------------------------------
L2CAP/CLS/UCD/BV-01-C N/A
L2CAP/CLS/UCD/BV-02-C N/A
L2CAP/CLS/UCD/BV-03-C N/A
-------------------------------------------------------------------------------
L2CAP/EXF/BV-01-C N/A
L2CAP/EXF/BV-02-C N/A
L2CAP/EXF/BV-03-C N/A
L2CAP/EXF/BV-04-C N/A
L2CAP/EXF/BV-05-C N/A
L2CAP/EXF/BV-06-C N/A
-------------------------------------------------------------------------------
L2CAP/CMC/BV-01-C N/A
L2CAP/CMC/BV-02-C N/A
L2CAP/CMC/BV-03-C N/A
L2CAP/CMC/BV-04-C N/A
L2CAP/CMC/BV-05-C N/A
L2CAP/CMC/BV-06-C N/A
L2CAP/CMC/BV-07-C N/A
L2CAP/CMC/BV-08-C N/A
L2CAP/CMC/BV-09-C N/A
L2CAP/CMC/BV-10-C N/A
L2CAP/CMC/BV-11-C N/A
L2CAP/CMC/BV-12-C N/A
L2CAP/CMC/BV-13-C N/A
L2CAP/CMC/BV-14-C N/A
L2CAP/CMC/BV-15-C N/A
L2CAP/CMC/BI-01-C N/A
L2CAP/CMC/BI-02-C N/A
L2CAP/CMC/BI-03-C N/A
L2CAP/CMC/BI-04-C N/A
L2CAP/CMC/BI-05-C N/A
L2CAP/CMC/BI-06-C N/A
-------------------------------------------------------------------------------
L2CAP/FOC/BV-01-C N/A
L2CAP/FOC/BV-02-C N/A
L2CAP/FOC/BV-03-C N/A
-------------------------------------------------------------------------------
L2CAP/OFS/BV-01-C N/A
L2CAP/OFS/BV-02-C N/A
L2CAP/OFS/BV-03-C N/A
L2CAP/OFS/BV-04-C N/A
L2CAP/OFS/BV-05-C N/A
L2CAP/OFS/BV-06-C N/A
L2CAP/OFS/BV-07-C N/A
L2CAP/OFS/BV-08-C N/A
-------------------------------------------------------------------------------
L2CAP/ERM/BV-01-C N/A
L2CAP/ERM/BV-02-C N/A
L2CAP/ERM/BV-03-C N/A
L2CAP/ERM/BV-05-C N/A
L2CAP/ERM/BV-06-C N/A
L2CAP/ERM/BV-07-C N/A
L2CAP/ERM/BV-08-C N/A
L2CAP/ERM/BV-09-C N/A
L2CAP/ERM/BV-10-C N/A
L2CAP/ERM/BV-11-C N/A
L2CAP/ERM/BV-12-C N/A
L2CAP/ERM/BV-13-C N/A
L2CAP/ERM/BV-14-C N/A
L2CAP/ERM/BV-15-C N/A
L2CAP/ERM/BV-16-C N/A
L2CAP/ERM/BV-17-C N/A
L2CAP/ERM/BV-18-C N/A
L2CAP/ERM/BV-19-C N/A
L2CAP/ERM/BV-20-C N/A
L2CAP/ERM/BV-21-C N/A
L2CAP/ERM/BV-22-C N/A
L2CAP/ERM/BV-23-C N/A
L2CAP/ERM/BI-01-C N/A
L2CAP/ERM/BI-02-C N/A
L2CAP/ERM/BI-03-C N/A
L2CAP/ERM/BI-04-C N/A
L2CAP/ERM/BI-05-C N/A
-------------------------------------------------------------------------------
L2CAP/STM/BV-01-C N/A
L2CAP/STM/BV-02-C N/A
L2CAP/STM/BV-03-C N/A
L2CAP/STM/BV-11-C N/A
L2CAP/STM/BV-12-C N/A
L2CAP/STM/BV-13-C N/A
-------------------------------------------------------------------------------
L2CAP/FIX/BV-01-C N/A
L2CAP/FIX/BV-02-C N/A
-------------------------------------------------------------------------------
L2CAP/EWC/BV-01-C N/A
L2CAP/EWC/BV-02-C N/A
L2CAP/EWC/BV-03-C N/A
-------------------------------------------------------------------------------
L2CAP/LSC/BV-01-C N/A
L2CAP/LSC/BV-02-C N/A
L2CAP/LSC/BV-03-C N/A
L2CAP/LSC/BI-04-C N/A
L2CAP/LSC/BI-05-C N/A
L2CAP/LSC/BV-06-C N/A
L2CAP/LSC/BV-07-C N/A
L2CAP/LSC/BV-08-C N/A
L2CAP/LSC/BV-09-C N/A
L2CAP/LSC/BI-10-C N/A
L2CAP/LSC/BI-11-C N/A
L2CAP/LSC/BV-12-C N/A
-------------------------------------------------------------------------------
L2CAP/CCH/BV-01-C N/A
L2CAP/CCH/BV-02-C N/A
L2CAP/CCH/BV-03-C N/A
L2CAP/CCH/BV-04-C N/A
-------------------------------------------------------------------------------
L2CAP/ECF/BV-01-C N/A
L2CAP/ECF/BV-02-C N/A
L2CAP/ECF/BV-03-C N/A
L2CAP/ECF/BV-04-C N/A
L2CAP/ECF/BV-05-C N/A
L2CAP/ECF/BV-06-C N/A
L2CAP/ECF/BV-07-C N/A
L2CAP/ECF/BV-08-C N/A
-------------------------------------------------------------------------------
L2CAP/LE/CPU/BV-01-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
advertise-start
l2cap-update conn=<handle>
L2CAP/LE/CPU/BV-02-C PASS connect peer_addr=<addr>
disconnect conn=<handle>
L2CAP/LE/CPU/BI-01-C PASS connect peer_addr=<addr>
disconnect conn=<handle>
L2CAP/LE/CPU/BI-02-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
advertise-start
-------------------------------------------------------------------------------
L2CAP/LE/REJ/BI-01-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
advertise-start
L2CAP/LE/REJ/BI-02-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
advertise-start
disconnect conn=<handle>
-------------------------------------------------------------------------------
L2CAP/LE/CFC/BV-01-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
advertise-start
L2CAP/LE/CFC/BV-02-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
advertise-start
l2cap-connect conn=<handle> psm=90
L2CAP/LE/CFC/BV-03-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
l2cap-create-server psm=<TSPX_le_psm from ixit>
advertise-start
l2cap-send conn=<handle> idx=0 bytes=15
<YES>
L2CAP/LE/CFC/BV-04-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
advertise-start
l2cap-connect conn=<handle> psm=<unsuppported psm from ixit>
L2CAP/LE/CFC/BV-05-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
advertise-start
L2CAP/LE/CFC/BV-06-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
l2cap-create-server psm=<TSPX_le_psm from ixit>
advertise-start
l2cap-send conn=<handle> idx=0 bytes=15
L2CAP/LE/CFC/BV-07-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
l2cap-create-server psm=<TSPX_le_psm from ixit>
advertise-start
L2CAP/LE/CFC/BI-01-C PASS advertise-configure connectable=1 legacy=1
l2cap-create-server psm=<TSPX_le_psm from ixit>
advertise-start
L2CAP/LE/CFC/BV-08-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
l2cap-create-server psm=<your psm>
advertise-start
l2cap-disconnect conn=<handle> idx=0
L2CAP/LE/CFC/BV-09-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
l2cap-create-server psm=<TSPX_le_psm from ixit>
advertise-start
L2CAP/LE/CFC/BV-16-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
advertise-start
l2cap-connect conn=<handle> psm=90
L2CAP/LE/CFC/BV-17-C N/A
L2CAP/LE/CFC/BV-18-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
advertise-start
l2cap-connect conn=<handle> psm=90
L2CAP/LE/CFC/BV-19-C PASS NOTE: TSPC_L2CAP_3_16 (multiple channel support) must be checked
advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
advertise-start
l2cap-connect conn=<handle> psm=90
L2CAP/LE/CFC/BV-20-C PASS NOTE: TSPC_L2CAP_3_16 (multiple channel support) must be checked
advertise-configure connectable=1 legacy=1
l2cap-create-server psm=<TSPX_le_psm from ixit>
advertise-start
L2CAP/LE/CFC/BV-21-C PASS advertise-configure connectable=1 legacy=1
advertise-set-adv-data flags=6
advertise-start
l2cap-connect conn=<handle> psm=90
-------------------------------------------------------------------------------
L2CAP/LE/CID/BV-01-C N/A
L2CAP/LE/CID/BV-02-C N/A
-------------------------------------------------------------------------------

View File

@ -1,310 +0,0 @@
PTS test results for SM
PTS version: 7.5.0
Tested: 07-Oct-2019
syscfg.vals:
BLE_EXT_ADV: 1
BLE_PUBLIC_DEV_ADDR: "((uint8_t[6]){0x01, 0xff, 0xff, 0xc0, 0xde, 0xc0})"
BLE_SM_LEGACY: 1
BLE_SM_SC: 1
BLE_L2CAP_COC_MAX_NUM: 5
BLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL: 9
BLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL: 30
BLE_SVC_GAP_PPCP_SUPERVISION_TMO: 2000
CONSOLE_HISTORY_SIZE: 10
Results:
PASS test passed
FAIL test failed
INC test is inconclusive
N/A test is disabled due to PICS setup
NONE test result is none
-------------------------------------------------------------------------------
Test Name Result Notes
-------------------------------------------------------------------------------
SM/MAS/PROT/BV-01-C PASS connect peer_addr=<addr>
security-set-data bonding=1 sc=1 our_key_dist=7 their_key_dist=7
security-pair conn=<handle>
-------------------------------------------------------------------------------
SM/MAS/JW/BV-01-C N/A
SM/MAS/JW/BV-05-C PASS connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=<handle>
<repeat>
SM/MAS/JW/BI-01-C PASS connect peer_addr=<addr>
security-pair conn=<handle>
SM/MAS/JW/BI-04-C PASS connect peer_addr=<addr>
security-set-data bonding=1 sc=1
security-pair conn=<handle>
-------------------------------------------------------------------------------
SM/MAS/PKE/BV-01-C PASS security-set-data io_capabilities=1
connect peer_addr=<addr>
b sec pair conn=<handle>
b passkey conn=<handle> action=3 key=123456
Note: enter '123456' passkey in PTS
SM/MAS/PKE/BV-04-C PASS security-set-data bonding=1 oob_flag=0
connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=<handle>
SM/MAS/PKE/BI-01-C PASS ecurity-set-data io_capabilities=1 oob_flag=0
connect peer_addr=<addr>
security-pair conn=<handle>
auth-passkey conn=<handle> action=3 key=123456
Note: enter invalid passkey
SM/MAS/PKE/BI-02-C PASS security-set-data io_capabilities=1 oob_flag=0
connect peer_addr=<addr>
security-pair conn=<handle>
auth-passkey conn=<handle> action=3 key=123456
Note: enter '123456' passkey in PTS
-------------------------------------------------------------------------------
SM/MAS/OOB/BV-01-C N/A
SM/MAS/OOB/BV-03-C N/A
SM/MAS/OOB/BV-05-C PASS security-set-data io_capabilities=1 oob_flag=0
connect-peer_addr=<addr>
security-pair conn=<handle>
auth-passkey conn=<handle> action=3 key=123456
Note: enter '123456' passkey in PTS
disconnect conn=1
SM/MAS/OOB/BV-07-C PASS ecurity-set-data io_capabilities=1 oob_flag=0
connect-peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=1
SM/MAS/OOB/BV-09-C N/A
SM/MAS/OOB/BI-01-C N/A
-------------------------------------------------------------------------------
SM/MAS/EKS/BV-01-C PASS connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=1
SM/MAS/EKS/BI-01-C PASS connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=1
-------------------------------------------------------------------------------
SM/MAS/SIGN/BV-01-C N/A
SM/MAS/SIGN/BV-03-C N/A
SM/MAS/SIGN/BI-01-C N/A
-------------------------------------------------------------------------------
SM/MAS/KDU/BV-04-C PASS security-set-data our_key_dist=4
connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=1
SM/MAS/KDU/BV-05-C PASS security-set-data our_key_dist=2
connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=1
SM/MAS/KDU/BV-06-C PASS security-set-data our_key_dist=1
connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=1
SM/MAS/KDU/BV-10-C PASS security-set-data our_key_dist=2 sc=1
connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=1
SM/MAS/KDU/BV-11-C PASS security-set-data our_key_dist=2 sc=1
connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=1
SM/MAS/KDU/BI-01-C PASS connect peer_addr=<addr>
disconnect conn=1
reset device
<OK>
<repeat>
-------------------------------------------------------------------------------
SM/MAS/SIP/BV-02-C PASS security-set-data io_capabilities=4
connect peer_addr=<addr>
disconnect conn=1
-------------------------------------------------------------------------------
SM/MAS/SCJW/BV-01-C PASS security-set-data sc=1
connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=1
SM/MAS/SCJW/BV-04-C PASS security-set-data sc=1 io_capabilities=1 our_key_dist=1
connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=1
SM/MAS/SCJW/BI-01-C PASS security-set-data sc=1 io_capabilities=4
connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=1
<repeat>
<confirm key number with PTS>
-------------------------------------------------------------------------------
SM/MAS/SCPK/BV-01-C PASS security-set-data sc=1 io_capabilities=2
connect peer_addr=<addr>
security-pair conn=<handle>
auth_passkey conn=1 action=2 key=123456
Note: enter '123456' passkey in PTS
disconnect conn=1
SM/MAS/SCPK/BV-04-C PASS security-set-data io_capabilities=4 oob_flag=0 our_key_dist=1 their_key_dist=1
connect peer_addr=<addr>
security-pair conn=<handle>
auth_passkey conn=1 action=2 key=123456
Note: enter '123456' passkey in PTS
disconnect conn=1
SM/MAS/SCPK/BI-01-C PASS security-set-data io_capabilities=4 oob_flag=0 sc=1
connect peer_addr=<addr>
security-pair conn=<handle>
disconnect conn=1
<repeat>
auth_passkey conn=1 action=2 key=123456
Note: enter '123456' passkey in PTS
disconnect conn=1
SM/MAS/SCPK/BI-02-C PASS security-set-data io_capabilities=2 oob_flag=0 bonding=1 sc=1
connect peer_addr=<addr>
security-pair conn=<handle>
auth_passkey conn=1 action=2 key=123456
Note: enter '123456' passkey in PTS
disconnect conn=1
-------------------------------------------------------------------------------
SM/MAS/SCOB/BV-01-C N/A
SM/MAS/SCOB/BI-04-C N/A
SM/MAS/SCOB/BV-01-C N/A
SM/MAS/SCOB/BI-04-C N/A
-------------------------------------------------------------------------------
SM/MAS/SCCT/BV-01-C N/A
SM/MAS/SCCT/BV-03-C N/A
SM/MAS/SCCT/BV-05-C N/A
SM/MAS/SCCT/BV-07-C N/A
SM/MAS/SCCT/BV-09-C N/A
-------------------------------------------------------------------------------
SM/SLA/PROT/BV-02-C PASS advertise-configure connectable=1 legacy=1
advertise-start
<wait>
-------------------------------------------------------------------------------
SM/MAS/JW/BV-02-C PASS advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/JW/BI-02-C PASS advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/JW/BI-03-C PASS advertise-configure connectable=1 legacy=1
advertise-start
-------------------------------------------------------------------------------
SM/SLA/PKE/BV-02-C PASS security-set-data io_capabilities=4
advertise-configure connectable=1 legacy=1
advertise-start
auth-passkey conn=<handle> action=2 key=<key>
<OK>
SM/SLA/PKE/BV-05-C PASS security-set-data io_capabilities=4
advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/PKE/BI-03-C PASS security-set-data io_capabilities=4
advertise-configure connectable=1 legacy=1
advertise-start
auth-passkey conn=<handle> action=3 key=123456
Note: enter invalid passkey
-------------------------------------------------------------------------------
SM/SLA/OOB/BV-02-C N/A
SM/SLA/OOB/BV-04-C N/A
SM/SLA/OOB/BV-06-C PASS security-set-data io_capabilities=1
advertise-configure connectable=1 legacy=1
advertise-start
auth-passkey conn=<handle> action=3 key=<key>
SM/SLA/OOB/BV-08-C PASS advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/OOB/BV-10-C N/A
SM/SLA/OOB/BI-02-C N/A
-------------------------------------------------------------------------------
SM/SLA/EKS/BV-02-C PASS advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/EKS/BI-02-C PASS advertise-configure connectable=1 legacy=1
advertise-start
-------------------------------------------------------------------------------
SM/SLA/KDU/BV-01-C PASS security-set-data io_capabilities=1
advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/KDU/BV-02-C PASS security-set-data io_capabilities=2
advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/KDU/BV-03-C PASS security-set-data io_capabilities=4
advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/KDU/BV-07-C PASS security-set-data our_key_dist=1 bonding=1
advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/KDU/BV-08-C PASS security-set-data our_key_dist=2 sc=1
advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/KDU/BV-09-C PASS security-set-data our_key_dist=4 bonding=0
advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/KDU/BI-01-C PASS advertise-configure connectable=1 legacy=1
security-set-data sc=1
advertise-start
<reset device>
<repeat>
-------------------------------------------------------------------------------
SM/SLA/SIP/BV-01-C PASS security-set-data io_capabilities=4
advertise-configure connectable=1 legacy=1
advertise-start
security-start conn=<handle>
-------------------------------------------------------------------------------
SM/SLA/SIE/BV-01-C PASS security-set-data io_capabilities=3 bonding=1 our_key_dist=1 their_key_dist=1
advertise-configure connectable=1 legacy=1
advertise-start
advertise-start
security-start conn=<handle>
-------------------------------------------------------------------------------
SM/SLA/SCJW/BV-02-C PASS security-set-data io_capabilities=4 oob_flag=0 bonding=0 mitm_flag=0 sc=1 our_key_dist=1
advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/SCJW/BV-03-C PASS security-set-data io_capabilities=1 our_key_dist=1 oob_flag=0
advertise-configure connectable=1 legacy=1
advertise-start
SM/SLA/SCJW/BI-02-C PASS security-set-data io_capabilities=1 oob_flag=0 bonding=1 sc=1
advertise-configure connectable=1 legacy=1
advertise-start
-------------------------------------------------------------------------------
SM/SLA/SCPK/BV-02-C PASS security-set-data io_capabilities=1 oob_flag=0 sc=1
advertise-configure connectable=1 legacy=1
advertise-start
auth-passkey conn=1 action=4 key=186900 yesno=yy
SM/SLA/SCPK/BV-03-C PASS security-set-data io_capabilities=2 oob_flag=0 our_key_dist=1 their_key_dist=1 sc=1
advertise-configure connectable=1 legacy=1
advertise-start
auth-passkey conn=1 action=2 key=123456
Note: enter '123456' passkey in PTS
SM/SLA/SCPK/BI-03-C PASS security-set-data io_capabilities=2 oob_flag=0 sc=1
advertise-configure connectable=1 legacy=1
advertise-start
auth-passkey conn=1 action=2 key=123456 oob=<xx:xx:xx...>
Note: enter '123456' passkey in PTS
SM/SLA/SCPK/BI-04-C PASS security-set-data io_capabilities=2 oob_flag=0 mitm_flag=1 sc=1
advertise-configure connectable=1 legacy=1
advertise-start
<repeat>
auth-passkey conn=1 action=2 key=123456
Note: enter '123456' passkey in PTS
-------------------------------------------------------------------------------
SM/SLA/SCOB/BV-02-C N/A
SM/SLA/SCOB/BI-03-C N/A
SM/SLA/SCOB/BV-02-C N/A
SM/SLA/SCOB/BI-03-C N/A
-------------------------------------------------------------------------------
SM/SLA/SCCT/BV-02-C N/A
SM/SLA/SCCT/BV-04-C N/A
SM/SLA/SCCT/BV-06-C N/A
SM/SLA/SCCT/BV-08-C N/A
SM/SLA/SCCT/BV-10-C N/A

View File

@ -1,289 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project><qdid>94654</qdid><name>mynewt-Updated</name>
<pics>
<profile>
<name>L2CAP</name>
<item><table>0</table><row>2</row></item>
<item><table>1</table><row>3</row></item>
<item><table>1</table><row>4</row></item>
<item><table>1</table><row>5</row></item>
<item><table>1</table><row>6</row></item>
<item><table>2</table><row>40</row></item>
<item><table>2</table><row>41</row></item>
<item><table>2</table><row>42</row></item>
<item><table>2</table><row>43</row></item>
<item><table>2</table><row>45</row></item>
<item><table>2</table><row>46</row></item>
<item><table>2</table><row>47</row></item>
<item><table>3</table><row>1</row></item>
<item><table>3</table><row>12</row></item>
<item><table>3</table><row>16</row></item>
</profile>
<profile>
<name>GAP</name>
<item><table>0</table><row>2</row></item>
<item><table>0a</table><row>4</row></item>
<item><table>10</table><row>1</row></item>
<item><table>12</table><row>1</row></item>
<item><table>13</table><row>1</row></item>
<item><table>13</table><row>2</row></item>
<item><table>14</table><row>1</row></item>
<item><table>15</table><row>1</row></item>
<item><table>16</table><row>1</row></item>
<item><table>18</table><row>1</row></item>
<item><table>18</table><row>2</row></item>
<item><table>19</table><row>1</row></item>
<item><table>19</table><row>2</row></item>
<item><table>19</table><row>3</row></item>
<item><table>20</table><row>1</row></item>
<item><table>20</table><row>2</row></item>
<item><table>20</table><row>3</row></item>
<item><table>20</table><row>4</row></item>
<item><table>20A</table><row>1</row></item>
<item><table>20A</table><row>10</row></item>
<item><table>20A</table><row>11</row></item>
<item><table>20A</table><row>12</row></item>
<item><table>20A</table><row>13</row></item>
<item><table>20A</table><row>14</row></item>
<item><table>20A</table><row>15</row></item>
<item><table>20A</table><row>16</row></item>
<item><table>20A</table><row>17</row></item>
<item><table>20A</table><row>2</row></item>
<item><table>20A</table><row>3</row></item>
<item><table>20A</table><row>4</row></item>
<item><table>20A</table><row>5</row></item>
<item><table>20A</table><row>7</row></item>
<item><table>20A</table><row>8</row></item>
<item><table>20A</table><row>9</row></item>
<item><table>21</table><row>1</row></item>
<item><table>21</table><row>2</row></item>
<item><table>21</table><row>3</row></item>
<item><table>21</table><row>4</row></item>
<item><table>21</table><row>5</row></item>
<item><table>21</table><row>6</row></item>
<item><table>21</table><row>7</row></item>
<item><table>21</table><row>8</row></item>
<item><table>21</table><row>9</row></item>
<item><table>22</table><row>1</row></item>
<item><table>22</table><row>2</row></item>
<item><table>22</table><row>3</row></item>
<item><table>22</table><row>4</row></item>
<item><table>23</table><row>1</row></item>
<item><table>23</table><row>2</row></item>
<item><table>23</table><row>3</row></item>
<item><table>23</table><row>4</row></item>
<item><table>23</table><row>5</row></item>
<item><table>24</table><row>1</row></item>
<item><table>24</table><row>2</row></item>
<item><table>24</table><row>3</row></item>
<item><table>24</table><row>4</row></item>
<item><table>25</table><row>1</row></item>
<item><table>25</table><row>2</row></item>
<item><table>25</table><row>3</row></item>
<item><table>25</table><row>4</row></item>
<item><table>25</table><row>7</row></item>
<item><table>25</table><row>8</row></item>
<item><table>25</table><row>9</row></item>
<item><table>26</table><row>1</row></item>
<item><table>26</table><row>2</row></item>
<item><table>26</table><row>3</row></item>
<item><table>26</table><row>4</row></item>
<item><table>27</table><row>1</row></item>
<item><table>27</table><row>2</row></item>
<item><table>28</table><row>1</row></item>
<item><table>28</table><row>2</row></item>
<item><table>29</table><row>1</row></item>
<item><table>29</table><row>2</row></item>
<item><table>29</table><row>3</row></item>
<item><table>29</table><row>4</row></item>
<item><table>30</table><row>1</row></item>
<item><table>30</table><row>2</row></item>
<item><table>31</table><row>1</row></item>
<item><table>31</table><row>2</row></item>
<item><table>31</table><row>3</row></item>
<item><table>31</table><row>4</row></item>
<item><table>31</table><row>5</row></item>
<item><table>31</table><row>6</row></item>
<item><table>31</table><row>7</row></item>
<item><table>31</table><row>8</row></item>
<item><table>31</table><row>9</row></item>
<item><table>32</table><row>1</row></item>
<item><table>32</table><row>2</row></item>
<item><table>32</table><row>3</row></item>
<item><table>33</table><row>1</row></item>
<item><table>33</table><row>2</row></item>
<item><table>33</table><row>3</row></item>
<item><table>33</table><row>4</row></item>
<item><table>33</table><row>5</row></item>
<item><table>33</table><row>6</row></item>
<item><table>34</table><row>1</row></item>
<item><table>34</table><row>2</row></item>
<item><table>34</table><row>3</row></item>
<item><table>35</table><row>1</row></item>
<item><table>35</table><row>2</row></item>
<item><table>35</table><row>3</row></item>
<item><table>35</table><row>4</row></item>
<item><table>35</table><row>5</row></item>
<item><table>35</table><row>7</row></item>
<item><table>35</table><row>8</row></item>
<item><table>35</table><row>9</row></item>
<item><table>37</table><row>1</row></item>
<item><table>37</table><row>2</row></item>
<item><table>37</table><row>3</row></item>
<item><table>5</table><row>1</row></item>
<item><table>5</table><row>2</row></item>
<item><table>5</table><row>3</row></item>
<item><table>5</table><row>4</row></item>
<item><table>6</table><row>1</row></item>
<item><table>7</table><row>1</row></item>
<item><table>7</table><row>2</row></item>
<item><table>8</table><row>1</row></item>
<item><table>8</table><row>2</row></item>
<item><table>8a</table><row>3</row></item>
<item><table>9</table><row>1</row></item>
</profile>
<profile>
<name>SUM ICS</name>
</profile>
<profile>
<name>PROD</name>
</profile>
<profile>
<name>GATT</name>
<item><table>1</table><row>1</row></item>
<item><table>1</table><row>2</row></item>
<item><table>2</table><row>2</row></item>
<item><table>3</table><row>1</row></item>
<item><table>3</table><row>10</row></item>
<item><table>3</table><row>11</row></item>
<item><table>3</table><row>12</row></item>
<item><table>3</table><row>14</row></item>
<item><table>3</table><row>15</row></item>
<item><table>3</table><row>16</row></item>
<item><table>3</table><row>17</row></item>
<item><table>3</table><row>18</row></item>
<item><table>3</table><row>19</row></item>
<item><table>3</table><row>2</row></item>
<item><table>3</table><row>20</row></item>
<item><table>3</table><row>21</row></item>
<item><table>3</table><row>22</row></item>
<item><table>3</table><row>23</row></item>
<item><table>3</table><row>3</row></item>
<item><table>3</table><row>4</row></item>
<item><table>3</table><row>5</row></item>
<item><table>3</table><row>6</row></item>
<item><table>3</table><row>7</row></item>
<item><table>3</table><row>8</row></item>
<item><table>3</table><row>9</row></item>
<item><table>4</table><row>1</row></item>
<item><table>4</table><row>10</row></item>
<item><table>4</table><row>11</row></item>
<item><table>4</table><row>12</row></item>
<item><table>4</table><row>14</row></item>
<item><table>4</table><row>15</row></item>
<item><table>4</table><row>16</row></item>
<item><table>4</table><row>17</row></item>
<item><table>4</table><row>18</row></item>
<item><table>4</table><row>19</row></item>
<item><table>4</table><row>2</row></item>
<item><table>4</table><row>20</row></item>
<item><table>4</table><row>21</row></item>
<item><table>4</table><row>22</row></item>
<item><table>4</table><row>23</row></item>
<item><table>4</table><row>3</row></item>
<item><table>4</table><row>4</row></item>
<item><table>4</table><row>5</row></item>
<item><table>4</table><row>6</row></item>
<item><table>4</table><row>7</row></item>
<item><table>4</table><row>8</row></item>
<item><table>4</table><row>9</row></item>
<item><table>7</table><row>2</row></item>
<item><table>7</table><row>3</row></item>
<item><table>7</table><row>4</row></item>
</profile>
<profile>
<name>ATT</name>
<item><table>1</table><row>1</row></item>
<item><table>1</table><row>2</row></item>
<item><table>2</table><row>2</row></item>
<item><table>3</table><row>1</row></item>
<item><table>3</table><row>10</row></item>
<item><table>3</table><row>11</row></item>
<item><table>3</table><row>12</row></item>
<item><table>3</table><row>13</row></item>
<item><table>3</table><row>14</row></item>
<item><table>3</table><row>15</row></item>
<item><table>3</table><row>16</row></item>
<item><table>3</table><row>17</row></item>
<item><table>3</table><row>18</row></item>
<item><table>3</table><row>19</row></item>
<item><table>3</table><row>2</row></item>
<item><table>3</table><row>20</row></item>
<item><table>3</table><row>22</row></item>
<item><table>3</table><row>23</row></item>
<item><table>3</table><row>24</row></item>
<item><table>3</table><row>25</row></item>
<item><table>3</table><row>26</row></item>
<item><table>3</table><row>27</row></item>
<item><table>3</table><row>28</row></item>
<item><table>3</table><row>29</row></item>
<item><table>3</table><row>3</row></item>
<item><table>3</table><row>4</row></item>
<item><table>3</table><row>5</row></item>
<item><table>3</table><row>6</row></item>
<item><table>3</table><row>7</row></item>
<item><table>3</table><row>8</row></item>
<item><table>3</table><row>9</row></item>
<item><table>4</table><row>1</row></item>
<item><table>4</table><row>10</row></item>
<item><table>4</table><row>11</row></item>
<item><table>4</table><row>12</row></item>
<item><table>4</table><row>13</row></item>
<item><table>4</table><row>14</row></item>
<item><table>4</table><row>15</row></item>
<item><table>4</table><row>16</row></item>
<item><table>4</table><row>17</row></item>
<item><table>4</table><row>18</row></item>
<item><table>4</table><row>19</row></item>
<item><table>4</table><row>2</row></item>
<item><table>4</table><row>20</row></item>
<item><table>4</table><row>22</row></item>
<item><table>4</table><row>23</row></item>
<item><table>4</table><row>24</row></item>
<item><table>4</table><row>25</row></item>
<item><table>4</table><row>26</row></item>
<item><table>4</table><row>27</row></item>
<item><table>4</table><row>28</row></item>
<item><table>4</table><row>29</row></item>
<item><table>4</table><row>3</row></item>
<item><table>4</table><row>4</row></item>
<item><table>4</table><row>5</row></item>
<item><table>4</table><row>6</row></item>
<item><table>4</table><row>7</row></item>
<item><table>4</table><row>8</row></item>
<item><table>4</table><row>9</row></item>
<item><table>5</table><row>2</row></item>
<item><table>5</table><row>3</row></item>
<item><table>5</table><row>4</row></item>
</profile>
<profile>
<name>SM</name>
<item><table>1</table><row>1</row></item>
<item><table>1</table><row>2</row></item>
<item><table>2</table><row>1</row></item>
<item><table>2</table><row>2</row></item>
<item><table>2</table><row>3</row></item>
<item><table>2</table><row>5</row></item>
<item><table>3</table><row>1</row></item>
<item><table>4</table><row>1</row></item>
<item><table>4</table><row>2</row></item>
<item><table>5</table><row>1</row></item>
<item><table>5</table><row>2</row></item>
<item><table>5</table><row>3</row></item>
<item><table>5</table><row>4</row></item>
<item><table>7</table><row>1</row></item>
<item><table>7</table><row>2</row></item>
<item><table>7</table><row>3</row></item>
</profile>
</pics>
</project>

View File

@ -1,34 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host/services/ans
pkg.description: Alert Notification Service Server.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
- ans
- nimble
pkg.deps:
- nimble/host
pkg.init:
ble_svc_ans_init: 'MYNEWT_VAL(BLE_SVC_ANS_SYSINIT_STAGE)'

View File

@ -1,30 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
syscfg.defs:
BLE_SVC_ANS_NEW_ALERT_CAT:
description: "Initial supported new alert category bitmask."
value: 0
BLE_SVC_ANS_UNR_ALERT_CAT:
description: "Initial supported unread alert category bitmask."
value: 0
BLE_SVC_ANS_SYSINIT_STAGE:
description: >
Sysinit stage for the alert notification service.
value: 303

View File

@ -1,34 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host/services/bas
pkg.description: Battery Service
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
- bas
- nimble
pkg.deps:
- nimble/host
pkg.init:
ble_svc_bas_init: 'MYNEWT_VAL(BLE_SVC_BAS_SYSINIT_STAGE)'

View File

@ -1,34 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
syscfg.defs:
BLE_SVC_BAS_BATTERY_LEVEL_READ_PERM:
description: >
Defines permissions for reading "Battery Level" characteristics. Can
be zero to allow read without extra permissions or combination of:
BLE_GATT_CHR_F_READ_ENC
BLE_GATT_CHR_F_READ_AUTHEN
BLE_GATT_CHR_F_READ_AUTHOR
value: 0
BLE_SVC_BAS_BATTERY_LEVEL_NOTIFY_ENABLE:
description: >
Set to 1 to support notification or 0 to disable it.
value: 1
BLE_SVC_BAS_SYSINIT_STAGE:
description: >
Sysinit stage for the battery level service.
value: 303

View File

@ -1,34 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host/services/dis
pkg.description: Device Information Service Implementation.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
- dis
- nimble
pkg.deps:
- nimble/host
pkg.init:
ble_svc_dis_init: 'MYNEWT_VAL(BLE_SVC_DIS_SYSINIT_STAGE)'

View File

@ -1,109 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
BLE_SVC_DIS_DEFAULT_READ_PERM:
description: >
Defines default permissions for reading characteristics. Can be
zero to allow read without extra permissions or combination of:
BLE_GATT_CHR_F_READ_ENC
BLE_GATT_CHR_F_READ_AUTHEN
BLE_GATT_CHR_F_READ_AUTHOR
Set to '-1' to remove this characteristic.
value: -1
BLE_SVC_DIS_MODEL_NUMBER_READ_PERM:
description: >
Defines permissions for reading "Model Number" characteristics.
Can be set to BLE_SVC_DIS_DEFAULT_READ_PERM or use any of the
possible values defined for that setting.
value: 0
BLE_SVC_DIS_MODEL_NUMBER_DEFAULT:
description: >
Defines a default value for "Model number" if not set with
'ble_svc_dis_model_number_set'.
value: '"Apache Mynewt NimBLE"'
BLE_SVC_DIS_SERIAL_NUMBER_READ_PERM:
description: >
Defines permissions for reading "Serial Number" characteristics.
Can be set to BLE_SVC_DIS_DEFAULT_READ_PERM or use any of the
possible values defined for that setting.
value: MYNEWT_VAL(BLE_SVC_DIS_DEFAULT_READ_PERM)
BLE_SVC_DIS_SERIAL_NUMBER_DEFAULT:
description: >
Defines a default value for "Serial number" if not set with
'ble_svc_dis_serial_number_set'.
value: NULL
BLE_SVC_DIS_HARDWARE_REVISION_READ_PERM:
description: >
Defines permissions for reading "Hardware Revision" characteristics.
Can be set to BLE_SVC_DIS_DEFAULT_READ_PERM or use any of the
possible values defined for that setting.
value: MYNEWT_VAL(BLE_SVC_DIS_DEFAULT_READ_PERM)
BLE_SVC_DIS_HARDWARE_REVISION_DEFAULT:
description: >
Defines a default value for "Hardware revision" if not set with
'ble_svc_dis_hardware_revision_set'.
value: NULL
BLE_SVC_DIS_FIRMWARE_REVISION_READ_PERM:
description: >
Defines permissions for reading "Firmware Revision" characteristics.
Can be set to BLE_SVC_DIS_DEFAULT_READ_PERM or use any of the
possible values defined for that setting.
value: MYNEWT_VAL(BLE_SVC_DIS_DEFAULT_READ_PERM)
BLE_SVC_DIS_FIRMWARE_REVISION_DEFAULT:
description: >
Defines a default value for "Software revision" if not set with
'ble_svc_dis_firmware_revision_set'.
value: NULL
BLE_SVC_DIS_SOFTWARE_REVISION_READ_PERM:
description: >
Defines permissions for reading "Software Revision" characteristics.
Can be set to BLE_SVC_DIS_DEFAULT_READ_PERM or use any of the
possible values defined for that setting.
value: MYNEWT_VAL(BLE_SVC_DIS_DEFAULT_READ_PERM)
BLE_SVC_DIS_SOFTWARE_REVISION_DEFAULT:
description: >
Defines a default value for "Software revision" if not set with
'ble_svc_dis_software_revision_set'.
value: NULL
BLE_SVC_DIS_MANUFACTURER_NAME_READ_PERM:
description: >
Defines permissions for reading "Manufacturer name" characteristics.
Can be set to BLE_SVC_DIS_DEFAULT_READ_PERM or use any of the
possible values defined for that setting.
value: MYNEWT_VAL(BLE_SVC_DIS_DEFAULT_READ_PERM)
BLE_SVC_DIS_MANUFACTURER_NAME_DEFAULT:
description: >
Defines a default value for "Manufacturer name" if not set with
'ble_svc_dis_manufacturer_name_set'.
value: NULL
BLE_SVC_DIS_SYSTEM_ID_READ_PERM:
description: >
Defines permissions for reading "System ID" characteristics.
Can be set to BLE_SVC_DIS_DEFAULT_READ_PERM or use any of the
possible values defined for that setting.
value: MYNEWT_VAL(BLE_SVC_DIS_DEFAULT_READ_PERM)
BLE_SVC_DIS_SYSTEM_ID_DEFAULT:
description: >
Defines a default value for "System ID" if not set with
'ble_svc_dis_manufacturer_name_set'.
value: NULL
BLE_SVC_DIS_SYSINIT_STAGE:
description: >
Sysinit stage for the device information BLE service.
value: 303

View File

@ -1,34 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host/services/gap
pkg.description: Implements the GAP Service.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
- nimble
- gap
pkg.deps:
- nimble/host
pkg.init:
ble_svc_gap_init: 'MYNEWT_VAL(BLE_SVC_GAP_SYSINIT_STAGE)'

View File

@ -1,83 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
BLE_SVC_GAP_DEVICE_NAME:
description: >
Default value for "Device Name" characteristics, unless overwritten
by application.
value: '"nimble"'
BLE_SVC_GAP_DEVICE_NAME_WRITE_PERM:
description: >
Defines permissions for writing "Device Name" characteristics. Can
be zero to allow write without extra permissions or combination of:
BLE_GATT_CHR_F_WRITE_ENC
BLE_GATT_CHR_F_WRITE_AUTHEN
BLE_GATT_CHR_F_WRITE_AUTHOR
Set to '-1' to make characteristic read only.
value: -1
BLE_SVC_GAP_DEVICE_NAME_MAX_LENGTH:
description: Maximum length for "Device Name" characteristics
value: 31
BLE_SVC_GAP_APPEARANCE:
description: 'Device appearance'
value: 0
BLE_SVC_GAP_APPEARANCE_WRITE_PERM:
description: >
Defines permissions for writing "Appearance" characteristics. Can
be zero to allow write without extra permissions or combination of:
BLE_GATT_CHR_F_WRITE_ENC
BLE_GATT_CHR_F_WRITE_AUTHEN
BLE_GATT_CHR_F_WRITE_AUTHOR
Set to '-1' to make characteristic read only.
value: -1
# Setting all values for PPCP to '0' will disable characteristic!
BLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL:
description: >
Value of "minimum connection interval" of PPCP characteristic as
defined by Core specification 5.0, Vol 3, Part C, section 12.3.
value: 0
BLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL:
description: >
Value of "maximum connection interval" of PPCP characteristic as
defined by Core specification 5.0, Vol 3, Part C, section 12.3.
value: 0
BLE_SVC_GAP_PPCP_SLAVE_LATENCY:
description: >
Value of "slave latency" of PPCP characteristic as defined by Core
specification 5.0, Vol 3, Part C, section 12.3.
value: 0
BLE_SVC_GAP_PPCP_SUPERVISION_TMO:
description: >
Value of "connection supervision timeout multiplier" of PPCP
characteristic as defined by Core specification 5.0, Vol 3, Part C,
section 12.3.
value: 0
BLE_SVC_GAP_CENTRAL_ADDRESS_RESOLUTION:
description: >
Value of "Central Address Resolution" characteristics, as defined
by Core specification 5.0, Vol 3, Part C, section 12.
Set to '-1' to disable.
value: -1
BLE_SVC_GAP_SYSINIT_STAGE:
description: >
Sysinit stage for the GAP BLE service.
value: 301

View File

@ -1,34 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host/services/gatt
pkg.description: Implements the GATT service.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
- nimble
- gatt
pkg.deps:
- nimble/host
pkg.init:
ble_svc_gatt_init: 'MYNEWT_VAL(BLE_SVC_GATT_SYSINIT_STAGE)'

View File

@ -1,24 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
BLE_SVC_GATT_SYSINIT_STAGE:
description: >
Sysinit stage for the GATT BLE service
value: 302

View File

@ -1,34 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host/services/ias
pkg.description: Immediate Alert Service Implementation.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
- ias
- nimble
pkg.deps:
- nimble/host
pkg.init:
ble_svc_ias_init: 'MYNEWT_VAL(BLE_SVC_IAS_SYSINIT_STAGE)'

View File

@ -1,23 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
BLE_SVC_IAS_SYSINIT_STAGE:
description: >
Sysinit stage for the immediate alert BLE service.
value: 303

View File

@ -1,35 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host/services/ipss
pkg.description: Implements the IPSS service for IPSP suppoort.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
- nimble
- ipsp
- ipss
pkg.deps:
- nimble/host
pkg.init:
ble_svc_ipss_init: 'MYNEWT_VAL(BLE_SVC_IPSS_SYSINIT_STAGE)'

View File

@ -1,24 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
BLE_SVC_IPSS_SYSINIT_STAGE:
description: >
Sysinit stage for the IPSS BLE service
value: 303

View File

@ -1,34 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host/services/lls
pkg.description: Link Loss Service Implementation.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
- lls
- nimble
pkg.deps:
- nimble/host
pkg.init:
ble_svc_lls_init: 'MYNEWT_VAL(BLE_SVC_LLS_SYSINIT_STAGE)'

View File

@ -1,22 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
syscfg.defs:
BLE_SVC_LLS_SYSINIT_STAGE:
description: >
Sysinit stage for the link loss BLE service.
value: 303

View File

@ -1,31 +0,0 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 H_BLE_SVC_TPS_
#define H_BLE_SVC_TPS_
struct ble_hs_cfg;
#define BLE_SVC_TPS_UUID16 0x1804
#define BLE_SVC_TPS_CHR_UUID16_TX_POWER_LEVEL 0x2a07
void ble_svc_tps_init(void);
#endif

View File

@ -1,34 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host/services/tps
pkg.description: Tx Power Service adopted specification.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
- tps
- nimble
pkg.deps:
- nimble/host
pkg.init:
ble_svc_tps_init: 'MYNEWT_VAL(BLE_SVC_TPS_SYSINIT_STAGE)'

View File

@ -1,107 +0,0 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
#include <assert.h>
#include <string.h>
#include "nimble/porting/nimble/include/sysinit/sysinit.h"
#include "nimble/porting/nimble/include/syscfg/syscfg.h"
#include "nimble/nimble/host/include/host/ble_hs.h"
#include "../include/services/tps/ble_svc_tps.h"
/* XXX: We shouldn't be including the host's private header files. The host
* API needs to be updated with a function to query the advertising transmit
* power.
*/
#include "nimble/nimble/host/src/ble_hs_hci_priv.h"
int8_t ble_svc_tps_tx_power_level;
/* Access function */
static int
ble_svc_tps_access(uint16_t conn_handle, uint16_t attr_handle,
struct ble_gatt_access_ctxt *ctxt, void *arg);
static const struct ble_gatt_svc_def ble_svc_tps_defs[] = {
{
/*** Service: Tx Power Service. */
.type = BLE_GATT_SVC_TYPE_PRIMARY,
.uuid = BLE_UUID16_DECLARE(BLE_SVC_TPS_UUID16),
.characteristics = (struct ble_gatt_chr_def[]) { {
/*** Characteristic: Tx Power Level. */
.uuid = BLE_UUID16_DECLARE(BLE_SVC_TPS_CHR_UUID16_TX_POWER_LEVEL),
.access_cb = ble_svc_tps_access,
.flags = BLE_GATT_CHR_F_READ,
}, {
0, /* No more characteristics in this service. */
} },
},
{
0, /* No more services. */
},
};
/**
* Simple read access callback for the tx power level
* characteristic.
*/
static int
ble_svc_tps_access(uint16_t conn_handle, uint16_t attr_handle,
struct ble_gatt_access_ctxt *ctxt, void *arg)
{
int rc;
assert(ctxt->chr == &ble_svc_tps_defs[0].characteristics[0]);
switch (ctxt->op) {
case BLE_GATT_ACCESS_OP_READ_CHR:
rc = ble_hs_hci_util_read_adv_tx_pwr(&ble_svc_tps_tx_power_level);
if (rc != 0) {
return BLE_ATT_ERR_UNLIKELY;
}
rc = os_mbuf_append(ctxt->om, &ble_svc_tps_tx_power_level,
sizeof ble_svc_tps_tx_power_level);
return rc == 0 ? 0 : BLE_ATT_ERR_INSUFFICIENT_RES;
default:
assert(0);
return BLE_ATT_ERR_UNLIKELY;
}
return 0;
}
/**
* Initialize the TPS
*/
void
ble_svc_tps_init(void)
{
int rc;
/* Ensure this function only gets called by sysinit. */
SYSINIT_ASSERT_ACTIVE();
rc = ble_gatts_count_cfg(ble_svc_tps_defs);
SYSINIT_PANIC_ASSERT(rc == 0);
rc = ble_gatts_add_svcs(ble_svc_tps_defs);
SYSINIT_PANIC_ASSERT(rc == 0);
}

View File

@ -1,23 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
syscfg.defs:
BLE_SVC_TPS_SYSINIT_STAGE:
description: >
Sysinit stage for the transmit power BLE service.
value: 303

View File

@ -482,6 +482,10 @@ ble_gap_conn_find(uint16_t handle, struct ble_gap_conn_desc *out_desc)
{
struct ble_hs_conn *conn;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
conn = ble_hs_conn_find(handle);
@ -504,6 +508,10 @@ ble_gap_conn_find_by_addr(const ble_addr_t *addr,
{
struct ble_hs_conn *conn;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
conn = ble_hs_conn_find_by_addr(addr);
@ -551,6 +559,10 @@ ble_gap_extract_conn_cb(uint16_t conn_handle,
int
ble_gap_set_priv_mode(const ble_addr_t *peer_addr, uint8_t priv_mode)
{
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
return ble_hs_pvcy_set_mode(peer_addr, priv_mode);
}
@ -562,6 +574,10 @@ ble_gap_read_le_phy(uint16_t conn_handle, uint8_t *tx_phy, uint8_t *rx_phy)
struct ble_hs_conn *conn;
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
conn = ble_hs_conn_find(conn_handle);
ble_hs_unlock();
@ -606,6 +622,10 @@ ble_gap_set_prefered_default_le_phy(uint8_t tx_phys_mask, uint8_t rx_phys_mask)
return BLE_ERR_INV_HCI_CMD_PARMS;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
memset(&cmd, 0, sizeof(cmd));
if (tx_phys_mask == 0) {
@ -632,6 +652,10 @@ ble_gap_set_prefered_le_phy(uint16_t conn_handle, uint8_t tx_phys_mask,
struct ble_hci_le_set_phy_cp cmd;
struct ble_hs_conn *conn;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
conn = ble_hs_conn_find(conn_handle);
ble_hs_unlock();
@ -2123,6 +2147,10 @@ ble_gap_set_event_cb(uint16_t conn_handle, ble_gap_event_fn *cb, void *cb_arg)
{
struct ble_hs_conn *conn;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
conn = ble_hs_conn_find(conn_handle);
@ -2221,6 +2249,10 @@ ble_gap_wl_tx_rmv(const ble_addr_t *addr)
return BLE_HS_EINVAL;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
memcpy(cmd.addr, addr->val, BLE_DEV_ADDR_LEN);
cmd.addr_type = addr->type;
@ -2244,6 +2276,10 @@ ble_gap_wl_set(const ble_addr_t *addrs, uint8_t white_list_count)
STATS_INC(ble_gap_stats, wl_set);
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
for (i = 0; i < white_list_count; i++) {
@ -2348,6 +2384,10 @@ ble_gap_adv_stop(void)
#if NIMBLE_BLE_ADVERTISE && !MYNEWT_VAL(BLE_EXT_ADV)
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
rc = ble_gap_adv_stop_no_lock();
ble_hs_unlock();
@ -2545,6 +2585,10 @@ ble_gap_adv_start(uint8_t own_addr_type, const ble_addr_t *direct_addr,
STATS_INC(ble_gap_stats, adv_start);
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
rc = ble_gap_adv_validate(own_addr_type, direct_addr, adv_params);
@ -2561,11 +2605,6 @@ ble_gap_adv_start(uint8_t own_addr_type, const ble_addr_t *direct_addr,
}
}
if (!ble_hs_is_enabled()) {
rc = BLE_HS_EDISABLED;
goto done;
}
if (ble_gap_is_preempted()) {
rc = BLE_HS_EPREEMPTED;
goto done;
@ -2630,6 +2669,10 @@ ble_gap_adv_set_data(const uint8_t *data, int data_len)
STATS_INC(ble_gap_stats, adv_set_data);
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
/* Check for valid parameters */
if (((data == NULL) && (data_len != 0)) ||
(data_len > BLE_HCI_MAX_ADV_DATA_LEN)) {
@ -2654,6 +2697,9 @@ ble_gap_adv_rsp_set_data(const uint8_t *data, int data_len)
struct ble_hci_le_set_scan_rsp_data_cp cmd;
uint16_t opcode;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
/* Check for valid parameters */
if (((data == NULL) && (data_len != 0)) ||
@ -2680,6 +2726,10 @@ ble_gap_adv_set_fields(const struct ble_hs_adv_fields *adv_fields)
uint8_t buf_sz;
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
rc = ble_hs_adv_set_fields(adv_fields, buf, &buf_sz, sizeof buf);
if (rc != 0) {
return rc;
@ -2704,6 +2754,10 @@ ble_gap_adv_rsp_set_fields(const struct ble_hs_adv_fields *rsp_fields)
uint8_t buf_sz;
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
rc = ble_hs_adv_set_fields(rsp_fields, buf, &buf_sz, sizeof buf);
if (rc != 0) {
return rc;
@ -2871,6 +2925,10 @@ ble_gap_ext_adv_configure(uint8_t instance,
return BLE_HS_EINVAL;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
rc = ble_gap_ext_adv_params_validate(params);
if (rc) {
return rc;
@ -2935,6 +2993,10 @@ ble_gap_ext_adv_set_addr(uint8_t instance, const ble_addr_t *addr)
return BLE_HS_EINVAL;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
rc = ble_gap_ext_adv_set_addr_no_lock(instance, addr->val);
ble_hs_unlock();
@ -2955,6 +3017,10 @@ ble_gap_ext_adv_start(uint8_t instance, int duration, int max_events)
return BLE_HS_EINVAL;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
if (!ble_gap_slave[instance].configured) {
ble_hs_unlock();
@ -3232,6 +3298,11 @@ ble_gap_ext_adv_set_data(uint8_t instance, struct os_mbuf *data)
goto done;
}
if (!ble_hs_is_enabled()) {
rc = BLE_HS_EDISABLED;
goto done;
}
ble_hs_lock();
rc = ble_gap_ext_adv_set_data_validate(instance, data);
if (rc != 0) {
@ -3299,6 +3370,11 @@ ble_gap_ext_adv_rsp_set_data(uint8_t instance, struct os_mbuf *data)
goto done;
}
if (!ble_hs_is_enabled()) {
rc = BLE_HS_EDISABLED;
goto done;
}
ble_hs_lock();
rc = ble_gap_ext_adv_rsp_set_validate(instance, data);
if (rc != 0) {
@ -3327,6 +3403,10 @@ ble_gap_ext_adv_remove(uint8_t instance)
return BLE_HS_EINVAL;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
if (!ble_gap_slave[instance].configured) {
ble_hs_unlock();
@ -3360,6 +3440,10 @@ ble_gap_ext_adv_clear(void)
uint8_t instance;
uint16_t opcode;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
for (instance = 0; instance < BLE_ADV_INSTANCES; instance++) {
@ -3453,6 +3537,10 @@ ble_gap_periodic_adv_configure(uint8_t instance,
return BLE_HS_EINVAL;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
rc = ble_gap_periodic_adv_params_validate(params);
if (rc) {
return rc;
@ -3499,6 +3587,10 @@ ble_gap_periodic_adv_start(uint8_t instance)
return BLE_HS_EINVAL;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
/* Periodic advertising cannot start unless it is configured before */
@ -3646,6 +3738,11 @@ ble_gap_periodic_adv_set_data(uint8_t instance, struct os_mbuf *data)
goto done;
}
if (!ble_hs_is_enabled()) {
rc = BLE_HS_EDISABLED;
goto done;
}
ble_hs_lock();
rc = ble_gap_periodic_adv_set_data_validate(instance, data);
@ -3694,6 +3791,10 @@ ble_gap_periodic_adv_stop(uint8_t instance)
return BLE_HS_EINVAL;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
rc = ble_gap_periodic_adv_stop_no_lock(instance);
ble_hs_unlock();
@ -3750,6 +3851,10 @@ ble_gap_periodic_adv_sync_create(const ble_addr_t *addr, uint8_t adv_sid,
return BLE_HS_EINVAL;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
/* No sync can be created if another sync is still pending */
@ -3838,6 +3943,10 @@ ble_gap_periodic_adv_sync_terminate(uint16_t sync_handle)
uint16_t opcode;
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
if (ble_gap_sync.op == BLE_GAP_OP_SYNC) {
@ -3884,6 +3993,10 @@ ble_gap_periodic_adv_sync_reporting(uint16_t sync_handle, bool enable)
uint16_t opcode;
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
if (ble_gap_sync.op == BLE_GAP_OP_SYNC) {
@ -3920,6 +4033,10 @@ ble_gap_periodic_adv_sync_transfer(uint16_t sync_handle, uint16_t conn_handle,
uint16_t opcode;
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
conn = ble_hs_conn_find(conn_handle);
@ -3964,6 +4081,10 @@ ble_gap_periodic_adv_sync_set_info(uint8_t instance, uint16_t conn_handle,
return BLE_HS_EINVAL;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
if (ble_gap_slave[instance].periodic_op != BLE_GAP_OP_S_PERIODIC_ADV) {
/* periodic adv not enabled */
@ -4026,6 +4147,10 @@ ble_gap_periodic_adv_sync_receive(uint16_t conn_handle,
struct ble_hs_conn *conn;
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
conn = ble_hs_conn_find(conn_handle);
@ -4086,6 +4211,10 @@ ble_gap_add_dev_to_periodic_adv_list(const ble_addr_t *peer_addr,
return BLE_ERR_INV_HCI_CMD_PARMS;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
cmd.peer_addr_type = peer_addr->type;
memcpy(cmd.peer_addr, peer_addr->val, BLE_DEV_ADDR_LEN);
cmd.sid = adv_sid;
@ -4106,6 +4235,10 @@ ble_gap_rem_dev_from_periodic_adv_list(const ble_addr_t *peer_addr, uint8_t adv_
return BLE_ERR_INV_HCI_CMD_PARMS;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
cmd.peer_addr_type = peer_addr->type;
memcpy(cmd.peer_addr, peer_addr->val, BLE_DEV_ADDR_LEN);
cmd.sid = adv_sid;
@ -4313,6 +4446,10 @@ ble_gap_disc_cancel(void)
#if NIMBLE_BLE_SCAN
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
rc = ble_gap_disc_cancel_no_lock();
ble_hs_unlock();
@ -4406,6 +4543,10 @@ ble_gap_ext_disc(uint8_t own_addr_type, uint16_t duration, uint16_t period,
STATS_INC(ble_gap_stats, discover);
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
rc = ble_gap_disc_ext_validate(own_addr_type);
@ -4532,6 +4673,10 @@ ble_gap_disc(uint8_t own_addr_type, int32_t duration_ms,
#if MYNEWT_VAL(BLE_EXT_ADV)
struct ble_gap_ext_disc_params p = {0};
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
p.itvl = disc_params->itvl;
p.passive = disc_params->passive;
p.window = disc_params->window;
@ -4553,6 +4698,10 @@ ble_gap_disc(uint8_t own_addr_type, int32_t duration_ms,
STATS_INC(ble_gap_stats, discover);
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
/* Make a copy of the parameter strcuture and fill unspecified values with
@ -4912,7 +5061,8 @@ ble_gap_ext_connect(uint8_t own_addr_type, const ble_addr_t *peer_addr,
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
rc = BLE_HS_EDISABLED;
goto done;
}
if (ble_gap_is_preempted()) {
@ -5204,6 +5354,10 @@ ble_gap_terminate(uint16_t conn_handle, uint8_t hci_reason)
STATS_INC(ble_gap_stats, terminate);
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
conn = ble_hs_conn_find(conn_handle);
@ -5280,6 +5434,10 @@ ble_gap_conn_cancel(void)
#if MYNEWT_VAL(BLE_ROLE_CENTRAL)
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
rc = ble_gap_conn_cancel_no_lock();
ble_hs_unlock();
@ -5538,6 +5696,10 @@ ble_gap_update_params(uint16_t conn_handle,
return BLE_HS_EINVAL;
}
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
STATS_INC(ble_gap_stats, update);
memset(&l2cap_params, 0, sizeof l2cap_params);
entry = NULL;
@ -5633,7 +5795,12 @@ ble_gap_security_initiate(uint16_t conn_handle)
STATS_INC(ble_gap_stats, security_initiate);
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
ble_hs_lock();
conn = ble_hs_conn_find(conn_handle);
if (conn != NULL) {
conn_flags = conn->bhc_flags;
@ -5694,6 +5861,10 @@ ble_gap_pair_initiate(uint16_t conn_handle)
{
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
rc = ble_sm_pair_initiate(conn_handle);
return rc;
@ -5711,6 +5882,10 @@ ble_gap_encryption_initiate(uint16_t conn_handle,
ble_hs_conn_flags_t conn_flags;
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
rc = ble_hs_atomic_conn_flags(conn_handle, &conn_flags);
if (rc != 0) {
return rc;
@ -5733,6 +5908,10 @@ ble_gap_unpair(const ble_addr_t *peer_addr)
{
struct ble_hs_conn *conn;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
if (ble_addr_cmp(peer_addr, BLE_ADDR_ANY) == 0) {
return BLE_HS_EINVAL;
}
@ -5759,6 +5938,10 @@ ble_gap_unpair_oldest_peer(void)
int num_peers;
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
rc = ble_store_util_bonded_peers(
&oldest_peer_id_addr, &num_peers, 1);
if (rc != 0) {
@ -5784,6 +5967,10 @@ ble_gap_unpair_oldest_except(const ble_addr_t *peer_addr)
int num_peers;
int rc, i;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
rc = ble_store_util_bonded_peers(
&peer_id_addrs[0], &num_peers, MYNEWT_VAL(BLE_STORE_MAX_BONDS));
if (rc != 0) {
@ -5903,6 +6090,10 @@ ble_gap_conn_rssi(uint16_t conn_handle, int8_t *out_rssi)
{
int rc;
if (!ble_hs_is_enabled()) {
return BLE_HS_EDISABLED;
}
rc = ble_hs_hci_util_read_rssi(conn_handle, out_rssi);
return rc;
}

View File

@ -836,4 +836,8 @@ ble_hs_deinit(void)
ble_gap_deinit();
ble_hs_hci_deinit();
ble_hs_flow_stop();
ble_hs_stop_deinit();
}

View File

@ -273,3 +273,11 @@ ble_hs_flow_startup(void)
return 0;
}
void
ble_hs_flow_stop(void)
{
#if MYNEWT_VAL(BLE_HS_FLOW_CTRL)
ble_npl_callout_deinit(&ble_hs_flow_timer);
#endif
}

View File

@ -28,7 +28,7 @@ extern "C" {
void ble_hs_flow_connection_broken(uint16_t conn_handle);
void ble_hs_flow_track_data_mbuf(struct os_mbuf *om);
int ble_hs_flow_startup(void);
void ble_hs_flow_stop(void);
#ifdef __cplusplus
}
#endif

View File

@ -132,6 +132,7 @@ void ble_hs_timer_resched(void);
void ble_hs_notifications_sched(void);
struct ble_npl_eventq *ble_hs_evq_get(void);
void ble_hs_stop_init(void);
void ble_hs_stop_deinit(void);
struct ble_mqueue {
STAILQ_HEAD(, os_mbuf_pkthdr) head;

View File

@ -281,3 +281,9 @@ ble_hs_stop_init(void)
ble_hs_stop_terminate_timeout_cb, NULL);
#endif
}
void
ble_hs_stop_deinit(void)
{
ble_npl_callout_deinit(&ble_hs_stop_terminate_tmo);
}

View File

@ -611,9 +611,9 @@ ble_sm_sc_public_key_rx(uint16_t conn_handle, struct os_mbuf **om,
}
cmd = (struct ble_sm_public_key *)(*om)->om_data;
/* Check if the peer public key is same as our generated public key.
* Return fail if the public keys match. */
if (memcmp(cmd, ble_sm_sc_pub_key, 64) == 0) {
/* Check if the X component of peer public key is same as X
* component of our generated public key. Return fail if they match. */
if (memcmp(cmd->x, ble_sm_sc_pub_key, 32) == 0) {
res->enc_cb = 1;
res->sm_err = BLE_SM_ERR_AUTHREQ;
return;

View File

@ -1,38 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host/store/config
pkg.description: sys/config-based persistence layer for the NimBLE host.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
- nimble
- persistence
pkg.deps:
- "@apache-mynewt-core/encoding/base64"
- nimble/host
pkg.deps.BLE_STORE_CONFIG_PERSIST:
- "@apache-mynewt-core/sys/config"
pkg.init:
ble_store_config_init: 'MYNEWT_VAL(BLE_STORE_SYSINIT_STAGE)'

View File

@ -1,27 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
BLE_STORE_CONFIG_PERSIST:
description: >
Whether to save data to sys/config, or just keep it in RAM.
value: 1
BLE_STORE_SYSINIT_STAGE:
description: >
Sysinit stage for BLE host store.
value: 500

View File

@ -1,471 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
BLE_HOST:
description: 'Indicates that a BLE host is present.'
value: 1
BLE_HS_AUTO_START:
description: >
Causes the BLE host to automatically start during system
initialization.
value: 1
# Debug settings.
BLE_HS_DEBUG:
description: 'Enables extra runtime assertions.'
value: 0
BLE_HS_PHONY_HCI_ACKS:
description: >
Rather than wait for HCI acknowledgements from a controller, the
host simulates incoming acks. Only recommended for test code
running in the simulator.
value: 0
BLE_HS_REQUIRE_OS:
description: >
Specifies whether the host can depend on the kernel being present.
This should only be disabled for unit tests running in the
simulator.
value: 1
# Monitor interface settings
BLE_MONITOR_UART:
description: Enables monitor interface over UART
value: 0
BLE_MONITOR_UART_DEV:
description: Monitor interface UART device
value: '"uart0"'
BLE_MONITOR_UART_BAUDRATE:
description: Baudrate for monitor interface UART
value: 1000000
BLE_MONITOR_UART_BUFFER_SIZE:
description: >
Monitor interface ringbuffer size for UART.
This value should be a power of 2.
value: 64
BLE_MONITOR_RTT:
description: Enables monitor interface over RTT
value: 0
BLE_MONITOR_RTT_BUFFER_NAME:
description: Monitor interface upstream buffer name
value: '"btmonitor"'
BLE_MONITOR_RTT_BUFFER_SIZE:
description: Monitor interface upstream buffer size
value: 256
BLE_MONITOR_RTT_BUFFERED:
description: >
Enables buffering when using monitor interface over RTT. The data
are written to RTT once complete packet is created in intermediate
buffer. This allows to skip complete packet if there is not enough
space in RTT buffer (e.g. there is no reader connected). If disabled,
monitor will simply block waiting for RTT to free space in buffer.
value: 1
BLE_MONITOR_CONSOLE_BUFFER_SIZE:
description: >
Size of internal buffer for console output. Any line exceeding this
length value will be split.
value: 128
# L2CAP settings.
BLE_L2CAP_MAX_CHANS:
description: >
The number of L2CAP channels to allocate. The default value allows
for the signal, ATT, and SM channels for each connection.
value: '3*MYNEWT_VAL_BLE_MAX_CONNECTIONS'
BLE_L2CAP_SIG_MAX_PROCS:
description: >
The maximum number of concurrent L2CAP signal procedures.
value: 1
BLE_L2CAP_JOIN_RX_FRAGS:
description: >
Whether to collapse incoming L2CAP fragments into a minimal set of
mbufs.
1: Slower, more memory efficient.
0: Faster, less memory efficient.
value: 1
BLE_L2CAP_RX_FRAG_TIMEOUT:
description: >
Expiry time for incoming data packets (ms). If this much time
passes since the previous fragment was received, the connection is
terminated. A value of 0 means no timeout.
value: 30000
BLE_L2CAP_COC_MAX_NUM:
description: >
Defines maximum number of LE Connection Oriented Channels channels.
When set to (0), LE COC is not compiled in.
value: 0
BLE_L2CAP_COC_MPS:
description: >
Defines the MPS of L2CAP COC module. This is actually NimBLE's internal
L2CAP MTU. The default MPS size is chosen in a way, that the MPS plus
the required HCI and L2CAP headers fit into the smallest available
MSYS blocks.
value: 'MYNEWT_VAL_MSYS_1_BLOCK_SIZE-8'
BLE_L2CAP_ENHANCED_COC:
description: >
Enables LE Enhanced CoC mode.
value: 0
restrictions:
- '(BLE_L2CAP_COC_MAX_NUM > 0) && (BLE_VERSION >= 52) if 1'
# Security manager settings.
BLE_SM_LEGACY:
description: 'Security manager legacy pairing.'
value: 1
BLE_SM_SC:
description: 'Security manager secure connections (4.2).'
value: 0
BLE_SM_MAX_PROCS:
description: >
The maximum number of concurrent security manager procedures.
value: 1
BLE_SM_IO_CAP:
description: >
The IO capabilities to report during pairing. Valid values are:
BLE_HS_IO_DISPLAY_ONLY
BLE_HS_IO_DISPLAY_YESNO
BLE_HS_IO_KEYBOARD_ONLY
BLE_HS_IO_NO_INPUT_OUTPUT
BLE_HS_IO_KEYBOARD_DISPLAY
value: 'BLE_HS_IO_NO_INPUT_OUTPUT'
BLE_SM_OOB_DATA_FLAG:
description: >
Whether the out-of-band pairing algorithm is advertised. (0/1)
value: 0
BLE_SM_BONDING:
description: >
Enables bonding (persistence and restoration of secure links). (0/1)
value: 0
BLE_SM_MITM:
description: >
Whether man-in-the-middle protection is advertised during
pairing. (0/1)
value: 0
BLE_SM_KEYPRESS:
description: >
Whether keypress support is advertised during pairing. (0/1)
value: 0
BLE_SM_OUR_KEY_DIST:
description: >
A bitmap indicating which keys to distribute during pairing. The
bits are defined as follows:
0x01: BLE_SM_PAIR_KEY_DIST_ENC
0x02: BLE_SM_PAIR_KEY_DIST_ID
0x04: BLE_SM_PAIR_KEY_DIST_SIGN
0x08: BLE_SM_PAIR_KEY_DIST_LINK
value: 0
BLE_SM_THEIR_KEY_DIST:
description: >
A bitmap indicating which keys to accept during pairing. The
bits are defined as follows:
0x01: BLE_SM_PAIR_KEY_DIST_ENC
0x02: BLE_SM_PAIR_KEY_DIST_ID
0x04: BLE_SM_PAIR_KEY_DIST_SIGN
0x08: BLE_SM_PAIR_KEY_DIST_LINK
value: 0
BLE_SM_SC_DEBUG_KEYS:
description: >
Enable SM debug mode. In this mode SM uses predefined DH key pair as
described in Core Specification 5.0, Vol. 3, Part H, 2.3.5.6.1. This
allows to decrypt air traffic easily and thus should be only used
for debugging.
value: 0
# GAP options.
BLE_GAP_MAX_PENDING_CONN_PARAM_UPDATE:
description: >
Controls the number of connection parameter updates that can be pending
simultaneously. Devices with many concurrent connections may need
to increase this value.
value: 1
# Supported GATT procedures. By default:
# o Notify and indicate are enabled;
# o All other procedures are enabled for centrals.
BLE_GATT_DISC_ALL_SVCS:
description: >
Enables the Discover All Primary Services GATT procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_DISC_SVC_UUID:
description: >
Enables the Discover Primary Services by Service UUID GATT
procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_FIND_INC_SVCS:
description: >
Enables the Find Included Services GATT procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_DISC_ALL_CHRS:
description: >
Enables the Discover All Characteristics of a Service GATT
procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_DISC_CHR_UUID:
description: >
Enables the Discover Characteristics by UUID GATT procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_DISC_ALL_DSCS:
description: >
Enables the Discover All Primary Services GATT procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_READ:
description: >
Enables the Read Characteristic Value GATT procedure. (0/1)
(0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_READ_UUID:
description: >
Enables the Read Using Characteristic UUID GATT procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_READ_LONG:
description: >
Enables the Read Long Characteristic Values GATT procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_READ_MULT:
description: >
Enables the Read Multiple Characteristic Values GATT procedure.
(0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_WRITE_NO_RSP:
description: >
Enables the Write Without Response GATT procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_SIGNED_WRITE:
description: >
Enables the Signed Write Without Response GATT procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_WRITE:
description: >
Enables the Write Characteristic Value GATT procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_WRITE_LONG:
description: >
Enables the Write Long Characteristic Values GATT procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_WRITE_RELIABLE:
description: >
Enables the Reliable Writes GATT procedure. (0/1)
value: MYNEWT_VAL_BLE_ROLE_CENTRAL
BLE_GATT_NOTIFY:
description: >
Enables sending and receiving of GATT notifications. (0/1)
value: 1
BLE_GATT_INDICATE:
description: >
Enables sending and receiving of GATT indications. (0/1)
value: 1
# GATT options.
BLE_GATT_READ_MAX_ATTRS:
description: >
The maximum number of attributes that can be read with a single
GATT Read Multiple Characteristic Values procedure. (0/1)
value: 8
BLE_GATT_WRITE_MAX_ATTRS:
description: >
The maximum number of attributes that can be written with a single
GATT Reliable Write procedure. (0/1)
value: 4
BLE_GATT_MAX_PROCS:
description: >
The maximum number of concurrent client GATT procedures. (0/1)
value: 4
BLE_GATT_RESUME_RATE:
description: >
The rate to periodically resume GATT procedures that have stalled
due to memory exhaustion. (0/1) Units are milliseconds. (0/1)
value: 1000
# Supported server ATT commands. (0/1)
BLE_ATT_SVR_FIND_INFO:
description: >
Enables processing of incoming Find Information Request ATT
commands. (0/1)
value: 1
BLE_ATT_SVR_FIND_TYPE:
description: >
Enables processing of incoming Find By Type Value Request ATT
commands. (0/1)
value: 1
BLE_ATT_SVR_READ_TYPE:
description: >
Enables processing of incoming Read By Type Request ATT commands.
(0/1)
value: 1
BLE_ATT_SVR_READ:
description: >
Enables processing of incoming Read Request ATT commands. (0/1)
value: 1
BLE_ATT_SVR_READ_BLOB:
description: >
Enables processing of incoming Read Blob Request ATT commands.
(0/1)
value: 1
BLE_ATT_SVR_READ_MULT:
description: >
Enables processing of incoming Read Multiple Request ATT commands.
(0/1)
value: 1
BLE_ATT_SVR_READ_GROUP_TYPE:
description: >
Enables processing of incoming Read by Group Type Request ATT
commands. (0/1)
value: 1
BLE_ATT_SVR_WRITE:
description: >
Enables processing of incoming Write Request ATT commands. (0/1)
value: 1
BLE_ATT_SVR_WRITE_NO_RSP:
description: >
Enables processing of incoming Write Command ATT commands. (0/1)
value: 1
BLE_ATT_SVR_SIGNED_WRITE:
description: >
Enables processing of incoming Signed Write Command ATT commands.
(0/1)
value: 1
BLE_ATT_SVR_QUEUED_WRITE:
description: >
Enables processing of incoming Prepare Write Request and Execute
Write Request ATT commands. (0/1)
value: 1
BLE_ATT_SVR_NOTIFY:
description: >
Enables processing of incoming Handle Value Notification ATT
commands. (0/1)
value: 1
BLE_ATT_SVR_INDICATE:
description: >
Enables processing of incoming Handle Value Indication ATT
commands. (0/1)
value: 1
# ATT options.
BLE_ATT_PREFERRED_MTU:
description: The preferred MTU to indicate in MTU exchange commands.
value: 256
BLE_ATT_SVR_MAX_PREP_ENTRIES:
description: >
A GATT server uses these when a peer performs a "write long
characteristic values" or "write long characteristic descriptors"
procedure. One of these resources is consumed each time a peer
sends a partial write.
value: 64
BLE_ATT_SVR_QUEUED_WRITE_TMO:
description: >
Expiry time for incoming ATT queued writes (ms). If this much
time passes since the previous prepared write was received, the
connection is terminated. A value of 0 means no timeout.
value: 30000
# Privacy options.
BLE_RPA_TIMEOUT:
description: >
The rate that new random addresses should be generated (seconds).
value: 300
# Store settings.
BLE_STORE_MAX_BONDS:
description: >
Maximum number of bonds that can be persisted. Note: increasing
this value may also require increasing the capacity of the
underlying storage mechanism.
value: 3
BLE_STORE_MAX_CCCDS:
description: >
Maximum number of client characteristic configuration descriptors
that can be persisted. Note: increasing this value may also
require increasing the capacity of the underlying storage
mechanism.
value: 8
BLE_MESH:
description: >
This option enables Bluetooth Mesh support. The specific
features that are available may depend on other features
that have been enabled in the stack, such as GATT support.
value: 0
# Flow control settings.
BLE_HS_FLOW_CTRL:
description: >
Whether to enable host-side flow control. This should only be
enabled in host-only setups (i.e., not combined-host-controller).
value: 0
BLE_HS_FLOW_CTRL_ITVL:
description: >
The interval, in milliseconds, that the host should provide
number-of-completed-packets updates to the controller.
value: 1000
BLE_HS_FLOW_CTRL_THRESH:
description: >
If the number of data buffers available to the controller falls to
this number, immediately send a number-of-completed-packets event.
The free buffer count is calculated as follows:
(total-acl-bufs - bufs-freed-since-last-num-completed-event).
value: 2
BLE_HS_FLOW_CTRL_TX_ON_DISCONNECT:
description: >
If enabled, the host will immediately transmit a
host-number-of-completed-packets command whenever a connection
terminates. This behavior is not required by the standard, but is
a necessary workaround when interfacing with some controllers.
value: 0
BLE_HS_STOP_ON_SHUTDOWN:
description: >
Stops the Bluetooth host when the system shuts down. Stopping
entails aborting all GAP procedures and terminating open
connections.
value: 1
BLE_HS_STOP_ON_SHUTDOWN_TIMEOUT:
description: >
Timeout used in NimBLE's host stop procedure in ms.
value: 2000
BLE_HS_SYSINIT_STAGE:
description: >
Sysinit stage for the NimBLE host.
value: 200
### Log settings.
BLE_HS_LOG_MOD:
description: 'Numeric module ID to use for BLE host log messages.'
value: 4
BLE_HS_LOG_LVL:
description: 'Minimum level for the BLE host log.'
value: 1
syscfg.logs:
BLE_HS_LOG:
module: MYNEWT_VAL(BLE_HS_LOG_MOD)
level: MYNEWT_VAL(BLE_HS_LOG_LVL)
syscfg.vals.BLE_MESH:
BLE_SM_SC: 1

View File

@ -1,29 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/host/util
pkg.description: Supplementary utilities for the NimBLE host
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
pkg.deps:
- nimble/host

View File

@ -1,19 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:

View File

@ -1,30 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble
pkg.description: Generic functionality for the nimble Bluetooth Smart stack; used by both the controller and the host.
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
pkg.deps:
- porting/npl/mynewt
- "@apache-mynewt-core/kernel/os"

View File

@ -1,83 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
# Supported GAP roles. By default, all four roles are enabled.
BLE_ROLE_CENTRAL:
description: 'Enables the Central bluetooth role. (0/1)'
value: 1
BLE_ROLE_PERIPHERAL:
description: 'Enables the Peripheral bluetooth role. (0/1)'
value: 1
BLE_ROLE_BROADCASTER:
description: 'Enables the Broadcaster bluetooth role. (0/1)'
value: 1
BLE_ROLE_OBSERVER:
description: 'Enables the Observer bluetooth role. (0/1)'
value: 1
BLE_MAX_CONNECTIONS:
description: 'The maximum number of concurrent connections.'
value: 1
BLE_MAX_PERIODIC_SYNCS:
description: >
The maximum number of concurrent periodic syncs that can
be created
value: 1
BLE_WHITELIST:
description: >
Enables the BLE whitelist for controlling who to connect to or
accept a connection from. (0/1)
value: 1
BLE_MULTI_ADV_INSTANCES:
description: >
This is the number of multi-advertising instances. This is NOT the
total number of advertising instances. The total number of
advertising instances is this number plus 1 (assuming the device
supports advertising).
value: 0
BLE_EXT_ADV:
description: >
This enables extended advertising feature.
value: 0
BLE_PERIODIC_ADV:
description: >
This enables periodic advertising feature.
value: 0
BLE_PERIODIC_ADV_SYNC_TRANSFER:
description: >
This enables Periodic Advertising Sync Transfer Feature.
value: 0
BLE_EXT_ADV_MAX_SIZE:
description: >
This allows to configure maximum size of advertising data and
scan response data used in LE Advertising Extensions.
Valid range 31-1650.
value: 31
BLE_VERSION:
description: >
This allows to configure supported Bluetooth Core version. Some
features may not be available if version is too low. Version is
integer for easy comparison.
range: 50, 51, 52
value: 50
# Allow periodic sync transfer only if 5.1 or higher
syscfg.restrictions:
- "'BLE_PERIODIC_ADV_SYNC_TRANSFER == 0' || 'BLE_VERSION >= 51'"

View File

@ -1,45 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/transport
pkg.description: Meta-package for NimBLE HCI transport
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
pkg.deps.'BLE_HCI_TRANSPORT == "builtin"':
- nimble/transport/ram
- nimble/controller
pkg.deps.'BLE_HCI_TRANSPORT == "emspi"':
- nimble/transport/emspi
pkg.deps.'BLE_HCI_TRANSPORT == "ram"':
- nimble/transport/ram
pkg.deps.'BLE_HCI_TRANSPORT == "socket"':
- nimble/transport/socket
pkg.deps.'BLE_HCI_TRANSPORT == "uart"':
- nimble/transport/uart
pkg.deps.'BLE_HCI_TRANSPORT == "da1469x"':
- nimble/transport/da1469x

View File

@ -1,36 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
pkg.name: nimble/transport/ram
pkg.description: XXX
pkg.author: "Apache Mynewt <dev@mynewt.apache.org>"
pkg.homepage: "http://mynewt.apache.org/"
pkg.keywords:
- ble
- bluetooth
pkg.deps:
- "@apache-mynewt-core/kernel/os"
- nimble
pkg.apis:
- ble_transport
pkg.init:
ble_hci_ram_init: 'MYNEWT_VAL(BLE_TRANS_RAM_SYSINIT_STAGE)'

View File

@ -1,48 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
BLE_HCI_EVT_HI_BUF_COUNT:
description: 'Number of high-priority event buffers.'
value: 2
BLE_HCI_EVT_LO_BUF_COUNT:
description: 'Number of low-priority event buffers.'
value: 8
BLE_HCI_EVT_BUF_SIZE:
description: 'Size of each event buffer, in bytes.'
value: 70
BLE_ACL_BUF_COUNT:
description: 'The number of ACL data buffers'
value: 4
BLE_ACL_BUF_SIZE:
description: >
This is the maximum size of the data portion of HCI ACL data
packets. It does not include the HCI data header (of 4 bytes).
value: 255
BLE_TRANS_RAM_SYSINIT_STAGE:
description: >
Sysinit stage for the RAM BLE transport.
value: 100
syscfg.vals.BLE_EXT_ADV:
BLE_HCI_EVT_BUF_SIZE: 257

View File

@ -1,68 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
syscfg.defs:
BLE_HCI_TRANSPORT:
description: >
Selects HCI transport to be included in build.
This has virtually the same effect as including package dependency
manually, but it allows to easily override HCI transport package in
application or target settings.
value: builtin
restrictions: $notnull
choices:
- builtin # Built-in NimBLE controller and RAM transport
- custom # Custom transport, has to be included manually by user
- ram # RAM transport
- uart # UART HCI H4 transport
- socket # Socket transport (for native builds)
- emspi # SPI transport for EM Microelectionic controllers
- da1469x # Dialog DA1469x integrated controller
# Deprecated settings
BLE_HCI_TRANSPORT_NIMBLE_BUILTIN:
description: Use BLE_HCI_TRANSPORT instead.
value: 0
deprecated: 1
BLE_HCI_TRANSPORT_EMSPI:
description: Use BLE_HCI_TRANSPORT instead.
value: 0
deprecated: 1
BLE_HCI_TRANSPORT_RAM:
description: Use BLE_HCI_TRANSPORT instead.
value: 0
deprecated: 1
BLE_HCI_TRANSPORT_SOCKET:
description: Use BLE_HCI_TRANSPORT instead.
value: 0
deprecated: 1
BLE_HCI_TRANSPORT_UART:
description: Use BLE_HCI_TRANSPORT instead.
value: 0
deprecated: 1
syscfg.vals.BLE_HCI_TRANSPORT_NIMBLE_BUILTIN:
BLE_HCI_TRANSPORT: builtin
syscfg.vals.BLE_HCI_TRANSPORT_RAM:
BLE_HCI_TRANSPORT: ram
syscfg.vals.BLE_HCI_TRANSPORT_UART:
BLE_HCI_TRANSPORT: uart
syscfg.vals.BLE_HCI_TRANSPORT_SOCKET:
BLE_HCI_TRANSPORT: socket
syscfg.vals.BLE_HCI_TRANSPORT_EMSPI:
BLE_HCI_TRANSPORT: emspi

View File

@ -25,11 +25,12 @@
#ifdef ESP_PLATFORM
#include "freertos/portable.h"
#include "esp_log.h"
portMUX_TYPE ble_port_mutex = portMUX_INITIALIZER_UNLOCKED;
static const char *TAG = "Timer";
#else
#include "nrf.h"
static void *radio_isr_addr;
static void *rng_isr_addr;
static void *rtc0_isr_addr;
@ -450,14 +451,17 @@ void
npl_freertos_callout_deinit(struct ble_npl_callout *co)
{
#if CONFIG_BT_NIMBLE_USE_ESP_TIMER
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_timer_stop(co->handle));
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_timer_delete(co->handle));
if(esp_timer_stop(co->handle))
ESP_LOGW(TAG, "Timer not stopped");
if(esp_timer_delete(co->handle))
ESP_LOGW(TAG, "Timer not deleted");
#else
if (co->handle) {
xTimerDelete(co->handle, portMAX_DELAY);
co->handle = NULL;
}
#endif
memset(co, 0, sizeof(struct ble_npl_callout));
}
ble_npl_error_t
@ -471,11 +475,6 @@ npl_freertos_callout_reset(struct ble_npl_callout *co, ble_npl_time_t ticks)
BaseType_t woken1, woken2, woken3;
if (co->handle == NULL) {
co->handle = xTimerCreate("co", 1, pdFALSE, co, os_callout_timer_cb);
assert(co->handle);
}
if (ticks == 0) {
ticks = 1;
}
@ -548,9 +547,30 @@ npl_freertos_callout_remaining_ticks(struct ble_npl_callout *co,
ble_npl_time_t now)
{
ble_npl_time_t rt;
uint32_t exp;
uint32_t exp = 0;
#if CONFIG_BT_NIMBLE_USE_ESP_TIMER
#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)
uint64_t expiry = 0;
esp_err_t err;
//Fetch expiry time in microseconds
err = esp_timer_get_expiry_time((esp_timer_handle_t)(co->handle), &expiry);
if (err != ESP_OK) {
//Error. Could not fetch the expiry time
return 0;
}
//Convert microseconds to ticks
npl_freertos_time_ms_to_ticks((uint32_t)(expiry / 1000), &exp);
#else
//esp_timer_get_expiry_time() is only available from IDF 5.0 onwards
//Set expiry to 0
exp = 0;
#endif //ESP_IDF_VERSION
#else
exp = xTimerGetExpiryTime(co->handle);
#endif
if (exp > now) {
rt = exp - now;