Skip to content

Commit 23e5449

Browse files
committed
nano33ble: compatibility with ArduinoBLE via HCI_RAW
1 parent 708ed0c commit 23e5449

File tree

4 files changed

+52
-10
lines changed

4 files changed

+52
-10
lines changed
Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,22 @@
11
CONFIG_BT=y
2-
CONFIG_BT_SMP=y
3-
CONFIG_BT_PERIPHERAL=y
4-
CONFIG_BT_CENTRAL=y
5-
CONFIG_BT_DIS=y
6-
CONFIG_BT_DIS_PNP=n
7-
CONFIG_BT_BAS=y
8-
CONFIG_BT_HRS=y
2+
3+
CONFIG_BT_HCI_RAW=y
4+
CONFIG_BT_HCI_RAW_H4=y
5+
CONFIG_BT_HCI_RAW_H4_ENABLE=y
6+
CONFIG_BT_BUF_ACL_RX_SIZE=255
7+
CONFIG_BT_BUF_CMD_TX_SIZE=255
8+
CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=255
9+
CONFIG_BT_MAX_CONN=4
10+
CONFIG_BT_TINYCRYPT_ECC=n
11+
CONFIG_BT_CTLR_ADV_EXT=y
12+
CONFIG_BT_CTLR_ADV_PERIODIC=y
13+
14+
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048
15+
16+
# Workaround: Unable to allocate command buffer when using K_NO_WAIT since
17+
# Host number of completed commands does not follow normal flow control.
18+
CONFIG_BT_BUF_CMD_TX_COUNT=10
19+
920

1021
CONFIG_USB_DEVICE_STACK=y
1122
CONFIG_USB_DEVICE_PRODUCT="Arduino Nano 33 BLE"
@@ -19,4 +30,17 @@ CONFIG_UART_LINE_CTRL=y
1930
CONFIG_CDC_ACM_DTE_RATE_CALLBACK_SUPPORT=y
2031

2132
CONFIG_ADC=y
22-
CONFIG_PWM=y
33+
CONFIG_PWM=y
34+
35+
CONFIG_LLEXT_STORAGE_WRITABLE=n
36+
CONFIG_SHELL_STACK_SIZE=1024
37+
CONFIG_HEAP_MEM_POOL_SIZE=32000
38+
CONFIG_LLEXT_HEAP_SIZE=96
39+
CONFIG_MAIN_STACK_SIZE=64768
40+
41+
CONFIG_BT_RX_STACK_SIZE=4096
42+
CONFIG_BT_HCI_TX_STACK_SIZE=4096
43+
44+
CONFIG_STACK_USAGE=y
45+
CONFIG_STACK_SENTINEL=n
46+
CONFIG_STACK_CANARIES=y

loader/llext_exports.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include <string.h>
2+
#include <strings.h>
23
#include <zephyr/llext/symbol.h>
34
#include <zephyr/usb/usb_device.h>
45
#include <ctype.h>
@@ -14,6 +15,8 @@ EXPORT_SYMBOL(strrchr);
1415
EXPORT_SYMBOL(strstr);
1516
EXPORT_SYMBOL(strncmp);
1617
EXPORT_SYMBOL(strncpy);
18+
EXPORT_SYMBOL(strcasecmp);
19+
EXPORT_SYMBOL(strtoul);
1720
EXPORT_SYMBOL(strcmp);
1821
EXPORT_SYMBOL(strlen);
1922
EXPORT_SYMBOL(strchr);
@@ -56,6 +59,17 @@ FORCE_EXPORT_SYM(net_dhcpv4_add_option_callback);
5659
FORCE_EXPORT_SYM(net_mgmt_add_event_callback);
5760
#endif
5861

62+
#if defined(CONFIG_BT)
63+
FORCE_EXPORT_SYM(bt_enable_raw);
64+
FORCE_EXPORT_SYM(bt_hci_raw_set_mode);
65+
FORCE_EXPORT_SYM(bt_send);
66+
FORCE_EXPORT_SYM(net_buf_get);
67+
FORCE_EXPORT_SYM(bt_buf_get_tx);
68+
FORCE_EXPORT_SYM(net_buf_simple_pull);
69+
FORCE_EXPORT_SYM(net_buf_simple_add_mem);
70+
FORCE_EXPORT_SYM(net_buf_simple_pull_mem);
71+
FORCE_EXPORT_SYM(net_buf_unref);
72+
#endif
5973

6074
#if defined(CONFIG_NET_SOCKETS)
6175
FORCE_EXPORT_SYM(getaddrinfo);

loader/prj.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ CONFIG_MAIN_STACK_SIZE=32768
1414
CONFIG_ARDUINO_API=n
1515

1616
CONFIG_SHELL=y
17-
CONFIG_SHELL_STACK_SIZE=32768
17+
CONFIG_SHELL_STACK_SIZE=2048
1818
CONFIG_SHELL_CMD_BUFF_SIZE=2048
1919
CONFIG_SHELL_LOG_LEVEL_DBG=n
2020

2121
CONFIG_LLEXT=y
2222
CONFIG_LLEXT_LOG_LEVEL_ERR=y
23-
CONFIG_LLEXT_HEAP_SIZE=64
23+
CONFIG_LLEXT_HEAP_SIZE=32
2424
CONFIG_LLEXT_SHELL=y
2525
CONFIG_LLEXT_STORAGE_WRITABLE=y
2626
CONFIG_LLEXT_EXPORT_DEVICES=y

variants/llext/linker_script.ld

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ SECTIONS {
5353
KEEP(*(.init_array))
5454
}
5555

56+
.fini_array : {
57+
KEEP(*(.fini_array))
58+
}
59+
5660
.symtab : {
5761
KEEP(*(.symtab))
5862
}

0 commit comments

Comments
 (0)