@stoprocent/noble 1.10.3 → 1.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/.github/workflows/build.yml +77 -0
  2. package/.github/workflows/nodepackage.yml +6 -15
  3. package/README.md +13 -23
  4. package/binding.gyp +22 -0
  5. package/examples/advertisement-discovery.js +1 -1
  6. package/examples/cache-gatt-discovery.js +1 -1
  7. package/examples/cache-gatt-reconnect.js +1 -1
  8. package/examples/echo.js +1 -1
  9. package/examples/enter-exit.js +2 -2
  10. package/examples/ext-advertisement-discovery.js +65 -0
  11. package/examples/peripheral-explorer-async.js +1 -1
  12. package/examples/peripheral-explorer.js +1 -1
  13. package/examples/pizza/central.js +1 -1
  14. package/index.d.ts +187 -196
  15. package/index.js +1 -6
  16. package/lib/distributed/bindings.js +33 -33
  17. package/lib/hci-socket/bindings.js +1 -3
  18. package/lib/hci-socket/crypto.js +4 -4
  19. package/lib/hci-socket/gap.js +22 -18
  20. package/lib/hci-socket/gatt.js +4 -4
  21. package/lib/hci-socket/hci.js +3 -3
  22. package/lib/mac/binding.gyp +23 -11
  23. package/lib/noble.js +10 -6
  24. package/lib/peripheral.js +0 -7
  25. package/lib/resolve-bindings.js +39 -3
  26. package/lib/webbluetooth/bindings.js +2 -2
  27. package/lib/websocket/bindings.js +32 -32
  28. package/lib/win/binding.gyp +25 -5
  29. package/lib/win/src/ble_manager.cc +4 -1
  30. package/lib/win/src/ble_manager.h +1 -1
  31. package/lib/win/src/peripheral_winrt.cc +2 -0
  32. package/lib/win/src/radio_watcher.cc +1 -0
  33. package/lib/win/src/winrt_cpp.cc +1 -0
  34. package/package.json +31 -37
  35. package/prebuilds/android-arm/node.napi.armv7.node +0 -0
  36. package/prebuilds/android-arm64/node.napi.armv8.node +0 -0
  37. package/prebuilds/darwin-x64/node.napi.node +0 -0
  38. package/prebuilds/darwin-x64+arm64/node.napi.node +0 -0
  39. package/prebuilds/linux-arm/node.napi.armv6.node +0 -0
  40. package/prebuilds/linux-arm/node.napi.armv7.node +0 -0
  41. package/prebuilds/linux-arm64/node.napi.armv8.node +0 -0
  42. package/prebuilds/linux-x64/node.napi.glibc.node +0 -0
  43. package/prebuilds/linux-x64/node.napi.musl.node +0 -0
  44. package/prebuilds/win32-ia32/node.napi.node +0 -0
  45. package/prebuilds/win32-x64/node.napi.node +0 -0
  46. package/test/lib/distributed/bindings.test.js +15 -15
  47. package/test/lib/hci-socket/gap.test.js +39 -0
  48. package/test/lib/hci-socket/hci.test.js +1 -1
  49. package/test/lib/resolve-bindings.test.js +102 -0
  50. package/test/lib/webbluetooth/bindings.test.js +2 -2
  51. package/test/lib/websocket/bindings.test.js +2 -2
  52. package/test/mocha.setup.js +0 -0
  53. package/test/noble.test.js +12 -11
  54. package/test.custom.js +131 -0
  55. package/test.js +1 -1
  56. package/with-custom-binding.js +6 -0
  57. package/ws-slave.js +10 -10
  58. package/.github/workflows/npm-publish.yml +0 -26
  59. package/lib/hci-uart/bindings.js +0 -569
  60. package/lib/hci-uart/hci-serial-parser.js +0 -70
  61. package/lib/hci-uart/hci.js +0 -1360
  62. package/lib/manufacture.js +0 -46
  63. package/misc/0001-hci-uart-on-usb-cdc.patch +0 -161
  64. package/misc/nrf52840-usb-cdc.hex +0 -8907
  65. package/misc/nrf52840dk.hex +0 -6921
  66. package/misc/prj.conf +0 -43
  67. package/test/lib/manufacture.test.js +0 -77
