Skip to content

Commit 74e3970

Browse files
SumeetSingh19rahult-github
authored andcommitted
feat(nimble): Exposed macros used by GAP service to menuconfig (v5.1)
1 parent cac867d commit 74e3970

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
@@ -700,6 +700,164 @@ config BT_NIMBLE_BLE_GATT_BLOB_TRANSFER
700700
This option is used when data to be sent is more than 512 bytes. For peripheral role,
701701
BT_NIMBLE_MSYS_1_BLOCK_COUNT needs to be increased according to the need.
702702

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