Skip to content

Commit c88b0a5

Browse files
committed
Update nimble core to esp-nimble @a4cd602
1 parent d869854 commit c88b0a5

File tree

290 files changed

+19461
-7057
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

290 files changed

+19461
-7057
lines changed

src/nimble/LICENSE

+10
Original file line numberDiff line numberDiff line change
@@ -215,3 +215,13 @@ under the following license:
215215
This product bundles tinycrypt, which is available under the "3-clause BSD"
216216
license. For details, and bundled files see:
217217
* ext/tinycrypt/LICENSE
218+
219+
This product bundles and partly derives from parts of the Nordic nRF52 SDK,
220+
which are available under a BSD style license. Relevant files are:
221+
* babblesim/hw/mcu/nordic/nrf52_bsim/src/system_nrf52.c
222+
223+
This product bundles additional files from CMSIS-CORE, but these files are
224+
missing licensing information. The BSD license was subsequently added to
225+
these files in later releases. These files are:
226+
* babblesim/hw/mcu/nordic/nrf52_bsim/include/mcu/cmsis_nvic.h
227+

src/nimble/README.md

+29-5
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,21 @@
2525

2626
## Overview
2727

28-
Apache NimBLE is an open-source Bluetooth 5.1 stack (both Host & Controller)
28+
<a href="https://github.com/apache/mynewt-nimble/actions/workflows/build_targets.yml">
29+
<img src="https://github.com/apache/mynewt-nimble/actions/workflows/build_targets.yml/badge.svg">
30+
<a/>
31+
32+
<a href="https://github.com/apache/mynewt-nimble/actions/workflows/build_ports.yml">
33+
<img src="https://github.com/apache/mynewt-nimble/actions/workflows/build_ports.yml/badge.svg">
34+
<a/>
35+
36+
<a href="https://github.com/apache/mynewt-nimble/actions/workflows/newt_test_all.yml/badge.svg">
37+
<img src="https://github.com/apache/mynewt-nimble/actions/workflows/newt_test_all.yml/badge.svg">
38+
<a/>
39+
40+
<p>
41+
42+
Apache NimBLE is an open-source Bluetooth 5.4 stack (both Host & Controller)
2943
that completely replaces the proprietary SoftDevice on Nordic chipsets. It is
3044
part of [Apache Mynewt project](https://github.com/apache/mynewt-core).
3145

@@ -41,9 +55,9 @@ Feature highlight:
4155

4256
## Supported hardware
4357

44-
Controller supports Nordic nRF51 and nRF52 chipsets. Host runs on any board
45-
and architecture [supported](https://github.com/apache/mynewt-core#overview)
46-
by Apache Mynewt OS.
58+
Controller supports Nordic nRF51, nRF52 and nRF5340 chipsets as well as DA1469x (cmac)
59+
from Renesas. Host runs on any board and architecture
60+
[supported](https://github.com/apache/mynewt-core#overview) by Apache Mynewt OS.
4761

4862

4963
## Browsing
@@ -105,6 +119,16 @@ Implements a simple BLE peripheral that supports the Nordic
105119
UART / Serial Port Emulation service
106120
(https://developer.nordicsemi.com/nRF5_SDK/nRF51_SDK_v8.x.x/doc/8.0.0/s110/html/a00072.html).
107121

122+
## External projects using NimBLE
123+
124+
Several other projects provide support for using NimBLE either by [NPL port](https://github.com/apache/mynewt-nimble/tree/master/porting) or forking:
125+
126+
* [The Espressif ESP-IDF](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/bluetooth/nimble/index.html) contains a NimBLE port for ESP-32 devices.
127+
* [The RIOT](https://doc.riot-os.org/group__pkg__nimble.html) operating system contains a package for using NimBLE.
128+
* [The Open IOT SDK](https://gitlab.arm.com/iot/open-iot-sdk/sdk) contains a NimBLE [port](https://gitlab.arm.com/iot/open-iot-sdk/sdk/-/tree/main/components/bluetooth) based on [CMSIS RTOSv2](https://www.keil.com/pack/doc/CMSIS/RTOS2/html/index.html), which is an RTOS interface implemented by either Amazon Freertos, CMSIS RTX or Azure ThreadX.
129+
130+
If you publish a NimBLE port, please let us know to include it here!
131+
108132
# Getting Help
109133

110134
If you are having trouble using or contributing to Apache Mynewt NimBLE, or just
@@ -114,7 +138,7 @@ want to talk to a human about what you're working on, you can contact us via the
114138
Although not a formal channel, you can also find a number of core developers
115139
on the #mynewt channel on Freenode IRC or #general channel on [Mynewt Slack](https://mynewt.slack.com/join/shared_invite/enQtNjA1MTg0NzgyNzg3LTcyMmZiOGQzOGMxM2U4ODFmMTIwNjNmYTE5Y2UwYjQwZWIxNTE0MTUzY2JmMTEzOWFjYWZkNGM0YmM4MzAxNWQ)
116140

117-
Also, be sure to checkout the [Frequently Asked Questions](https://mynewt.apache.org/faq/answers)
141+
Also, be sure to checkout the [Frequently Asked Questions](https://mynewt.apache.org/latest/mynewt_faq)
118142
for some help troubleshooting first.
119143

120144
# Contributing

src/nimble/RELEASE_NOTES.md

+7-11
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
# RELEASE NOTES
22

3-
20 April 2022 - Apache NimBLE v1.5.0
3+
09 August 2023 - Apache NimBLE v1.6.0
44

55
For full release notes, please visit the
66
[Apache Mynewt Wiki](https://cwiki.apache.org/confluence/display/MYNEWT/Release+Notes).
77

8-
Apache NimBLE is an open-source Bluetooth 5.3 stack (both Host & Controller) that completely
8+
Apache NimBLE is an open-source Bluetooth 5.4 stack (both Host & Controller) that completely
99
replaces the proprietary SoftDevice on Nordic chipsets.
1010

1111
New features in this version of NimBLE include:
1212

13-
* Fake dual-mode option for controller
14-
* LLCP tracing via HCI events
15-
* Code size optimization for disabled GAP roles
16-
* Support for PA/LNA
17-
* LE Secure Connections Only mode
18-
* Support for Bluetooth Core Specification 5.3
19-
* Connection subrating
20-
* BabbleSim support
21-
* Various bugfixes and improvements
13+
* Initial support for ISO broacaster
14+
* Support for Bluetooth Core Specification 5.4
15+
* FEM antenna control
16+
* nRF PHY driver unification
17+
* IPC HCI transport improvements
2218

2319
If working on next-generation RTOS and Bluetooth protocol stack
2420
sounds exciting to you, get in touch, by sending a mail to the Apache Mynewt
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/*
2+
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#ifndef __ESP_NIMBLE_HCI_H__
8+
#define __ESP_NIMBLE_HCI_H__
9+
10+
#include "nimble/nimble/transport/include/nimble/transport.h"
11+
12+
#ifdef __cplusplus
13+
extern "C" {
14+
#endif
15+
16+
#define BLE_HCI_UART_H4_NONE 0x00
17+
#define BLE_HCI_UART_H4_CMD 0x01
18+
#define BLE_HCI_UART_H4_ACL 0x02
19+
#define BLE_HCI_UART_H4_SCO 0x03
20+
#define BLE_HCI_UART_H4_EVT 0x04
21+
22+
/**
23+
* @brief Initialize VHCI transport layer between NimBLE Host and
24+
* ESP Bluetooth controller
25+
*
26+
* This function initializes the transport buffers to be exchanged
27+
* between NimBLE host and ESP controller. It also registers required
28+
* host callbacks with the controller.
29+
*
30+
* @return
31+
* - ESP_OK if the initialization is successful
32+
* - Appropriate error code from esp_err_t in case of an error
33+
*/
34+
esp_err_t esp_nimble_hci_init(void);
35+
36+
/**
37+
* @brief Deinitialize VHCI transport layer between NimBLE Host and
38+
* ESP Bluetooth controller
39+
*
40+
* @note This function should be called after the NimBLE host is deinitialized.
41+
*
42+
* @return
43+
* - ESP_OK if the deinitialization is successful
44+
* - Appropriate error codes from esp_err_t in case of an error
45+
*/
46+
esp_err_t esp_nimble_hci_deinit(void);
47+
48+
#ifdef __cplusplus
49+
}
50+
#endif
51+
52+
#endif /* __ESP_NIMBLE_HCI_H__ */

src/nimble/esp_port/esp-hci/include/esp_compiler.h

-59
This file was deleted.

0 commit comments

Comments
 (0)