@@ -1,46 +0,0 @@
1
- const path = require('path');
2
-
3
- const tryRequire = modulePath => {
4
- try {
5
- return require(modulePath);
6
- } catch (e) {
7
- return {};
8
- }
9
- };
10
-
11
- const hexValues = tryRequire('./manufactures-hex.json');
12
- const decValues = tryRequire('./manufactures-dec.json');
13
-
14
- function Manufacture (noble, data) {
15
- this._noble = noble;
16
-
17
- this.name = null;
18
- this.data = data;
19
-
20
- try {
21
- const tmp = JSON.parse(JSON.stringify(data)).data;
22
-
23
- if (Array.isArray(tmp)) {
24
- this.name = decValues[tmp[0]];
25
- }
26
- } catch (e) {
27
- console.error(e);
28
- }
29
- }
30
-
31
- Manufacture.prototype.toString = function () {
32
- return JSON.stringify({
33
- name: this.name,
34
- data: JSON.parse(JSON.stringify(this.data))
35
- });
36
- };
37
-
38
- Manufacture.nameFromHex = function (hexValue) {
39
- return hexValues[hexValue] || undefined;
40
- };
41
-
42
- Manufacture.nameFromDec = function (decValue) {
43
- return decValues[decValue] || undefined;
44
- };
45
-
46
- module.exports = Manufacture;
@@ -1,161 +0,0 @@
1
- From 95f8cb1e22f514092f7e2ffc8e887a26d37cb7cd Mon Sep 17 00:00:00 2001
2
- From: Marek Serafin <marek@snowheads.pl>
3
- Date: Thu, 29 Sep 2022 16:07:07 +0200
4
- Subject: [PATCH] hci uart on usb cdc
5
-
6
- Cleanup UART Example
7
-
8
- config updates
9
- ---
10
- samples/bluetooth/hci_uart/Kconfig | 7 +++
11
- .../boards/nrf52840dk_nrf52840.overlay | 18 +++++--
12
- samples/bluetooth/hci_uart/prj.conf | 54 ++++++++++++++-----
13
- samples/bluetooth/hci_uart/src/main.c | 8 ++-
14
- 4 files changed, 68 insertions(+), 19 deletions(-)
15
- create mode 100644 samples/bluetooth/hci_uart/Kconfig
16
-
17
- diff --git a/samples/bluetooth/hci_uart/Kconfig b/samples/bluetooth/hci_uart/Kconfig
18
- new file mode 100644
19
- index 0000000000..0db92f0403
20
- --- /dev/null
21
- +++ b/samples/bluetooth/hci_uart/Kconfig
22
- @@ -0,0 +1,7 @@
23
- +# Copyright (c) 2019 Nordic Semiconductor ASA
24
- +# SPDX-License-Identifier: Apache-2.0
25
- +
26
- +config USB_DEVICE_PID
27
- + default USB_PID_CDC_ACM_COMPOSITE_SAMPLE
28
- +
29
- +source "Kconfig.zephyr"
30
- diff --git a/samples/bluetooth/hci_uart/boards/nrf52840dk_nrf52840.overlay b/samples/bluetooth/hci_uart/boards/nrf52840dk_nrf52840.overlay
31
- index b3c844493c..580854bc90 100644
32
- --- a/samples/bluetooth/hci_uart/boards/nrf52840dk_nrf52840.overlay
33
- +++ b/samples/bluetooth/hci_uart/boards/nrf52840dk_nrf52840.overlay
34
- @@ -1,8 +1,16 @@
35
- /* SPDX-License-Identifier: Apache-2.0 */
36
-
37
- -&uart0 {
38
- - compatible = "nordic,nrf-uart";
39
- - current-speed = <1000000>;
40
- - status = "okay";
41
- - hw-flow-control;
42
- +/ {
43
- + chosen {
44
- + zephyr,bt-c2h-uart = &cdc_acm_uart0;
45
- + };
46
- };
47
- +
48
- +&zephyr_udc0 {
49
- + cdc_acm_uart0: cdc_acm_uart0 {
50
- + compatible = "zephyr,cdc-acm-uart";
51
- + label = "CDC_ACM_0";
52
- + current-speed = <1000000>;
53
- + hw-flow-control;
54
- + };
55
- +};
56
-
57
- diff --git a/samples/bluetooth/hci_uart/prj.conf b/samples/bluetooth/hci_uart/prj.conf
58
- index bdc73dd68e..41fd4be447 100644
59
- --- a/samples/bluetooth/hci_uart/prj.conf
60
- +++ b/samples/bluetooth/hci_uart/prj.conf
61
- @@ -1,23 +1,51 @@
62
- -CONFIG_CONSOLE=n
63
- +CONFIG_CONSOLE=y
64
- CONFIG_STDOUT_CONSOLE=n
65
- CONFIG_UART_CONSOLE=n
66
- CONFIG_GPIO=y
67
- CONFIG_SERIAL=y
68
- -CONFIG_UART_INTERRUPT_DRIVEN=y
69
- CONFIG_BT=y
70
- CONFIG_BT_HCI_RAW=y
71
- CONFIG_BT_HCI_RAW_H4=y
72
- CONFIG_BT_HCI_RAW_H4_ENABLE=y
73
- -CONFIG_BT_BUF_ACL_RX_SIZE=255
74
- -CONFIG_BT_BUF_CMD_TX_SIZE=255
75
- -CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=255
76
- +CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=251
77
- CONFIG_BT_CTLR_ASSERT_HANDLER=y
78
- -CONFIG_BT_MAX_CONN=16
79
- -CONFIG_BT_TINYCRYPT_ECC=n
80
- +CONFIG_BT_MAX_CONN=5
81
- +CONFIG_BT_CTLR_DTM_HCI=y
82
- +CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048
83
- +CONFIG_USE_SEGGER_RTT=y
84
- +CONFIG_RTT_CONSOLE=y
85
- +CONFIG_LOG=y
86
- +CONFIG_BT_BUF_CMD_TX_COUNT=40
87
- +CONFIG_BT_BUF_ACL_RX_COUNT=40
88
- +CONFIG_BT_BUF_ACL_TX_COUNT=80
89
- +CONFIG_BT_BUF_EVT_RX_COUNT=80
90
- +CONFIG_BT_BUF_ACL_RX_SIZE=1024
91
- +CONFIG_BT_BUF_ACL_TX_SIZE=1024
92
- +CONFIG_BT_BUF_CMD_TX_SIZE=251
93
- +CONFIG_BT_BUF_EVT_RX_SIZE=251
94
- +CONFIG_BT_HCI_TX_STACK_SIZE=1024
95
- +CONFIG_BT_CTLR=y
96
- +CONFIG_BT_LL_SW_SPLIT=y
97
- +CONFIG_BT_CTLR_CRYPTO=y
98
- +CONFIG_BT_CTLR_LE_ENC=y
99
- +CONFIG_BT_CTLR_PRIVACY=y
100
- +CONFIG_BT_CTLR_FILTER_ACCEPT_LIST=y
101
- CONFIG_BT_CTLR_DTM_HCI=y
102
- -
103
- -CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512
104
- -
105
- -# Workaround: Unable to allocate command buffer when using K_NO_WAIT since
106
- -# Host number of completed commands does not follow normal flow control.
107
- -CONFIG_BT_BUF_CMD_TX_COUNT=10
108
- +CONFIG_BT_CTLR_ADVANCED_FEATURES=y
109
- +CONFIG_BT_CTLR_PARAM_CHECK=y
110
- +CONFIG_BT_CTLR_PROFILE_ISR=y
111
- +CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=251
112
- +CONFIG_LOG_BACKEND_RTT_MODE_DROP=n
113
- +CONFIG_BT_CTLR_RX_BUFFERS=18
114
- +CONFIG_BT_CTLR_ASSERT_HANDLER=y
115
- +CONFIG_BT_WAIT_NOP=y
116
- +CONFIG_UART_INTERRUPT_DRIVEN=y
117
- +CONFIG_UART_LINE_CTRL=y
118
- +CONFIG_USB_DEVICE_STACK=y
119
- +CONFIG_USB_DEVICE_PRODUCT="ASSA ABLOY UART HCI Dongle"
120
- +CONFIG_USB_COMPOSITE_DEVICE=y
121
- +CONFIG_USB_CDC_ACM_RINGBUF_SIZE=10240
122
- +CONFIG_USB_DEVICE_LOG_LEVEL_ERR=y
123
- +CONFIG_USB_DRIVER_LOG_LEVEL_ERR=y
124
- +CONFIG_USB_DEVICE_VID=0x2554
125
- +CONFIG_USB_DEVICE_PID=0xD00D
126
- diff --git a/samples/bluetooth/hci_uart/src/main.c b/samples/bluetooth/hci_uart/src/main.c
127
- index a93ab0cf52..b694991529 100644
128
- --- a/samples/bluetooth/hci_uart/src/main.c
129
- +++ b/samples/bluetooth/hci_uart/src/main.c
130
- @@ -19,6 +19,7 @@
131
- #include <zephyr/device.h>
132
- #include <zephyr/init.h>
133
- #include <zephyr/drivers/uart.h>
134
- +#include <zephyr/usb/usb_device.h>
135
-
136
- #include <zephyr/net/buf.h>
137
- #include <zephyr/bluetooth/bluetooth.h>
138
- @@ -185,7 +186,6 @@ static void rx_isr(void)
139
- {
140
- uint8_t discard[H4_DISCARD_LEN];
141
- size_t to_read = MIN(remaining, sizeof(discard));
142
- -
143
- read = h4_read(hci_uart_dev, discard, to_read);
144
- remaining -= read;
145
- if (remaining == 0) {
146
- @@ -351,6 +351,12 @@ void main(void)
147
- static K_FIFO_DEFINE(rx_queue);
148
- int err;
149
-
150
- + err = usb_enable(NULL);
151
- + if (err != 0) {
152
- + LOG_ERR("Failed to enable USB");
153
- + return;
154
- + }
155
- +
156
- LOG_DBG("Start");
157
- __ASSERT(hci_uart_dev, "UART device is NULL");
158
-
159
- --
160
- 2.37.0 (Apple Git-136)
161
-