@@ -658,6 +658,10 @@ static int cmd_scan(const struct shell *shell, size_t argc, char *argv[])
658
658
options &= ~BT_LE_SCAN_OPT_FILTER_DUPLICATE ;
659
659
} else if (!strcmp (arg , "wl" )) {
660
660
options |= BT_LE_SCAN_OPT_FILTER_WHITELIST ;
661
+ } else if (!strcmp (arg , "coded" )) {
662
+ options |= BT_LE_SCAN_OPT_CODED ;
663
+ } else if (!strcmp (arg , "no1m" )) {
664
+ options |= BT_LE_SCAN_OPT_NO_1M ;
661
665
} else {
662
666
shell_help (shell );
663
667
return SHELL_CMD_HELP_PRINTED ;
@@ -1032,6 +1036,35 @@ static int cmd_connect_le(const struct shell *shell, size_t argc, char *argv[])
1032
1036
return err ;
1033
1037
}
1034
1038
1039
+ #if defined(CONFIG_BT_ADV_EXT )
1040
+ u32_t options = 0 ;
1041
+
1042
+ for (size_t argn = 3 ; argn < argc ; argn ++ ) {
1043
+ const char * arg = argv [argn ];
1044
+
1045
+ if (!strcmp (arg , "coded" )) {
1046
+ options |= BT_LE_CONN_OPT_CODED ;
1047
+ } else if (!strcmp (arg , "2m" )) {
1048
+ options |= BT_LE_CONN_OPT_2M ;
1049
+ } else if (!strcmp (arg , "no1m" )) {
1050
+ options |= BT_LE_CONN_OPT_NO_1M ;
1051
+ } else {
1052
+ shell_help (shell );
1053
+ return SHELL_CMD_HELP_PRINTED ;
1054
+ }
1055
+ }
1056
+
1057
+ struct bt_conn_scan_param conn_scan_params = {
1058
+ .options = options ,
1059
+ .interval = BT_GAP_SCAN_FAST_INTERVAL ,
1060
+ .window = BT_GAP_SCAN_FAST_WINDOW ,
1061
+ .interval_coded = 0 ,
1062
+ .window_coded = 0 ,
1063
+ };
1064
+
1065
+ bt_conn_set_scan_params (& conn_scan_params );
1066
+ #endif /* defined(CONFIG_BT_ADV_EXT) */
1067
+
1035
1068
conn = bt_conn_create_le (& addr , BT_LE_CONN_PARAM_DEFAULT );
1036
1069
1037
1070
if (!conn ) {
@@ -1936,6 +1969,35 @@ static int cmd_wl_connect(const struct shell *shell, size_t argc, char *argv[])
1936
1969
int err ;
1937
1970
const char * action = argv [1 ];
1938
1971
1972
+ #if defined(CONFIG_BT_ADV_EXT )
1973
+ u32_t options = 0 ;
1974
+
1975
+ for (size_t argn = 2 ; argn < argc ; argn ++ ) {
1976
+ const char * arg = argv [argn ];
1977
+
1978
+ if (!strcmp (arg , "coded" )) {
1979
+ options |= BT_LE_CONN_OPT_CODED ;
1980
+ } else if (!strcmp (arg , "2m" )) {
1981
+ options |= BT_LE_CONN_OPT_2M ;
1982
+ } else if (!strcmp (arg , "no1m" )) {
1983
+ options |= BT_LE_CONN_OPT_NO_1M ;
1984
+ } else {
1985
+ shell_help (shell );
1986
+ return SHELL_CMD_HELP_PRINTED ;
1987
+ }
1988
+ }
1989
+
1990
+ struct bt_conn_scan_param conn_scan_params = {
1991
+ .options = options ,
1992
+ .interval = BT_GAP_SCAN_FAST_INTERVAL ,
1993
+ .window = BT_GAP_SCAN_FAST_WINDOW ,
1994
+ .interval_coded = 0 ,
1995
+ .window_coded = 0 ,
1996
+ };
1997
+
1998
+ bt_conn_set_scan_params (& conn_scan_params );
1999
+ #endif /* defined(CONFIG_BT_ADV_EXT) */
2000
+
1939
2001
if (!strcmp (action , "on" )) {
1940
2002
err = bt_conn_create_auto_le (BT_LE_CONN_PARAM_DEFAULT );
1941
2003
@@ -2010,6 +2072,14 @@ static int cmd_auth_passkey(const struct shell *shell,
2010
2072
#define HELP_NONE "[none]"
2011
2073
#define HELP_ADDR_LE "<address: XX:XX:XX:XX:XX:XX> <type: (public|random)>"
2012
2074
2075
+ #if defined(CONFIG_BT_ADV_EXT )
2076
+ #define ADV_EXT_SCAN_OPT " [coded] [no1m]"
2077
+ #define ADV_EXT_CONN_OPT " [coded] [2m] [no1m]"
2078
+ #else
2079
+ #define ADV_EXT_SCAN_OPT ""
2080
+ #define ADV_EXT_CONN_OPT ""
2081
+ #endif /* defined(CONFIG_BT_ADV_EXT) */
2082
+
2013
2083
SHELL_STATIC_SUBCMD_SET_CREATE (bt_cmds ,
2014
2084
SHELL_CMD_ARG (init , NULL , HELP_ADDR_LE , cmd_init , 1 , 0 ),
2015
2085
#if defined(CONFIG_BT_HCI )
@@ -2023,8 +2093,9 @@ SHELL_STATIC_SUBCMD_SET_CREATE(bt_cmds,
2023
2093
SHELL_CMD_ARG (name , NULL , "[name]" , cmd_name , 1 , 1 ),
2024
2094
#if defined(CONFIG_BT_OBSERVER )
2025
2095
SHELL_CMD_ARG (scan , NULL ,
2026
- "<value: on, passive, off> [filter: dups, nodups] [wl]" ,
2027
- cmd_scan , 2 , 2 ),
2096
+ "<value: on, passive, off> [filter: dups, nodups] [wl]"
2097
+ ADV_EXT_SCAN_OPT ,
2098
+ cmd_scan , 2 , 4 ),
2028
2099
#endif /* CONFIG_BT_OBSERVER */
2029
2100
#if defined(CONFIG_BT_BROADCASTER )
2030
2101
SHELL_CMD_ARG (advertise , NULL ,
@@ -2052,7 +2123,8 @@ SHELL_STATIC_SUBCMD_SET_CREATE(bt_cmds,
2052
2123
#endif /* CONFIG_BT_BROADCASTER */
2053
2124
#if defined(CONFIG_BT_CONN )
2054
2125
#if defined(CONFIG_BT_CENTRAL )
2055
- SHELL_CMD_ARG (connect , NULL , HELP_ADDR_LE , cmd_connect_le , 3 , 0 ),
2126
+ SHELL_CMD_ARG (connect , NULL , HELP_ADDR_LE ADV_EXT_CONN_OPT ,
2127
+ cmd_connect_le , 3 , 3 ),
2056
2128
#if !defined (CONFIG_BT_WHITELIST )
2057
2129
SHELL_CMD_ARG (auto - conn , NULL , HELP_ADDR_LE , cmd_auto_conn , 3 , 0 ),
2058
2130
#endif /* !defined(CONFIG_BT_WHITELIST) */
@@ -2094,7 +2166,8 @@ SHELL_STATIC_SUBCMD_SET_CREATE(bt_cmds,
2094
2166
SHELL_CMD_ARG (wl - add , NULL , HELP_ADDR_LE , cmd_wl_add , 3 , 0 ),
2095
2167
SHELL_CMD_ARG (wl - rem , NULL , HELP_ADDR_LE , cmd_wl_rem , 3 , 0 ),
2096
2168
SHELL_CMD_ARG (wl - clear , NULL , HELP_NONE , cmd_wl_clear , 1 , 0 ),
2097
- SHELL_CMD_ARG (wl - connect , NULL , "<on, off>" , cmd_wl_connect , 2 , 0 ),
2169
+ SHELL_CMD_ARG (wl - connect , NULL , "<on, off>" ADV_EXT_CONN_OPT ,
2170
+ cmd_wl_connect , 2 , 3 ),
2098
2171
#endif /* defined(CONFIG_BT_WHITELIST) */
2099
2172
#if defined(CONFIG_BT_FIXED_PASSKEY )
2100
2173
SHELL_CMD_ARG (fixed - passkey , NULL , "[passkey]" , cmd_fixed_passkey ,
0 commit comments