Skip to content

Commit f93025b

Browse files
committed
Merge branch 'feat/exposed_gap_service_macros_to_menuconfig_v5.1' into 'release/v5.1'
feat(nimble): Exposed macros used by GAP service to menuconfig (v5.1) See merge request espressif/esp-idf!29505
2 parents fcd6cfd + 74e3970 commit f93025b

File tree

2 files changed

+184
-7
lines changed

2 files changed

+184
-7
lines changed

components/bt/host/nimble/Kconfig.in

+158
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,164 @@ config BT_NIMBLE_BLE_GATT_BLOB_TRANSFER
699699
This option is used when data to be sent is more than 512 bytes. For peripheral role,
700700
BT_NIMBLE_MSYS_1_BLOCK_COUNT needs to be increased according to the need.
701701

702+
menu "GAP Service"
703+
menu "GAP Appearance write permissions"
704+
config BT_NIMBLE_SVC_GAP_APPEAR_WRITE
705+
bool "Write"
706+
default n
707+
help
708+
Enable write permission (BLE_GATT_CHR_F_WRITE)
709+
710+
config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_ENC
711+
depends on BT_NIMBLE_SVC_GAP_APPEAR_WRITE
712+
bool "Write with encryption"
713+
default n
714+
help
715+
Enable write with encryption permission (BLE_GATT_CHR_F_WRITE_ENC)
716+
717+
config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHEN
718+
depends on BT_NIMBLE_SVC_GAP_APPEAR_WRITE
719+
bool "Write with authentication"
720+
default n
721+
help
722+
Enable write with authentication permission (BLE_GATT_CHR_F_WRITE_AUTHEN)
723+
724+
config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHOR
725+
depends on BT_NIMBLE_SVC_GAP_APPEAR_WRITE
726+
bool "Write with authorisation"
727+
default n
728+
help
729+
Enable write with authorisation permission (BLE_GATT_CHR_F_WRITE_AUTHOR)
730+
endmenu
731+
732+
config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM
733+
int
734+
default 0 if !BT_NIMBLE_SVC_GAP_APPEAR_WRITE
735+
default 8 if BT_NIMBLE_SVC_GAP_APPEAR_WRITE
736+
737+
config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC
738+
int
739+
default 0 if !BT_NIMBLE_SVC_GAP_APPEAR_WRITE_ENC
740+
default 4096 if BT_NIMBLE_SVC_GAP_APPEAR_WRITE_ENC
741+
742+
config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN
743+
int
744+
default 0 if !BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHEN
745+
default 8192 if BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHEN
746+
747+
config BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR
748+
int
749+
default 0 if !BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHOR
750+
default 16384 if BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHOR
751+
752+
choice BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION
753+
prompt "GAP Characteristic - Central Address Resolution"
754+
default BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP
755+
help
756+
Weather or not Central Address Resolution characteristic is supported on
757+
the device, and if supported, weather or not Central Address Resolution
758+
is supported.
759+
760+
- Central Address Resolution characteristic not supported
761+
- Central Address Resolution not supported
762+
- Central Address Resolution supported
763+
764+
config BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP
765+
bool "Characteristic not supported"
766+
767+
config BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP
768+
bool "Central Address Resolution not supported"
769+
770+
config BT_NIMBLE_SVC_GAP_CAR_SUPP
771+
bool "Central Address Resolution supported"
772+
endchoice
773+
774+
config BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION
775+
int
776+
default -1 if BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP
777+
default 0 if BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP
778+
default 1 if BT_NIMBLE_SVC_GAP_CAR_SUPP
779+
780+
menu "GAP device name write permissions"
781+
config BT_NIMBLE_SVC_GAP_NAME_WRITE
782+
bool "Write"
783+
default n
784+
help
785+
Enable write permission (BLE_GATT_CHR_F_WRITE)
786+
787+
config BT_NIMBLE_SVC_GAP_NAME_WRITE_ENC
788+
depends on BT_NIMBLE_SVC_GAP_NAME_WRITE
789+
bool "Write with encryption"
790+
default n
791+
help
792+
Enable write with encryption permission (BLE_GATT_CHR_F_WRITE_ENC)
793+
794+
config BT_NIMBLE_SVC_GAP_NAME_WRITE_AUTHEN
795+
depends on BT_NIMBLE_SVC_GAP_NAME_WRITE
796+
bool "Write with authentication"
797+
default n
798+
help
799+
Enable write with authentication permission (BLE_GATT_CHR_F_WRITE_AUTHEN)
800+
801+
config BT_NIMBLE_SVC_GAP_NAME_WRITE_AUTHOR
802+
depends on BT_NIMBLE_SVC_GAP_NAME_WRITE
803+
bool "Write with authorisation"
804+
default n
805+
help
806+
Enable write with authorisation permission (BLE_GATT_CHR_F_WRITE_AUTHOR)
807+
endmenu
808+
809+
config BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM
810+
int
811+
default 0 if !BT_NIMBLE_SVC_GAP_NAME_WRITE
812+
default 8 if BT_NIMBLE_SVC_GAP_NAME_WRITE
813+
814+
config BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC
815+
int
816+
default 0 if !BT_NIMBLE_SVC_GAP_NAME_WRITE_ENC
817+
default 4096 if BT_NIMBLE_SVC_GAP_NAME_WRITE_ENC
818+
819+
config BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN
820+
int
821+
default 0 if !BT_NIMBLE_SVC_GAP_NAME_WRITE_AUTHEN
822+
default 8192 if BT_NIMBLE_SVC_GAP_NAME_WRITE_AUTHEN
823+
824+
config BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR
825+
int
826+
default 0 if !BT_NIMBLE_SVC_GAP_NAME_WRITE_AUTHOR
827+
default 16384 if BT_NIMBLE_SVC_GAP_NAME_WRITE_AUTHOR
828+
829+
config BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL
830+
int "PPCP Connection Interval Max (Unit: 1.25 ms)"
831+
depends on BT_NIMBLE_ROLE_PERIPHERAL
832+
default 0
833+
help
834+
Peripheral Preferred Connection Parameter: Connection Interval maximum value
835+
Interval Max = value * 1.25 ms
836+
837+
config BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL
838+
int "PPCP Connection Interval Min (Unit: 1.25 ms)"
839+
depends on BT_NIMBLE_ROLE_PERIPHERAL
840+
default 0
841+
help
842+
Peripheral Preferred Connection Parameter: Connection Interval minimum value
843+
Interval Min = value * 1.25 ms
844+
845+
config BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY
846+
int "PPCP Slave Latency"
847+
default 0
848+
help
849+
Peripheral Preferred Connection Parameter: Slave Latency
850+
851+
config BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO
852+
int "PPCP Supervision Timeout (Uint: 10 ms)"
853+
default 0
854+
help
855+
Peripheral Preferred Connection Parameter: Supervision Timeout
856+
Timeout = Value * 10 ms
857+
858+
endmenu
859+
702860
menu "BLE Services"
703861
menuconfig BT_NIMBLE_HID_SERVICE
704862
bool "HID service"

components/bt/host/nimble/port/include/esp_nimble_cfg.h

+26-7
Original file line numberDiff line numberDiff line change
@@ -1613,11 +1613,19 @@
16131613
#endif
16141614

16151615
#ifndef MYNEWT_VAL_BLE_SVC_GAP_APPEARANCE_WRITE_PERM
1616+
#if CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM
1617+
#define MYNEWT_VAL_BLE_SVC_GAP_APPEARANCE_WRITE_PERM ( \
1618+
CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC | \
1619+
CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN | \
1620+
CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR)
1621+
#else
16161622
#define MYNEWT_VAL_BLE_SVC_GAP_APPEARANCE_WRITE_PERM (-1)
1617-
#endif
1623+
#endif //CONFIG_BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM
1624+
#endif //MYNEWT_VAL_BLE_SVC_GAP_APPEARANCE_WRITE_PERM
16181625

16191626
#ifndef MYNEWT_VAL_BLE_SVC_GAP_CENTRAL_ADDRESS_RESOLUTION
1620-
#define MYNEWT_VAL_BLE_SVC_GAP_CENTRAL_ADDRESS_RESOLUTION (-1)
1627+
#define MYNEWT_VAL_BLE_SVC_GAP_CENTRAL_ADDRESS_RESOLUTION \
1628+
CONFIG_BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION
16211629
#endif
16221630

16231631
#ifndef CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME
@@ -1631,23 +1639,34 @@
16311639
#endif
16321640

16331641
#ifndef MYNEWT_VAL_BLE_SVC_GAP_DEVICE_NAME_WRITE_PERM
1642+
#if CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM
1643+
#define MYNEWT_VAL_BLE_SVC_GAP_DEVICE_NAME_WRITE_PERM ( \
1644+
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC | \
1645+
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN | \
1646+
CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR)
1647+
#else
16341648
#define MYNEWT_VAL_BLE_SVC_GAP_DEVICE_NAME_WRITE_PERM (-1)
1635-
#endif
1649+
#endif //CONFIG_BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM
1650+
#endif //MYNEWT_VAL_BLE_SVC_GAP_DEVICE_NAME_WRITE_PERM
16361651

16371652
#ifndef MYNEWT_VAL_BLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL
1638-
#define MYNEWT_VAL_BLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL (0)
1653+
#define MYNEWT_VAL_BLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL \
1654+
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL
16391655
#endif
16401656

16411657
#ifndef MYNEWT_VAL_BLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL
1642-
#define MYNEWT_VAL_BLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL (0)
1658+
#define MYNEWT_VAL_BLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL \
1659+
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL
16431660
#endif
16441661

16451662
#ifndef MYNEWT_VAL_BLE_SVC_GAP_PPCP_SLAVE_LATENCY
1646-
#define MYNEWT_VAL_BLE_SVC_GAP_PPCP_SLAVE_LATENCY (0)
1663+
#define MYNEWT_VAL_BLE_SVC_GAP_PPCP_SLAVE_LATENCY \
1664+
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY
16471665
#endif
16481666

16491667
#ifndef MYNEWT_VAL_BLE_SVC_GAP_PPCP_SUPERVISION_TMO
1650-
#define MYNEWT_VAL_BLE_SVC_GAP_PPCP_SUPERVISION_TMO (0)
1668+
#define MYNEWT_VAL_BLE_SVC_GAP_PPCP_SUPERVISION_TMO \
1669+
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO
16511670
#endif
16521671

16531672
/*** nimble/transport */

0 commit comments

Comments
 (0)