| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889 |
- menu Bluetooth
- config BT_ENABLED
- bool "Bluetooth"
- help
- Select this option to enable Bluetooth and show the submenu with Bluetooth configuration choices.
- menu "Bluetooth controller"
- visible if BT_ENABLED
- choice BTDM_CONTROLLER_MODE
- prompt "Bluetooth controller mode (BR/EDR/BLE/DUALMODE)"
- depends on BT_ENABLED
- help
- Specify the bluetooth controller mode (BR/EDR, BLE or dual mode).
- config BTDM_CONTROLLER_MODE_BLE_ONLY
- bool "BLE Only"
- config BTDM_CONTROLLER_MODE_BR_EDR_ONLY
- bool "BR/EDR Only"
- config BTDM_CONTROLLER_MODE_BTDM
- bool "Bluetooth Dual Mode"
- endchoice
- config BTDM_CONTROLLER_BLE_MAX_CONN
- int "BLE Max Connections"
- depends on BTDM_CONTROLLER_MODE_BLE_ONLY || BTDM_CONTROLLER_MODE_BTDM
- default 3
- range 1 9
- help
- BLE maximum connections of bluetooth controller.
- Each connection uses 1KB static DRAM whenever the BT controller is enabled.
- config BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN
- int "BR/EDR ACL Max Connections"
- depends on BTDM_CONTROLLER_MODE_BR_EDR_ONLY || BTDM_CONTROLLER_MODE_BTDM
- default 2
- range 1 7
- help
- BR/EDR ACL maximum connections of bluetooth controller.
- Each connection uses 1.2KB static DRAM whenever the BT controller is enabled.
- config BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN
- int "BR/EDR Sync(SCO/eSCO) Max Connections"
- depends on BTDM_CONTROLLER_MODE_BR_EDR_ONLY || BTDM_CONTROLLER_MODE_BTDM
- default 0
- range 0 3
- help
- BR/EDR Synchronize maximum connections of bluetooth controller.
- Each connection uses 2KB static DRAM whenever the BT controller is enabled.
- choice BTDM_CTRL_BR_EDR_SCO_DATA_PATH
- prompt "BR/EDR Sync(SCO/eSCO) default data path"
- depends on BTDM_CTRL_MODE_BR_EDR_ONLY || BTDM_CTRL_MODE_BTDM
- default BTDM_CTRL_BR_EDR_SCO_DATA_PATH_PCM
- help
- SCO data path, i.e. HCI or PCM.
- SCO data can be sent/received through HCI synchronous packets, or the data
- can be routed to on-chip PCM module on ESP32. PCM input/output signals can
- be "matrixed" to GPIOs. The default data path can also be set using API
- "esp_bredr_sco_datapath_set"
- config BTDM_CTRL_BR_EDR_SCO_DATA_PATH_HCI
- bool "HCI"
- config BTDM_CTRL_BR_EDR_SCO_DATA_PATH_PCM
- bool "PCM"
- endchoice
- config BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF
- int
- default 0 if BTDM_CTRL_BR_EDR_SCO_DATA_PATH_HCI
- default 1 if BTDM_CTRL_BR_EDR_SCO_DATA_PATH_PCM
- default 0
- config BTDM_CTRL_AUTO_LATENCY
- bool "Auto latency"
- depends on BTDM_CONTROLLER_MODE_BTDM
- default n
- help
- BLE auto latency, used to enhance classic BT performance
- while classic BT and BLE are enabled at the same time.
- config BTDM_CTRL_AUTO_LATENCY_EFF
- bool
- default BTDM_CTRL_AUTO_LATENCY if BTDM_CONTROLLER_MODE_BTDM
- default n
- config BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT
- bool "Legacy Authentication Vendor Specific Event Enable"
- depends on BTDM_CONTROLLER_MODE_BR_EDR_ONLY || BTDM_CONTROLLER_MODE_BTDM
- default y
- help
- To protect from BIAS attack during Legacy authentication,
- Legacy authentication Vendor specific event should be enabled
- config BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF
- bool
- default BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT if BTDM_CONTROLLER_MODE_BR_EDR_ONLY || BTDM_CONTROLLER_MODE_BTDM
- default 0
- config BTDM_CONTROLLER_BLE_MAX_CONN_EFF
- int
- default BTDM_CONTROLLER_BLE_MAX_CONN if BTDM_CONTROLLER_MODE_BLE_ONLY || BTDM_CONTROLLER_MODE_BTDM
- default 0
- config BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF
- int
- default BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN if BTDM_CONTROLLER_MODE_BR_EDR_ONLY || BTDM_CONTROLLER_MODE_BTDM # NOERROR
- default 0
- config BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF
- int
- default BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN if BTDM_CONTROLLER_MODE_BR_EDR_ONLY || BTDM_CONTROLLER_MODE_BTDM # NOERROR
- default 0
- choice BTDM_CONTROLLER_PINNED_TO_CORE_CHOICE
- prompt "The cpu core which bluetooth controller run"
- depends on BT_ENABLED && !FREERTOS_UNICORE
- help
- Specify the cpu core to run bluetooth controller.
- Can not specify no-affinity.
- config BTDM_CONTROLLER_PINNED_TO_CORE_0
- bool "Core 0 (PRO CPU)"
- config BTDM_CONTROLLER_PINNED_TO_CORE_1
- bool "Core 1 (APP CPU)"
- depends on !FREERTOS_UNICORE
- endchoice
- config BTDM_CONTROLLER_PINNED_TO_CORE
- int
- default 0 if BTDM_CONTROLLER_PINNED_TO_CORE_0
- default 1 if BTDM_CONTROLLER_PINNED_TO_CORE_1
- default 0
- choice BTDM_CONTROLLER_HCI_MODE_CHOICE
- prompt "HCI mode"
- depends on BT_ENABLED
- help
- Speicify HCI mode as VHCI or UART(H4)
- config BTDM_CONTROLLER_HCI_MODE_VHCI
- bool "VHCI"
- help
- Normal option. Mostly, choose this VHCI when bluetooth host run on ESP32, too.
- config BTDM_CONTROLLER_HCI_MODE_UART_H4
- bool "UART(H4)"
- help
- If use external bluetooth host which run on other hardware and use UART as the HCI interface,
- choose this option.
- endchoice
- menu "HCI UART(H4) Options"
- visible if BTDM_CONTROLLER_HCI_MODE_UART_H4
- config BT_HCI_UART_NO
- int "UART Number for HCI"
- depends on BTDM_CONTROLLER_HCI_MODE_UART_H4
- range 1 2
- default 1
- help
- Uart number for HCI. The available uart is UART1 and UART2.
- config BT_HCI_UART_BAUDRATE
- int "UART Baudrate for HCI"
- depends on BTDM_CONTROLLER_HCI_MODE_UART_H4
- range 115200 921600
- default 921600
- help
- UART Baudrate for HCI. Please use standard baudrate.
- endmenu
- menu "MODEM SLEEP Options"
- visible if BT_ENABLED
- config BTDM_CONTROLLER_MODEM_SLEEP
- bool "Bluetooth modem sleep"
- depends on BT_ENABLED
- default y
- help
- Enable/disable bluetooth controller low power mode.
- choice BTDM_MODEM_SLEEP_MODE
- prompt "Bluetooth Modem sleep mode"
- depends on BTDM_CONTROLLER_MODEM_SLEEP
- help
- To select which strategy to use for modem sleep
- config BTDM_MODEM_SLEEP_MODE_ORIG
- bool "ORIG Mode(sleep with low power clock)"
- help
- ORIG mode is a bluetooth sleep mode that can be used for dual mode controller. In this mode,
- bluetooth controller sleeps between BR/EDR frames and BLE events. A low power clock is used to
- maintain bluetooth reference clock.
- config BTDM_MODEM_SLEEP_MODE_EVED
- bool "EVED Mode(For internal test only)"
- help
- EVED mode is for BLE only and is only for internal test. Do not use it for production. this
- mode is not compatible with DFS nor light sleep
- endchoice
- choice BTDM_LOW_POWER_CLOCK
- prompt "Bluetooth low power clock"
- depends on BTDM_MODEM_SLEEP_MODE_ORIG
- help
- Select the low power clock source for bluetooth controller
- config BTDM_LPCLK_SEL_MAIN_XTAL
- bool "Main crystal"
- help
- Main crystal can be used as low power clock for bluetooth modem sleep. If this option is
- selected, bluetooth modem sleep can work under Dynamic Frequency Scaling(DFS) enabled, but
- cannot work when light sleep is enabled. Main crystal has a relatively better performance than
- other bluetooth low power clock sources.
- config BTDM_LPCLK_SEL_EXT_32K_XTAL
- bool "External 32kHz crystal"
- depends on ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL
- endchoice
- endmenu
- config BLE_SCAN_DUPLICATE
- bool "BLE Scan Duplicate Options"
- depends on (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY)
- default y
- help
- This select enables parameters setting of BLE scan duplicate.
- choice SCAN_DUPLICATE_TYPE
- prompt "Scan Duplicate Type"
- default SCAN_DUPLICATE_BY_DEVICE_ADDR
- depends on BLE_SCAN_DUPLICATE
- help
- Scan duplicate have three ways. one is "Scan Duplicate By Device Address", This way is to use
- advertiser address filtering. The adv packet of the same address is only allowed to be reported once.
- Another way is "Scan Duplicate By Device Address And Advertising Data". This way is to use advertising
- data and device address filtering. All different adv packets with the same address are allowed to be
- reported. The last way is "Scan Duplicate By Advertising Data". This way is to use advertising data
- filtering. All same advertising data only allow to be reported once even though they are from
- different devices.
- config SCAN_DUPLICATE_BY_DEVICE_ADDR
- bool "Scan Duplicate By Device Address"
- help
- This way is to use advertiser address filtering. The adv packet of the same address is only
- allowed to be reported once
- config SCAN_DUPLICATE_BY_ADV_DATA
- bool "Scan Duplicate By Advertising Data"
- help
- This way is to use advertising data filtering. All same advertising data only allow to be reported
- once even though they are from different devices.
- config SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR
- bool "Scan Duplicate By Device Address And Advertising Data"
- help
- This way is to use advertising data and device address filtering. All different adv packets with
- the same address are allowed to be reported.
- endchoice
- config SCAN_DUPLICATE_TYPE
- int
- depends on BLE_SCAN_DUPLICATE
- default 0 if SCAN_DUPLICATE_BY_DEVICE_ADDR
- default 1 if SCAN_DUPLICATE_BY_ADV_DATA
- default 2 if SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR
- default 0
- config DUPLICATE_SCAN_CACHE_SIZE
- int "Maximum number of devices in scan duplicate filter"
- depends on BLE_SCAN_DUPLICATE
- range 10 1000
- default 200
- help
- Maximum number of devices which can be recorded in scan duplicate filter.
- When the maximum amount of device in the filter is reached, the cache will be refreshed.
- config BLE_MESH_SCAN_DUPLICATE_EN
- bool "Special duplicate scan mechanism for BLE Mesh scan"
- depends on BLE_SCAN_DUPLICATE
- default n
- help
- This enables the BLE scan duplicate for special BLE Mesh scan.
- config MESH_DUPLICATE_SCAN_CACHE_SIZE
- int "Maximum number of Mesh adv packets in scan duplicate filter"
- depends on BLE_MESH_SCAN_DUPLICATE_EN
- range 10 1000
- default 200
- help
- Maximum number of adv packets which can be recorded in duplicate scan cache for BLE Mesh.
- When the maximum amount of device in the filter is reached, the cache will be refreshed.
- config BTDM_CONTROLLER_FULL_SCAN_SUPPORTED
- bool "BLE full scan feature supported"
- depends on BTDM_CONTROLLER_MODE_BLE_ONLY || BTDM_CONTROLLER_MODE_BTDM
- default y
- help
- The full scan function is mainly used to provide BLE scan performance.
- This is required for scenes with high scan performance requirements, such as BLE Mesh scenes.
- config BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED
- bool "BLE adv report flow control supported"
- depends on (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY)
- default y
- help
- The function is mainly used to enable flow control for advertising reports. When it is enabled,
- advertising reports will be discarded by the controller if the number of unprocessed advertising
- reports exceeds the size of BLE adv report flow control.
- config BLE_ADV_REPORT_FLOW_CONTROL_NUM
- int "BLE adv report flow control number"
- depends on BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED
- range 50 1000
- default 100
- help
- The number of unprocessed advertising report that Bluedroid can save.If you set
- `BLE_ADV_REPORT_FLOW_CONTROL_NUM` to a small value, this may cause adv packets lost.
- If you set `BLE_ADV_REPORT_FLOW_CONTROL_NUM` to a large value, Bluedroid may cache a
- lot of adv packets and this may cause system memory run out. For example, if you set
- it to 50, the maximum memory consumed by host is 35 * 50 bytes. Please set
- `BLE_ADV_REPORT_FLOW_CONTROL_NUM` according to your system free memory and handle adv
- packets as fast as possible, otherwise it will cause adv packets lost.
- config BLE_ADV_REPORT_DISCARD_THRSHOLD
- int "BLE adv lost event threshold value"
- depends on BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED
- range 1 1000
- default 20
- help
- When adv report flow control is enabled, The ADV lost event will be generated when the number
- of ADV packets lost in the controller reaches this threshold. It is better to set a larger value.
- If you set `BLE_ADV_REPORT_DISCARD_THRSHOLD` to a small value or printf every adv lost event, it
- may cause adv packets lost more.
- endmenu
- menuconfig BLUEDROID_ENABLED
- bool "Bluedroid Enable"
- depends on BTDM_CONTROLLER_HCI_MODE_VHCI
- default y
- help
- This enables the default Bluedroid Bluetooth stack
- choice BLUEDROID_PINNED_TO_CORE_CHOICE
- prompt "The cpu core which Bluedroid run"
- depends on BLUEDROID_ENABLED && !FREERTOS_UNICORE
- help
- Which the cpu core to run Bluedroid. Can choose core0 and core1.
- Can not specify no-affinity.
- config BLUEDROID_PINNED_TO_CORE_0
- bool "Core 0 (PRO CPU)"
- config BLUEDROID_PINNED_TO_CORE_1
- bool "Core 1 (APP CPU)"
- depends on !FREERTOS_UNICORE
- endchoice
- config BLUEDROID_PINNED_TO_CORE
- int
- depends on BLUEDROID_ENABLED
- default 0 if BLUEDROID_PINNED_TO_CORE_0
- default 1 if BLUEDROID_PINNED_TO_CORE_1
- default 0
- config BTC_TASK_STACK_SIZE
- int "Bluetooth event (callback to application) task stack size"
- depends on BLUEDROID_ENABLED
- default 3072
- help
- This select btc task stack size
- config BTU_TASK_STACK_SIZE
- int "Bluetooth Bluedroid Host Stack task stack size"
- depends on BLUEDROID_ENABLED
- default 4096
- help
- This select btu task stack size
- config BLUEDROID_MEM_DEBUG
- bool "Bluedroid memory debug"
- depends on BLUEDROID_ENABLED
- default n
- help
- Bluedroid memory debug
- config CLASSIC_BT_ENABLED
- bool "Classic Bluetooth"
- depends on BLUEDROID_ENABLED
- default n
- help
- For now this option needs "SMP_ENABLE" to be set to yes
- config A2DP_ENABLE
- bool "A2DP"
- depends on CLASSIC_BT_ENABLED
- default n
- help
- Advanced Audio Distrubution Profile
- config A2DP_SINK_TASK_STACK_SIZE
- int "A2DP sink (audio stream decoding) task stack size"
- depends on A2DP_ENABLE
- default 2048
- config A2DP_SOURCE_TASK_STACK_SIZE
- int "A2DP source (audio stream encoding) task stack size"
- depends on A2DP_ENABLE
- default 2048
- config BT_SPP_ENABLED
- bool "SPP"
- depends on CLASSIC_BT_ENABLED
- default n
- help
- This enables the Serial Port Profile
- config HFP_ENABLE
- bool "Hands Free/Handset Profile"
- depends on CLASSIC_BT_ENABLED
- default n
- choice HFP_ROLE
- prompt "Hands-free Profile Role configuration"
- depends on HFP_ENABLE
- config HFP_CLIENT_ENABLE
- bool "Hands Free Unit"
- endchoice
- choice HFP_AUDIO_DATA_PATH
- prompt "audio(SCO) data path"
- depends on HFP_ENABLE
- help
- SCO data path, i.e. HCI or PCM. This option is set using API
- "esp_bredr_sco_datapath_set" in Bluetooth host. Default SCO data
- path can also be set in Bluetooth Controller.
- config HFP_AUDIO_DATA_PATH_PCM
- bool "PCM"
- config HFP_AUDIO_DATA_PATH_HCI
- bool "HCI"
- endchoice
- config BT_SSP_ENABLED
- bool "Secure Simple Pairing"
- depends on CLASSIC_BT_ENABLED
- default y
- help
- This enables the Secure Simple Pairing. If disable this option, Bluedroid will only support Legacy Pairing
- config GATTS_ENABLE
- bool "Include GATT server module(GATTS)"
- depends on BLUEDROID_ENABLED && (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY)
- default y
- help
- This option can be disabled when the app work only on gatt client mode
- config GATTS_BLUFI_ENABLE
- bool "Include blufi function"
- depends on GATTS_ENABLE
- default y
- help
- This option can be close when the app does not require blufi function.
- choice GATTS_SEND_SERVICE_CHANGE_MODE
- prompt "GATTS Service Change Mode"
- default GATTS_SEND_SERVICE_CHANGE_AUTO
- depends on GATTS_ENABLE
- help
- Service change indication mode for GATT Server.
- config GATTS_SEND_SERVICE_CHANGE_MANUAL
- bool "GATTS manually send service change indication"
- help
- Manually send service change indication through API esp_ble_gatts_send_service_change_indication()
- config GATTS_SEND_SERVICE_CHANGE_AUTO
- bool "GATTS automatically send service change indication"
- help
- Let Bluedroid handle the service change indication internally
- endchoice
- config GATTS_SEND_SERVICE_CHANGE_MODE
- int
- depends on GATTS_ENABLE
- default 0 if GATTS_SEND_SERVICE_CHANGE_AUTO
- default 1 if GATTS_SEND_SERVICE_CHANGE_MANUAL
- default 0
- config GATTC_ENABLE
- bool "Include GATT client module(GATTC)"
- depends on BLUEDROID_ENABLED && (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY)
- default y
- help
- This option can be close when the app work only on gatt server mode
- config GATTC_CACHE_NVS_FLASH
- bool "Save gattc cache data to nvs flash"
- depends on GATTC_ENABLE && (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY)
- default n
- help
- This select can save gattc cache data to nvs flash
- config BLE_SMP_ENABLE
- bool "Include BLE security module(SMP)"
- depends on BLUEDROID_ENABLED && (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY)
- default y
- help
- This option can be close when the app not used the ble security connect.
- config SMP_SLAVE_CON_PARAMS_UPD_ENABLE
- bool "Slave enable connection parameters update during pairing"
- depends on BLE_SMP_ENABLE
- default n
- help
- In order to reduce the pairing time, slave actively initiates connection parameters update during pairing.
- config BT_STACK_NO_LOG
- bool "Disable BT debug logs (minimize bin size)"
- depends on BLUEDROID_ENABLED
- default n
- help
- This select can save the rodata code size
- menu "BT DEBUG LOG LEVEL"
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- choice HCI_INITIAL_TRACE_LEVEL
- prompt "HCI layer"
- default HCI_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for HCI layer
- config HCI_TRACE_LEVEL_NONE
- bool "NONE"
- config HCI_TRACE_LEVEL_ERROR
- bool "ERROR"
- config HCI_TRACE_LEVEL_WARNING
- bool "WARNING"
- config HCI_TRACE_LEVEL_API
- bool "API"
- config HCI_TRACE_LEVEL_EVENT
- bool "EVENT"
- config HCI_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config HCI_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config HCI_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if HCI_TRACE_LEVEL_NONE
- default 1 if HCI_TRACE_LEVEL_ERROR
- default 2 if HCI_TRACE_LEVEL_WARNING
- default 3 if HCI_TRACE_LEVEL_API
- default 4 if HCI_TRACE_LEVEL_EVENT
- default 5 if HCI_TRACE_LEVEL_DEBUG
- default 6 if HCI_TRACE_LEVEL_VERBOSE
- default 2
- choice BTM_INITIAL_TRACE_LEVEL
- prompt "BTM layer"
- default BTM_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for BTM layer
- config BTM_TRACE_LEVEL_NONE
- bool "NONE"
- config BTM_TRACE_LEVEL_ERROR
- bool "ERROR"
- config BTM_TRACE_LEVEL_WARNING
- bool "WARNING"
- config BTM_TRACE_LEVEL_API
- bool "API"
- config BTM_TRACE_LEVEL_EVENT
- bool "EVENT"
- config BTM_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config BTM_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config BTM_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if BTM_TRACE_LEVEL_NONE
- default 1 if BTM_TRACE_LEVEL_ERROR
- default 2 if BTM_TRACE_LEVEL_WARNING
- default 3 if BTM_TRACE_LEVEL_API
- default 4 if BTM_TRACE_LEVEL_EVENT
- default 5 if BTM_TRACE_LEVEL_DEBUG
- default 6 if BTM_TRACE_LEVEL_VERBOSE
- default 2
- choice L2CAP_INITIAL_TRACE_LEVEL
- prompt "L2CAP layer"
- default L2CAP_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for L2CAP layer
- config L2CAP_TRACE_LEVEL_NONE
- bool "NONE"
- config L2CAP_TRACE_LEVEL_ERROR
- bool "ERROR"
- config L2CAP_TRACE_LEVEL_WARNING
- bool "WARNING"
- config L2CAP_TRACE_LEVEL_API
- bool "API"
- config L2CAP_TRACE_LEVEL_EVENT
- bool "EVENT"
- config L2CAP_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config L2CAP_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config L2CAP_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if L2CAP_TRACE_LEVEL_NONE
- default 1 if L2CAP_TRACE_LEVEL_ERROR
- default 2 if L2CAP_TRACE_LEVEL_WARNING
- default 3 if L2CAP_TRACE_LEVEL_API
- default 4 if L2CAP_TRACE_LEVEL_EVENT
- default 5 if L2CAP_TRACE_LEVEL_DEBUG
- default 6 if L2CAP_TRACE_LEVEL_VERBOSE
- default 2
- choice RFCOMM_INITIAL_TRACE_LEVEL
- prompt "RFCOMM layer"
- default RFCOMM_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for RFCOMM layer
- config RFCOMM_TRACE_LEVEL_NONE
- bool "NONE"
- config RFCOMM_TRACE_LEVEL_ERROR
- bool "ERROR"
- config RFCOMM_TRACE_LEVEL_WARNING
- bool "WARNING"
- config RFCOMM_TRACE_LEVEL_API
- bool "API"
- config RFCOMM_TRACE_LEVEL_EVENT
- bool "EVENT"
- config RFCOMM_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config RFCOMM_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config RFCOMM_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if RFCOMM_TRACE_LEVEL_NONE
- default 1 if RFCOMM_TRACE_LEVEL_ERROR
- default 2 if RFCOMM_TRACE_LEVEL_WARNING
- default 3 if RFCOMM_TRACE_LEVEL_API
- default 4 if RFCOMM_TRACE_LEVEL_EVENT
- default 5 if RFCOMM_TRACE_LEVEL_DEBUG
- default 6 if RFCOMM_TRACE_LEVEL_VERBOSE
- default 2
- choice SDP_INITIAL_TRACE_LEVEL
- prompt "SDP layer"
- default SDP_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for SDP layer
- config SDP_TRACE_LEVEL_NONE
- bool "NONE"
- config SDP_TRACE_LEVEL_ERROR
- bool "ERROR"
- config SDP_TRACE_LEVEL_WARNING
- bool "WARNING"
- config SDP_TRACE_LEVEL_API
- bool "API"
- config SDP_TRACE_LEVEL_EVENT
- bool "EVENT"
- config SDP_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config SDP_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config SDP_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if SDP_TRACE_LEVEL_NONE
- default 1 if SDP_TRACE_LEVEL_ERROR
- default 2 if SDP_TRACE_LEVEL_WARNING
- default 3 if SDP_TRACE_LEVEL_API
- default 4 if SDP_TRACE_LEVEL_EVENT
- default 5 if SDP_TRACE_LEVEL_DEBUG
- default 6 if SDP_TRACE_LEVEL_VERBOSE
- default 2
- choice GAP_INITIAL_TRACE_LEVEL
- prompt "GAP layer"
- default GAP_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for GAP layer
- config GAP_TRACE_LEVEL_NONE
- bool "NONE"
- config GAP_TRACE_LEVEL_ERROR
- bool "ERROR"
- config GAP_TRACE_LEVEL_WARNING
- bool "WARNING"
- config GAP_TRACE_LEVEL_API
- bool "API"
- config GAP_TRACE_LEVEL_EVENT
- bool "EVENT"
- config GAP_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config GAP_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config GAP_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if GAP_TRACE_LEVEL_NONE
- default 1 if GAP_TRACE_LEVEL_ERROR
- default 2 if GAP_TRACE_LEVEL_WARNING
- default 3 if GAP_TRACE_LEVEL_API
- default 4 if GAP_TRACE_LEVEL_EVENT
- default 5 if GAP_TRACE_LEVEL_DEBUG
- default 6 if GAP_TRACE_LEVEL_VERBOSE
- default 2
- choice BNEP_INITIAL_TRACE_LEVEL
- prompt "BNEP layer"
- default BNEP_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for BNEP layer
- config BNEP_TRACE_LEVEL_NONE
- bool "NONE"
- config BNEP_TRACE_LEVEL_ERROR
- bool "ERROR"
- config BNEP_TRACE_LEVEL_WARNING
- bool "WARNING"
- config BNEP_TRACE_LEVEL_API
- bool "API"
- config BNEP_TRACE_LEVEL_EVENT
- bool "EVENT"
- config BNEP_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config BNEP_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config BNEP_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if BNEP_TRACE_LEVEL_NONE
- default 1 if BNEP_TRACE_LEVEL_ERROR
- default 2 if BNEP_TRACE_LEVEL_WARNING
- default 3 if BNEP_TRACE_LEVEL_API
- default 4 if BNEP_TRACE_LEVEL_EVENT
- default 5 if BNEP_TRACE_LEVEL_DEBUG
- default 6 if BNEP_TRACE_LEVEL_VERBOSE
- default 2
- choice PAN_INITIAL_TRACE_LEVEL
- prompt "PAN layer"
- default PAN_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for PAN layer
- config PAN_TRACE_LEVEL_NONE
- bool "NONE"
- config PAN_TRACE_LEVEL_ERROR
- bool "ERROR"
- config PAN_TRACE_LEVEL_WARNING
- bool "WARNING"
- config PAN_TRACE_LEVEL_API
- bool "API"
- config PAN_TRACE_LEVEL_EVENT
- bool "EVENT"
- config PAN_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config PAN_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config PAN_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if PAN_TRACE_LEVEL_NONE
- default 1 if PAN_TRACE_LEVEL_ERROR
- default 2 if PAN_TRACE_LEVEL_WARNING
- default 3 if PAN_TRACE_LEVEL_API
- default 4 if PAN_TRACE_LEVEL_EVENT
- default 5 if PAN_TRACE_LEVEL_DEBUG
- default 6 if PAN_TRACE_LEVEL_VERBOSE
- default 2
- choice A2D_INITIAL_TRACE_LEVEL
- prompt "A2D layer"
- default A2D_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for A2D layer
- config A2D_TRACE_LEVEL_NONE
- bool "NONE"
- config A2D_TRACE_LEVEL_ERROR
- bool "ERROR"
- config A2D_TRACE_LEVEL_WARNING
- bool "WARNING"
- config A2D_TRACE_LEVEL_API
- bool "API"
- config A2D_TRACE_LEVEL_EVENT
- bool "EVENT"
- config A2D_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config A2D_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config A2D_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if A2D_TRACE_LEVEL_NONE
- default 1 if A2D_TRACE_LEVEL_ERROR
- default 2 if A2D_TRACE_LEVEL_WARNING
- default 3 if A2D_TRACE_LEVEL_API
- default 4 if A2D_TRACE_LEVEL_EVENT
- default 5 if A2D_TRACE_LEVEL_DEBUG
- default 6 if A2D_TRACE_LEVEL_VERBOSE
- default 2
- choice AVDT_INITIAL_TRACE_LEVEL
- prompt "AVDT layer"
- default AVDT_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for AVDT layer
- config AVDT_TRACE_LEVEL_NONE
- bool "NONE"
- config AVDT_TRACE_LEVEL_ERROR
- bool "ERROR"
- config AVDT_TRACE_LEVEL_WARNING
- bool "WARNING"
- config AVDT_TRACE_LEVEL_API
- bool "API"
- config AVDT_TRACE_LEVEL_EVENT
- bool "EVENT"
- config AVDT_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config AVDT_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config AVDT_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if AVDT_TRACE_LEVEL_NONE
- default 1 if AVDT_TRACE_LEVEL_ERROR
- default 2 if AVDT_TRACE_LEVEL_WARNING
- default 3 if AVDT_TRACE_LEVEL_API
- default 4 if AVDT_TRACE_LEVEL_EVENT
- default 5 if AVDT_TRACE_LEVEL_DEBUG
- default 6 if AVDT_TRACE_LEVEL_VERBOSE
- default 2
- choice AVCT_INITIAL_TRACE_LEVEL
- prompt "AVCT layer"
- default AVCT_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for AVCT layer
- config AVCT_TRACE_LEVEL_NONE
- bool "NONE"
- config AVCT_TRACE_LEVEL_ERROR
- bool "ERROR"
- config AVCT_TRACE_LEVEL_WARNING
- bool "WARNING"
- config AVCT_TRACE_LEVEL_API
- bool "API"
- config AVCT_TRACE_LEVEL_EVENT
- bool "EVENT"
- config AVCT_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config AVCT_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config AVCT_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if AVCT_TRACE_LEVEL_NONE
- default 1 if AVCT_TRACE_LEVEL_ERROR
- default 2 if AVCT_TRACE_LEVEL_WARNING
- default 3 if AVCT_TRACE_LEVEL_API
- default 4 if AVCT_TRACE_LEVEL_EVENT
- default 5 if AVCT_TRACE_LEVEL_DEBUG
- default 6 if AVCT_TRACE_LEVEL_VERBOSE
- default 2
- choice AVRC_INITIAL_TRACE_LEVEL
- prompt "AVRC layer"
- default AVRC_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for AVRC layer
- config AVRC_TRACE_LEVEL_NONE
- bool "NONE"
- config AVRC_TRACE_LEVEL_ERROR
- bool "ERROR"
- config AVRC_TRACE_LEVEL_WARNING
- bool "WARNING"
- config AVRC_TRACE_LEVEL_API
- bool "API"
- config AVRC_TRACE_LEVEL_EVENT
- bool "EVENT"
- config AVRC_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config AVRC_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config AVRC_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if AVRC_TRACE_LEVEL_NONE
- default 1 if AVRC_TRACE_LEVEL_ERROR
- default 2 if AVRC_TRACE_LEVEL_WARNING
- default 3 if AVRC_TRACE_LEVEL_API
- default 4 if AVRC_TRACE_LEVEL_EVENT
- default 5 if AVRC_TRACE_LEVEL_DEBUG
- default 6 if AVRC_TRACE_LEVEL_VERBOSE
- default 2
- choice MCA_INITIAL_TRACE_LEVEL
- prompt "MCA layer"
- default MCA_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for MCA layer
- config MCA_TRACE_LEVEL_NONE
- bool "NONE"
- config MCA_TRACE_LEVEL_ERROR
- bool "ERROR"
- config MCA_TRACE_LEVEL_WARNING
- bool "WARNING"
- config MCA_TRACE_LEVEL_API
- bool "API"
- config MCA_TRACE_LEVEL_EVENT
- bool "EVENT"
- config MCA_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config MCA_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config MCA_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if MCA_TRACE_LEVEL_NONE
- default 1 if MCA_TRACE_LEVEL_ERROR
- default 2 if MCA_TRACE_LEVEL_WARNING
- default 3 if MCA_TRACE_LEVEL_API
- default 4 if MCA_TRACE_LEVEL_EVENT
- default 5 if MCA_TRACE_LEVEL_DEBUG
- default 6 if MCA_TRACE_LEVEL_VERBOSE
- default 2
- choice HID_INITIAL_TRACE_LEVEL
- prompt "HID layer"
- default HID_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for HID layer
- config HID_TRACE_LEVEL_NONE
- bool "NONE"
- config HID_TRACE_LEVEL_ERROR
- bool "ERROR"
- config HID_TRACE_LEVEL_WARNING
- bool "WARNING"
- config HID_TRACE_LEVEL_API
- bool "API"
- config HID_TRACE_LEVEL_EVENT
- bool "EVENT"
- config HID_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config HID_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config HID_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if HID_TRACE_LEVEL_NONE
- default 1 if HID_TRACE_LEVEL_ERROR
- default 2 if HID_TRACE_LEVEL_WARNING
- default 3 if HID_TRACE_LEVEL_API
- default 4 if HID_TRACE_LEVEL_EVENT
- default 5 if HID_TRACE_LEVEL_DEBUG
- default 6 if HID_TRACE_LEVEL_VERBOSE
- default 2
- choice APPL_INITIAL_TRACE_LEVEL
- prompt "APPL layer"
- default APPL_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for APPL layer
- config APPL_TRACE_LEVEL_NONE
- bool "NONE"
- config APPL_TRACE_LEVEL_ERROR
- bool "ERROR"
- config APPL_TRACE_LEVEL_WARNING
- bool "WARNING"
- config APPL_TRACE_LEVEL_API
- bool "API"
- config APPL_TRACE_LEVEL_EVENT
- bool "EVENT"
- config APPL_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config APPL_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config APPL_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if APPL_TRACE_LEVEL_NONE
- default 1 if APPL_TRACE_LEVEL_ERROR
- default 2 if APPL_TRACE_LEVEL_WARNING
- default 3 if APPL_TRACE_LEVEL_API
- default 4 if APPL_TRACE_LEVEL_EVENT
- default 5 if APPL_TRACE_LEVEL_DEBUG
- default 6 if APPL_TRACE_LEVEL_VERBOSE
- default 2
- choice GATT_INITIAL_TRACE_LEVEL
- prompt "GATT layer"
- default GATT_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for GATT layer
- config GATT_TRACE_LEVEL_NONE
- bool "NONE"
- config GATT_TRACE_LEVEL_ERROR
- bool "ERROR"
- config GATT_TRACE_LEVEL_WARNING
- bool "WARNING"
- config GATT_TRACE_LEVEL_API
- bool "API"
- config GATT_TRACE_LEVEL_EVENT
- bool "EVENT"
- config GATT_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config GATT_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config GATT_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if GATT_TRACE_LEVEL_NONE
- default 1 if GATT_TRACE_LEVEL_ERROR
- default 2 if GATT_TRACE_LEVEL_WARNING
- default 3 if GATT_TRACE_LEVEL_API
- default 4 if GATT_TRACE_LEVEL_EVENT
- default 5 if GATT_TRACE_LEVEL_DEBUG
- default 6 if GATT_TRACE_LEVEL_VERBOSE
- default 2
- choice SMP_INITIAL_TRACE_LEVEL
- prompt "SMP layer"
- default SMP_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for SMP layer
- config SMP_TRACE_LEVEL_NONE
- bool "NONE"
- config SMP_TRACE_LEVEL_ERROR
- bool "ERROR"
- config SMP_TRACE_LEVEL_WARNING
- bool "WARNING"
- config SMP_TRACE_LEVEL_API
- bool "API"
- config SMP_TRACE_LEVEL_EVENT
- bool "EVENT"
- config SMP_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config SMP_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config SMP_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if SMP_TRACE_LEVEL_NONE
- default 1 if SMP_TRACE_LEVEL_ERROR
- default 2 if SMP_TRACE_LEVEL_WARNING
- default 3 if SMP_TRACE_LEVEL_API
- default 4 if SMP_TRACE_LEVEL_EVENT
- default 5 if SMP_TRACE_LEVEL_DEBUG
- default 6 if SMP_TRACE_LEVEL_VERBOSE
- default 2
- choice BTIF_INITIAL_TRACE_LEVEL
- prompt "BTIF layer"
- default BTIF_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for BTIF layer
- config BTIF_TRACE_LEVEL_NONE
- bool "NONE"
- config BTIF_TRACE_LEVEL_ERROR
- bool "ERROR"
- config BTIF_TRACE_LEVEL_WARNING
- bool "WARNING"
- config BTIF_TRACE_LEVEL_API
- bool "API"
- config BTIF_TRACE_LEVEL_EVENT
- bool "EVENT"
- config BTIF_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config BTIF_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config BTIF_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if BTIF_TRACE_LEVEL_NONE
- default 1 if BTIF_TRACE_LEVEL_ERROR
- default 2 if BTIF_TRACE_LEVEL_WARNING
- default 3 if BTIF_TRACE_LEVEL_API
- default 4 if BTIF_TRACE_LEVEL_EVENT
- default 5 if BTIF_TRACE_LEVEL_DEBUG
- default 6 if BTIF_TRACE_LEVEL_VERBOSE
- default 2
- choice BTC_INITIAL_TRACE_LEVEL
- prompt "BTC layer"
- default BTC_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for BTC layer
- config BTC_TRACE_LEVEL_NONE
- bool "NONE"
- config BTC_TRACE_LEVEL_ERROR
- bool "ERROR"
- config BTC_TRACE_LEVEL_WARNING
- bool "WARNING"
- config BTC_TRACE_LEVEL_API
- bool "API"
- config BTC_TRACE_LEVEL_EVENT
- bool "EVENT"
- config BTC_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config BTC_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config BTC_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if BTC_TRACE_LEVEL_NONE
- default 1 if BTC_TRACE_LEVEL_ERROR
- default 2 if BTC_TRACE_LEVEL_WARNING
- default 3 if BTC_TRACE_LEVEL_API
- default 4 if BTC_TRACE_LEVEL_EVENT
- default 5 if BTC_TRACE_LEVEL_DEBUG
- default 6 if BTC_TRACE_LEVEL_VERBOSE
- default 2
- choice OSI_INITIAL_TRACE_LEVEL
- prompt "OSI layer"
- default OSI_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for OSI layer
- config OSI_TRACE_LEVEL_NONE
- bool "NONE"
- config OSI_TRACE_LEVEL_ERROR
- bool "ERROR"
- config OSI_TRACE_LEVEL_WARNING
- bool "WARNING"
- config OSI_TRACE_LEVEL_API
- bool "API"
- config OSI_TRACE_LEVEL_EVENT
- bool "EVENT"
- config OSI_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config OSI_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config OSI_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if OSI_TRACE_LEVEL_NONE
- default 1 if OSI_TRACE_LEVEL_ERROR
- default 2 if OSI_TRACE_LEVEL_WARNING
- default 3 if OSI_TRACE_LEVEL_API
- default 4 if OSI_TRACE_LEVEL_EVENT
- default 5 if OSI_TRACE_LEVEL_DEBUG
- default 6 if OSI_TRACE_LEVEL_VERBOSE
- default 2
- choice BLUFI_INITIAL_TRACE_LEVEL
- prompt "BLUFI layer"
- default BLUFI_TRACE_LEVEL_WARNING
- depends on BLUEDROID_ENABLED && !BT_STACK_NO_LOG
- help
- Define BT trace level for BLUFI layer
- config BLUFI_TRACE_LEVEL_NONE
- bool "NONE"
- config BLUFI_TRACE_LEVEL_ERROR
- bool "ERROR"
- config BLUFI_TRACE_LEVEL_WARNING
- bool "WARNING"
- config BLUFI_TRACE_LEVEL_API
- bool "API"
- config BLUFI_TRACE_LEVEL_EVENT
- bool "EVENT"
- config BLUFI_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config BLUFI_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config BLUFI_INITIAL_TRACE_LEVEL
- int
- depends on BLUEDROID_ENABLED
- default 0 if BLUFI_TRACE_LEVEL_NONE
- default 1 if BLUFI_TRACE_LEVEL_ERROR
- default 2 if BLUFI_TRACE_LEVEL_WARNING
- default 3 if BLUFI_TRACE_LEVEL_API
- default 4 if BLUFI_TRACE_LEVEL_EVENT
- default 5 if BLUFI_TRACE_LEVEL_DEBUG
- default 6 if BLUFI_TRACE_LEVEL_VERBOSE
- default 2
- endmenu #BT DEBUG LOG LEVEL
- config BT_ACL_CONNECTIONS
- int "BT/BLE MAX ACL CONNECTIONS(1~7)"
- depends on BLUEDROID_ENABLED
- range 1 7
- default 4
- help
- Maximum BT/BLE connection count
- config BT_ALLOCATION_FROM_SPIRAM_FIRST
- bool "BT/BLE will first malloc the memory from the PSRAM"
- depends on BLUEDROID_ENABLED
- default n
- help
- This select can save the internal RAM if there have the PSRAM
- config BT_BLE_DYNAMIC_ENV_MEMORY
- bool "Use dynamic memory allocation in BT/BLE stack"
- depends on BLUEDROID_ENABLED
- default n
- help
- This select can make the allocation of memory will become more flexible
- config BLE_HOST_QUEUE_CONGESTION_CHECK
- bool "BLE queue congestion check"
- depends on BLUEDROID_ENABLED
- default n
- help
- When scanning and scan duplicate is not enabled, if there are a lot of adv packets around or application
- layer handling adv packets is slow, it will cause the controller memory to run out. if enabled, adv
- packets will be lost when host queue is congested.
- config SMP_ENABLE
- bool
- depends on BLUEDROID_ENABLED
- default CLASSIC_BT_ENABLED || BLE_SMP_ENABLE
- config BLE_ACTIVE_SCAN_REPORT_ADV_SCAN_RSP_INDIVIDUALLY
- bool "Report adv data and scan response individually when BLE active scan"
- depends on BLUEDROID_ENABLED && (BTDM_CONTROLLER_MODE_BTDM || BTDM_CONTROLLER_MODE_BLE_ONLY)
- default n
- help
- Originally, when doing BLE active scan, Bluedroid will not report adv to application layer
- until receive scan response. This option is used to disable the behavior. When enable this option,
- Bluedroid will report adv data or scan response to application layer immediately.
- # Memory reserved at start of DRAM for Bluetooth stack
- config BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT
- int "Timeout of BLE connection establishment"
- depends on BLUEDROID_ENABLED
- range 1 60
- default 30
- help
- Bluetooth Connection establishment maximum time, if connection time exceeds this value, the connection
- establishment fails, ESP_GATTC_OPEN_EVT or ESP_GATTS_OPEN_EVT is triggered.
- config BT_RESERVE_DRAM
- hex
- default 0xdb5c if BT_ENABLED
- default 0
- menuconfig NIMBLE_ENABLED
- bool "Enable NimBLE host stack"
- depends on BTDM_CONTROLLER_HCI_MODE_VHCI && !BLUEDROID_ENABLED
- default n
- help
- This enables NimBLE host stack
- choice NIMBLE_MEM_ALLOC_MODE
- prompt "Memory allocation strategy"
- default NIMBLE_MEM_ALLOC_MODE_INTERNAL
- depends on NIMBLE_ENABLED
- help
- Allocation strategy for NimBLE host stack, essentially provides ability to
- allocate all required dynamic allocations from,
- - Internal DRAM memory only
- - External SPIRAM memory only
- - Either internal or external memory based on default malloc()
- behavior in ESP-IDF
- Recommended mode here is always internal, since that is most preferred
- from security perspective. But if application requirement does not
- allow sufficient free internal memory then alternate mode can be
- selected.
- config NIMBLE_MEM_ALLOC_MODE_INTERNAL
- bool "Internal memory"
- config NIMBLE_MEM_ALLOC_MODE_EXTERNAL
- bool "External SPIRAM"
- depends on ESP32_SPIRAM_SUPPORT
- config NIMBLE_MEM_ALLOC_MODE_DEFAULT
- bool "Default alloc mode"
- endchoice
- config NIMBLE_MAX_CONNECTIONS
- int "Maximum number of concurrent connections"
- range 1 9
- default BTDM_CONTROLLER_BLE_MAX_CONN
- depends on NIMBLE_ENABLED
- help
- Defines maximum number of concurrent BLE connections
- config NIMBLE_MAX_BONDS
- int "Maximum number of bonds to save across reboots"
- default 3
- depends on NIMBLE_ENABLED
- help
- Defines maximum number of bonds to save for peer security and our security
- config NIMBLE_MAX_CCCDS
- int "Maximum number of CCC descriptors to save across reboots"
- default 8
- depends on NIMBLE_ENABLED
- help
- Defines maximum number of CCC descriptors to save
- config NIMBLE_L2CAP_COC_MAX_NUM
- int "Maximum number of connection oriented channels"
- range 0 9
- depends on NIMBLE_ENABLED
- default 0
- help
- Defines maximum number of BLE Connection Oriented Channels. When set to (0), BLE COC is not compiled in
- choice NIMBLE_PINNED_TO_CORE_CHOICE
- prompt "The CPU core on which NimBLE host will run"
- depends on NIMBLE_ENABLED && !FREERTOS_UNICORE
- help
- The CPU core on which NimBLE host will run. You can choose Core 0 or Core 1.
- Cannot specify no-affinity
- config NIMBLE_PINNED_TO_CORE_0
- bool "Core 0 (PRO CPU)"
- config NIMBLE_PINNED_TO_CORE_1
- bool "Core 1 (APP CPU)"
- depends on !FREERTOS_UNICORE
- endchoice
- config NIMBLE_PINNED_TO_CORE
- int
- depends on NIMBLE_ENABLED
- default 0 if NIMBLE_PINNED_TO_CORE_0
- default 1 if NIMBLE_PINNED_TO_CORE_1
- default 0
- config NIMBLE_TASK_STACK_SIZE
- int "NimBLE Host task stack size"
- depends on NIMBLE_ENABLED
- default 5120 if BLE_MESH
- default 4096
- help
- This configures stack size of NimBLE host task
- config NIMBLE_ROLE_CENTRAL
- bool "Enable BLE Central role"
- depends on NIMBLE_ENABLED
- default y
- config NIMBLE_ROLE_PERIPHERAL
- bool "Enable BLE Peripheral role"
- depends on NIMBLE_ENABLED
- default y
- config NIMBLE_ROLE_BROADCASTER
- bool "Enable BLE Broadcaster role"
- depends on NIMBLE_ENABLED
- default y
- config NIMBLE_ROLE_OBSERVER
- bool "Enable BLE Observer role"
- depends on NIMBLE_ENABLED
- default y
- config NIMBLE_NVS_PERSIST
- bool "Persist the BLE Bonding keys in NVS"
- depends on NIMBLE_ENABLED
- default y
- help
- Enable this flag to make bonding persistent across device reboots
- config NIMBLE_SM_LEGACY
- bool "Security manager legacy pairing"
- depends on NIMBLE_ENABLED
- default y
- help
- Enable security manager legacy pairing
- config NIMBLE_SM_SC
- bool "Security manager secure connections (4.2)"
- depends on NIMBLE_ENABLED
- default y
- help
- Enable security manager secure connections
- config NIMBLE_DEBUG
- bool "Enable extra runtime asserts and host debugging"
- default n
- depends on NIMBLE_ENABLED
- help
- This enables extra runtime asserts and host debugging
- config NIMBLE_SM_SC_DEBUG_KEYS
- bool "Use predefined public-private key pair"
- default n
- depends on NIMBLE_ENABLED && NIMBLE_SM_SC
- help
- If this option is enabled, SM uses predefined DH key pair as described
- in Core Specification, Vol. 3, Part H, 2.3.5.6.1. This allows to
- decrypt air traffic easily and thus should only be used for debugging.
- config NIMBLE_SVC_GAP_DEVICE_NAME
- string "BLE GAP default device name"
- depends on NIMBLE_ENABLED
- default "nimble"
- help
- The Device Name characteristic shall contain the name of the device as an UTF-8 string.
- This name can be changed by using API ble_svc_gap_device_name_set()
- config NIMBLE_GAP_DEVICE_NAME_MAX_LEN
- int "Maximum length of BLE device name in octets"
- depends on NIMBLE_ENABLED
- default 31
- help
- Device Name characteristic value shall be 0 to 248 octets in length
- config NIMBLE_ATT_PREFERRED_MTU
- int "Preferred MTU size in octets"
- depends on NIMBLE_ENABLED
- default 256
- help
- This is the default value of ATT MTU indicated by the device during an ATT MTU exchange.
- This value can be changed using API ble_att_set_preferred_mtu()
- config NIMBLE_SVC_GAP_APPEARANCE
- hex "External appearance of the device"
- depends on NIMBLE_ENABLED
- default 0
- help
- Standard BLE GAP Appearance value in HEX format e.g. 0x02C0
- config NIMBLE_ACL_BUF_COUNT
- int "ACL Buffer count"
- depends on NIMBLE_ENABLED
- default 12
- help
- The number of ACL data buffers.
- config NIMBLE_ACL_BUF_SIZE
- int "ACL Buffer size"
- depends on NIMBLE_ENABLED
- default 255
- help
- This is the maximum size of the data portion of HCI ACL data packets.
- It does not include the HCI data header (of 4 bytes)
- config NIMBLE_HCI_EVT_BUF_SIZE
- int "HCI Event Buffer size"
- depends on NIMBLE_ENABLED
- default 70
- help
- This is the size of each HCI event buffer in bytes
- config NIMBLE_HCI_EVT_HI_BUF_COUNT
- int "High Priority HCI Event Buffer count"
- depends on NIMBLE_ENABLED
- default 30
- help
- This is the high priority HCI events' buffer size. High-priority
- event buffers are for everything except advertising reports. If there
- are no free high-priority event buffers then host will try to allocate a
- low-priority buffer instead
- config NIMBLE_HCI_EVT_LO_BUF_COUNT
- int "Low Priority HCI Event Buffer count"
- depends on NIMBLE_ENABLED
- default 8
- help
- This is the low priority HCI events' buffer size. Low-priority event
- buffers are only used for advertising reports. If there are no free
- low-priority event buffers, then an incoming advertising report will
- get dropped
- config NIMBLE_MSYS1_BLOCK_COUNT
- int "MSYS_1 Block Count"
- depends on NIMBLE_ENABLED
- default 12
- help
- MSYS is a system level mbuf registry. For prepare write & prepare
- responses MBUFs are allocated out of msys_1 pool. For NIMBLE_MESH
- enabled cases, this block count is increased by 8 than user defined
- count.
- config NIMBLE_HS_FLOW_CTRL
- bool "Enable Host Flow control"
- depends on NIMBLE_ENABLED
- default y
- help
- Enable Host Flow control
- config NIMBLE_HS_FLOW_CTRL_ITVL
- int "Host Flow control interval"
- depends on NIMBLE_HS_FLOW_CTRL
- default 1000
- help
- Host flow control interval in msecs
- config NIMBLE_HS_FLOW_CTRL_THRESH
- int "Host Flow control threshold"
- depends on NIMBLE_HS_FLOW_CTRL
- default 2
- help
- Host flow control threshold, if the number of free buffers are at or
- below this threshold, send an immediate number-of-completed-packets
- event
- config NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT
- bool "Host Flow control on disconnect"
- depends on NIMBLE_HS_FLOW_CTRL
- default y
- help
- Enable this option to send number-of-completed-packets event to
- controller after disconnection
- config NIMBLE_RPA_TIMEOUT
- int "RPA timeout in seconds"
- range 1 41400
- depends on NIMBLE_ENABLED
- default 900
- help
- Time interval between RPA address change. This is applicable in case of
- Host based RPA
- menuconfig NIMBLE_MESH
- bool "Enable BLE mesh functionality"
- select NIMBLE_SM_SC
- depends on NIMBLE_ENABLED
- default n
- help
- Enable BLE Mesh functionality
- config NIMBLE_MESH_PROXY
- bool "Enable mesh proxy functionality"
- default n
- depends on NIMBLE_MESH
- help
- Enable proxy. This is automatically set whenever NIMBLE_MESH_PB_GATT or
- NIMBLE_MESH_GATT_PROXY is set
- config NIMBLE_MESH_PROV
- bool "Enable BLE mesh provisioning"
- default y
- depends on NIMBLE_MESH
- help
- Enable mesh provisioning
- config NIMBLE_MESH_PB_ADV
- bool "Enable mesh provisioning over advertising bearer"
- default y
- depends on NIMBLE_MESH_PROV
- help
- Enable this option to allow the device to be provisioned over
- the advertising bearer
- config NIMBLE_MESH_PB_GATT
- bool "Enable mesh provisioning over GATT bearer"
- default y
- select NIMBLE_MESH_PROXY
- depends on NIMBLE_MESH_PROV
- help
- Enable this option to allow the device to be provisioned over the GATT
- bearer
- config NIMBLE_MESH_GATT_PROXY
- bool "Enable GATT Proxy functionality"
- default y
- select NIMBLE_MESH_PROXY
- depends on NIMBLE_MESH
- help
- This option enables support for the Mesh GATT Proxy Service,
- i.e. the ability to act as a proxy between a Mesh GATT Client
- and a Mesh network
- config NIMBLE_MESH_RELAY
- bool "Enable mesh relay functionality"
- default n
- depends on NIMBLE_MESH
- help
- Support for acting as a Mesh Relay Node
- config NIMBLE_MESH_LOW_POWER
- bool "Enable mesh low power mode"
- default n
- depends on NIMBLE_MESH
- help
- Enable this option to be able to act as a Low Power Node
- config NIMBLE_MESH_FRIEND
- bool "Enable mesh friend functionality"
- default n
- depends on NIMBLE_MESH
- help
- Enable this option to be able to act as a Friend Node
- config NIMBLE_MESH_DEVICE_NAME
- string "Set mesh device name"
- default "nimble-mesh-node"
- depends on NIMBLE_MESH
- help
- This value defines Bluetooth Mesh device/node name
- config NIMBLE_CRYPTO_STACK_MBEDTLS
- bool "Override TinyCrypt with mbedTLS for crypto computations"
- default y
- depends on NIMBLE_ENABLED
- select MBEDTLS_ECP_RESTARTABLE
- select MBEDTLS_CMAC_C
- help
- Enable this option to choose mbedTLS instead of TinyCrypt for crypto
- computations.
- endmenu
- menuconfig BLE_MESH
- bool "ESP BLE Mesh Support"
- help
- This option enables ESP BLE Mesh support. The specific features that are
- available may depend on other features that have been enabled in the
- stack, such as Bluetooth Support, Bluedroid Support & GATT support.
- if BLE_MESH
- config BLE_MESH_HCI_5_0
- bool "Support sending 20ms non-connectable adv packets"
- default y
- help
- It is a temporary solution and needs further modifications.
- config BLE_MESH_USE_DUPLICATE_SCAN
- bool "Support Duplicate Scan in BLE Mesh"
- depends on BLUEDROID_ENABLED
- select BLE_SCAN_DUPLICATE
- select BLE_MESH_SCAN_DUPLICATE_EN
- default y
- help
- Enable this option to allow using specific duplicate scan filter
- in BLE Mesh, and Scan Duplicate Type must be set by choosing the
- option in the Bluetooth Controller section in menuconfig, which is
- "Scan Duplicate By Device Address and Advertising Data".
- choice BLE_MESH_MEM_ALLOC_MODE
- prompt "Memory allocation strategy"
- default BLE_MESH_MEM_ALLOC_MODE_INTERNAL
- help
- Allocation strategy for BLE Mesh stack, essentially provides ability to
- allocate all required dynamic allocations from,
- - Internal DRAM memory only
- - External SPIRAM memory only
- - Either internal or external memory based on default malloc()
- behavior in ESP-IDF
- Recommended mode here is always internal, since that is most preferred
- from security perspective. But if application requirement does not allow
- sufficient free internal memory then alternate mode can be selected.
- config BLE_MESH_MEM_ALLOC_MODE_INTERNAL
- bool "Internal DRAM"
- config BLE_MESH_ALLOC_FROM_PSRAM_FIRST
- bool "External SPIRAM"
- depends on SPIRAM_SUPPORT
- config BLE_MESH_MEM_ALLOC_MODE_DEFAULT
- bool "Default alloc mode"
- depends on SPIRAM_SUPPORT
- help
- Enable this option to use the default memory allocation strategy when
- external SPIRAM is enabled. See the SPIRAM options for more details.
- endchoice # BLE_MESH_MEM_ALLOC_MODE
- config BLE_MESH_FREERTOS_STATIC_ALLOC
- bool "Enable FreeRTOS static allocation"
- depends on SUPPORT_STATIC_ALLOCATION && SPIRAM_SUPPORT
- default n
- help
- Enable this option to use FreeRTOS static allocation APIs for BLE Mesh,
- which provides the ability to use different dynamic memory (i.e. SPIRAM)
- for FreeRTOS objects.
- If this option is disabled, the FreeRTOS static allocation APIs will not
- be used, and internal DRAM will be allocated for FreeRTOS objects.
- choice BLE_MESH_FREERTOS_STATIC_ALLOC_MODE
- prompt "Memory allocation for FreeRTOS objects"
- depends on BLE_MESH_FREERTOS_STATIC_ALLOC
- help
- Choose the memory to be used for FreeRTOS objects.
- config BLE_MESH_FREERTOS_STATIC_ALLOC_EXTERNAL
- bool "External SPIRAM"
- depends on SPIRAM_SUPPORT
- help
- If enabled, BLE Mesh allocates dynamic memory from external SPIRAM for
- FreeRTOS objects, i.e. mutex, queue, and task stack. External SPIRAM
- can only be used for task stack when SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY
- is enabled. See the SPIRAM options for more details.
- endchoice # BLE_MESH_FREERTOS_STATIC_ALLOC_MODE
- config BLE_MESH_DEINIT
- bool "Support de-initialize BLE Mesh stack"
- default y
- help
- If enabled, users can use the function esp_ble_mesh_deinit() to de-initialize
- the whole BLE Mesh stack.
- menu "BLE Mesh and BLE coexistence support"
- config BLE_MESH_SUPPORT_BLE_ADV
- bool "Support sending normal BLE advertising packets"
- default n
- help
- When selected, users can send normal BLE advertising packets
- with specific API.
- if BLE_MESH_SUPPORT_BLE_ADV
- config BLE_MESH_BLE_ADV_BUF_COUNT
- int "Number of advertising buffers for BLE advertising packets"
- default 3
- range 1 255
- help
- Number of advertising buffers for BLE packets available.
- endif # BLE_MESH_SUPPORT_BLE_ADV
- config BLE_MESH_SUPPORT_BLE_SCAN
- bool "Support scanning normal BLE advertising packets"
- default n
- help
- When selected, users can register a callback and receive normal BLE
- advertising packets in the application layer.
- endmenu # BLE Mesh and BLE coexistence support
- config BLE_MESH_FAST_PROV
- bool "Enable BLE Mesh Fast Provisioning"
- select BLE_MESH_NODE
- select BLE_MESH_PROVISIONER
- select BLE_MESH_PB_ADV
- default n
- help
- Enable this option to allow BLE Mesh fast provisioning solution to be used.
- When there are multiple unprovisioned devices around, fast provisioning can
- greatly reduce the time consumption of the whole provisioning process.
- When this option is enabled, and after an unprovisioned device is provisioned
- into a node successfully, it can be changed to a temporary Provisioner.
- config BLE_MESH_NODE
- bool "Support for BLE Mesh Node"
- help
- Enable the device to be provisioned into a node. This option should be
- enabled when an unprovisioned device is going to be provisioned into a
- node and communicate with other nodes in the BLE Mesh network.
- config BLE_MESH_PROVISIONER
- bool "Support for BLE Mesh Provisioner"
- help
- Enable the device to be a Provisioner. The option should be enabled when
- a device is going to act as a Provisioner and provision unprovisioned
- devices into the BLE Mesh network.
- if BLE_MESH_PROVISIONER
- config BLE_MESH_WAIT_FOR_PROV_MAX_DEV_NUM
- int "Maximum number of unprovisioned devices that can be added to device queue"
- default 10
- range 1 100
- help
- This option specifies how many unprovisioned devices can be added to device
- queue for provisioning. Users can use this option to define the size of the
- queue in the bottom layer which is used to store unprovisioned device
- information (e.g. Device UUID, address).
- config BLE_MESH_MAX_PROV_NODES
- int "Maximum number of devices that can be provisioned by Provisioner"
- default 10
- range 1 1000
- help
- This option specifies how many devices can be provisioned by a Provisioner.
- This value indicates the maximum number of unprovisioned devices which can be
- provisioned by a Provisioner. For instance, if the value is 6 then it means the
- Provisioner can provision up to 6 unprovisioned devices.
- Theoretically a Provisioner without the limitation of its memory can provision
- up to 32766 unprovisioned devices, here we limit the maximum number to 100
- just to limit the memory used by a Provisioner. The bigger the value is, the
- more memory it will cost by a Provisioner to store the information of nodes.
- if BLE_MESH_PB_ADV
- config BLE_MESH_PBA_SAME_TIME
- int "Maximum number of PB-ADV running at the same time by Provisioner"
- default 2
- range 1 10
- help
- This option specifies how many devices can be provisioned at the same time
- using PB-ADV. For examples, if the value is 2, it means a Provisioner can
- provision two unprovisioned devices with PB-ADV at the same time.
- endif # BLE_MESH_PB_ADV
- if BLE_MESH_PB_GATT
- config BLE_MESH_PBG_SAME_TIME
- int "Maximum number of PB-GATT running at the same time by Provisioner"
- default 1
- range 1 5
- help
- This option specifies how many devices can be provisioned at the same
- time using PB-GATT. For example, if the value is 2, it means a Provisioner
- can provision two unprovisioned devices with PB-GATT at the same time.
- endif # BLE_MESH_PB_GATT
- config BLE_MESH_PROVISIONER_SUBNET_COUNT
- int "Maximum number of mesh subnets that can be created by Provisioner"
- default 3
- range 1 4096
- help
- This option specifies how many subnets per network a Provisioner can create.
- Indeed, this value decides the number of network keys which can be added by a Provisioner.
- config BLE_MESH_PROVISIONER_APP_KEY_COUNT
- int "Maximum number of application keys that can be owned by Provisioner"
- default 3
- range 1 4096
- help
- This option specifies how many application keys the Provisioner can have.
- Indeed, this value decides the number of the application keys which can be added by a Provisioner.
- config BLE_MESH_PROVISIONER_RECV_HB
- bool "Support receiving Heartbeat messages"
- default n
- help
- When this option is enabled, Provisioner can call specific functions to enable
- or disable receiving Heartbeat messages and notify them to the application layer.
- if BLE_MESH_PROVISIONER_RECV_HB
- config BLE_MESH_PROVISIONER_RECV_HB_FILTER_SIZE
- int "Maximum number of filter entries for receiving Heartbeat messages"
- default 3
- range 1 1000
- help
- This option specifies how many heartbeat filter entries Provisioner supports.
- The heartbeat filter (acceptlist or rejectlist) entries are used to store a
- list of SRC and DST which can be used to decide if a heartbeat message will
- be processed and notified to the application layer by Provisioner.
- Note: The filter is an empty rejectlist by default.
- endif # BLE_MESH_PROVISIONER_RECV_HB
- endif # BLE_MESH_PROVISIONER
- # Virtual option enabled whenever Generic Provisioning layer is needed
- config BLE_MESH_PROV
- bool "BLE Mesh Provisioning support"
- default y
- help
- Enable this option to support BLE Mesh Provisioning functionality. For
- BLE Mesh, this option should be always enabled.
- config BLE_MESH_PB_ADV
- bool "Provisioning support using the advertising bearer (PB-ADV)"
- select BLE_MESH_PROV
- default y
- help
- Enable this option to allow the device to be provisioned over the
- advertising bearer. This option should be enabled if PB-ADV is
- going to be used during provisioning procedure.
- config BLE_MESH_UNPROVISIONED_BEACON_INTERVAL
- int "Interval between two consecutive Unprovisioned Device Beacon"
- depends on BLE_MESH_NODE && BLE_MESH_PB_ADV
- default 5
- default 3 if BLE_MESH_FAST_PROV
- range 1 100
- help
- This option specifies the interval of sending two consecutive unprovisioned
- device beacon, users can use this option to change the frequency of sending
- unprovisioned device beacon. For example, if the value is 5, it means the
- unprovisioned device beacon will send every 5 seconds. When the option of
- BLE_MESH_FAST_PROV is selected, the value is better to be 3 seconds, or less.
- config BLE_MESH_PB_GATT
- bool "Provisioning support using GATT (PB-GATT)"
- select BLE_MESH_PROXY
- select BLE_MESH_PROV
- help
- Enable this option to allow the device to be provisioned over GATT.
- This option should be enabled if PB-GATT is going to be used during
- provisioning procedure.
- # Virtual option enabled whenever any Proxy protocol is needed
- config BLE_MESH_PROXY
- bool "BLE Mesh Proxy protocol support"
- default y
- help
- Enable this option to support BLE Mesh Proxy protocol used by PB-GATT
- and other proxy pdu transmission.
- config BLE_MESH_GATT_PROXY_SERVER
- bool "BLE Mesh GATT Proxy Server"
- select BLE_MESH_PROXY
- depends on BLE_MESH_NODE
- default y
- help
- This option enables support for Mesh GATT Proxy Service, i.e. the
- ability to act as a proxy between a Mesh GATT Client and a Mesh network.
- This option should be enabled if a node is going to be a Proxy Server.
- config BLE_MESH_NODE_ID_TIMEOUT
- int "Node Identity advertising timeout"
- depends on BLE_MESH_GATT_PROXY_SERVER
- range 1 60
- default 60
- help
- This option determines for how long the local node advertises using
- Node Identity. The given value is in seconds. The specification limits
- this to 60 seconds and lists it as the recommended value as well.
- So leaving the default value is the safest option.
- When an unprovisioned device is provisioned successfully and becomes a
- node, it will start to advertise using Node Identity during the time
- set by this option. And after that, Network ID will be advertised.
- config BLE_MESH_PROXY_FILTER_SIZE
- int "Maximum number of filter entries per Proxy Client"
- depends on BLE_MESH_GATT_PROXY_SERVER
- default 4
- range 1 32767
- help
- This option specifies how many Proxy Filter entries the local node supports.
- The entries of Proxy filter (whitelist or blacklist) are used to store a
- list of addresses which can be used to decide which messages will be forwarded
- to the Proxy Client by the Proxy Server.
- config BLE_MESH_GATT_PROXY_CLIENT
- bool "BLE Mesh GATT Proxy Client"
- select BLE_MESH_PROXY
- default n
- help
- This option enables support for Mesh GATT Proxy Client. The Proxy Client
- can use the GATT bearer to send mesh messages to a node that supports the
- advertising bearer.
- config BLE_MESH_NET_BUF_POOL_USAGE
- bool
- default y
- help
- Enable BLE Mesh net buffer pool tracking. This option is used to introduce another
- variable in the bottom layer to record the usage of advertising buffers of BLE Mesh
- devices. Recommend to enable this option as default.
- config BLE_MESH_SETTINGS
- bool "Store BLE Mesh configuration persistently"
- default n
- help
- When selected, the BLE Mesh stack will take care of storing/restoring the BLE
- Mesh configuration persistently in flash.
- If the device is a BLE Mesh node, when this option is enabled, the configuration
- of the device will be stored persistently, including unicast address, NetKey,
- AppKey, etc.
- And if the device is a BLE Mesh Provisioner, the information of the device will
- be stored persistently, including the information of provisioned nodes, NetKey,
- AppKey, etc.
- if BLE_MESH_SETTINGS
- config BLE_MESH_STORE_TIMEOUT
- int "Delay (in seconds) before storing anything persistently"
- range 0 1000000
- default 0
- help
- This value defines in seconds how soon any pending changes are actually
- written into persistent storage (flash) after a change occurs.
- The option allows nodes to delay a certain period of time to save proper
- information to flash. The default value is 0, which means information
- will be stored immediately once there are updates.
- config BLE_MESH_SEQ_STORE_RATE
- int "How often the sequence number gets updated in storage"
- range 0 1000000
- default 0
- help
- This value defines how often the local sequence number gets updated in
- persistent storage (i.e. flash). e.g. a value of 100 means that the
- sequence number will be stored to flash on every 100th increment.
- If the node sends messages very frequently a higher value makes more
- sense, whereas if the node sends infrequently a value as low as 0
- (update storage for every increment) can make sense. When the stack
- gets initialized it will add sequence number to the last stored one,
- so that it starts off with a value that's guaranteed to be larger than
- the last one used before power off.
- config BLE_MESH_RPL_STORE_TIMEOUT
- int "Minimum frequency that the RPL gets updated in storage"
- range 0 1000000
- default 0
- help
- This value defines in seconds how soon the RPL (Replay Protection List)
- gets written to persistent storage after a change occurs. If the node
- receives messages frequently, then a large value is recommended. If the
- node receives messages rarely, then the value can be as low as 0 (which
- means the RPL is written into the storage immediately).
- Note that if the node operates in a security-sensitive case, and there is
- a risk of sudden power-off, then a value of 0 is strongly recommended.
- Otherwise, a power loss before RPL being written into the storage may
- introduce message replay attacks and system security will be in a
- vulnerable state.
- config BLE_MESH_SETTINGS_BACKWARD_COMPATIBILITY
- bool "A specific option for settings backward compatibility"
- depends on BLE_MESH_NODE
- default n
- help
- This option is created to solve the issue of failure in recovering
- node information after mesh stack updates. In the old version mesh
- stack, there is no key of "mesh/role" in nvs. In the new version
- mesh stack, key of "mesh/role" is added in nvs, recovering node
- information needs to check "mesh/role" key in nvs and implements
- selective recovery of mesh node information. Therefore, there may
- be failure in recovering node information during node restarting
- after OTA.
- The new version mesh stack adds the option of "mesh/role" because
- we have added the support of storing Provisioner information, while
- the old version only supports storing node information.
- If users are updating their nodes from old version to new version,
- we recommend enabling this option, so that system could set the flag
- in advance before recovering node information and make sure the node
- information recovering could work as expected.
- config BLE_MESH_SPECIFIC_PARTITION
- bool "Use a specific NVS partition for BLE Mesh"
- default n
- help
- When selected, the mesh stack will use a specified NVS partition instead of
- default NVS partition. Note that the specified partition must be registered
- with NVS using nvs_flash_init_partition() API, and the partition must exists
- in the csv file.
- When Provisioner needs to store a large amount of nodes' information in the
- flash (e.g. more than 20), this option is recommended to be enabled.
- config BLE_MESH_PARTITION_NAME
- string "Name of the NVS partition for BLE Mesh"
- depends on BLE_MESH_SPECIFIC_PARTITION
- default "ble_mesh"
- help
- This value defines the name of the specified NVS partition used by the
- mesh stack.
- config BLE_MESH_USE_MULTIPLE_NAMESPACE
- bool "Support using multiple NVS namespaces by Provisioner"
- depends on BLE_MESH_PROVISIONER
- default n
- help
- When selected, Provisioner can use different NVS namespaces to store
- different instances of mesh information.
- For example, if in the first room, Provisioner uses NetKey A, AppKey
- A and provisions three devices, these information will be treated as
- mesh information instance A. When the Provisioner moves to the second
- room, it uses NetKey B, AppKey B and provisions two devices, then the
- information will be treated as mesh information instance B.
- Here instance A and instance B will be stored in different namespaces.
- With this option enabled, Provisioner needs to use specific functions
- to open the corresponding NVS namespace, restore the mesh information,
- release the mesh information or erase the mesh information.
- config BLE_MESH_MAX_NVS_NAMESPACE
- int "Maximum number of NVS namespaces"
- depends on BLE_MESH_USE_MULTIPLE_NAMESPACE
- default 2
- range 1 255
- help
- This option specifies the maximum NVS namespaces supported by Provisioner.
- endif # if BLE_MESH_SETTINGS
- config BLE_MESH_SUBNET_COUNT
- int "Maximum number of mesh subnets per network"
- default 3
- range 1 4096
- help
- This option specifies how many subnets a Mesh network can have at the same time.
- Indeed, this value decides the number of the network keys which can be owned by a node.
- config BLE_MESH_APP_KEY_COUNT
- int "Maximum number of application keys per network"
- default 3
- range 1 4096
- help
- This option specifies how many application keys the device can store per network.
- Indeed, this value decides the number of the application keys which can be owned by a node.
- config BLE_MESH_MODEL_KEY_COUNT
- int "Maximum number of application keys per model"
- default 3
- range 1 4096
- help
- This option specifies the maximum number of application keys to which each model
- can be bound.
- config BLE_MESH_MODEL_GROUP_COUNT
- int "Maximum number of group address subscriptions per model"
- default 3
- range 1 4096
- help
- This option specifies the maximum number of addresses to which each model can
- be subscribed.
- config BLE_MESH_LABEL_COUNT
- int "Maximum number of Label UUIDs used for Virtual Addresses"
- default 3
- range 0 4096
- help
- This option specifies how many Label UUIDs can be stored.
- Indeed, this value decides the number of the Virtual Addresses can be supported by a node.
- config BLE_MESH_CRPL
- int "Maximum capacity of the replay protection list"
- default 10
- range 2 65535
- help
- This option specifies the maximum capacity of the replay protection list.
- It is similar to Network message cache size, but has a different purpose.
- The replay protection list is used to prevent a node from replay attack,
- which will store the source address and sequence number of the received
- mesh messages.
- For Provisioner, the replay protection list size should not be smaller than
- the maximum number of nodes whose information can be stored. And the element
- number of each node should also be taken into consideration. For example, if
- Provisioner can provision up to 20 nodes and each node contains two elements,
- then the replay protection list size of Provisioner should be at least 40.
- config BLE_MESH_MSG_CACHE_SIZE
- int "Network message cache size"
- default 10
- range 2 65535
- help
- Number of messages that are cached for the network. This helps prevent
- unnecessary decryption operations and unnecessary relays. This option
- is similar to Replay protection list, but has a different purpose.
- A node is not required to cache the entire Network PDU and may cache
- only part of it for tracking, such as values for SRC/SEQ or others.
- config BLE_MESH_ADV_BUF_COUNT
- int "Number of advertising buffers"
- default 60
- range 6 256
- help
- Number of advertising buffers available. The transport layer reserves
- ADV_BUF_COUNT - 3 buffers for outgoing segments. The maximum outgoing
- SDU size is 12 times this value (out of which 4 or 8 bytes are used
- for the Transport Layer MIC). For example, 5 segments means the maximum
- SDU size is 60 bytes, which leaves 56 bytes for application layer data
- using a 4-byte MIC, or 52 bytes using an 8-byte MIC.
- config BLE_MESH_IVU_DIVIDER
- int "Divider for IV Update state refresh timer"
- default 4
- range 2 96
- help
- When the IV Update state enters Normal operation or IV Update
- in Progress, we need to keep track of how many hours has passed
- in the state, since the specification requires us to remain in
- the state at least for 96 hours (Update in Progress has an
- additional upper limit of 144 hours).
- In order to fulfill the above requirement, even if the node might
- be powered off once in a while, we need to store persistently
- how many hours the node has been in the state. This doesn't
- necessarily need to happen every hour (thanks to the flexible
- duration range). The exact cadence will depend a lot on the
- ways that the node will be used and what kind of power source it
- has.
- Since there is no single optimal answer, this configuration
- option allows specifying a divider, i.e. how many intervals
- the 96 hour minimum gets split into. After each interval the
- duration that the node has been in the current state gets
- stored to flash. E.g. the default value of 4 means that the
- state is saved every 24 hours (96 / 4).
- config BLE_MESH_TX_SEG_MSG_COUNT
- int "Maximum number of simultaneous outgoing segmented messages"
- default 1
- range 1 BLE_MESH_ADV_BUF_COUNT
- help
- Maximum number of simultaneous outgoing multi-segment and/or reliable messages.
- The default value is 1, which means the device can only send one segmented
- message at a time. And if another segmented message is going to be sent, it
- should wait for the completion of the previous one.
- If users are going to send multiple segmented messages at the same time, this
- value should be configured properly.
- config BLE_MESH_RX_SEG_MSG_COUNT
- int "Maximum number of simultaneous incoming segmented messages"
- default 1
- range 1 255
- help
- Maximum number of simultaneous incoming multi-segment and/or reliable messages.
- The default value is 1, which means the device can only receive one segmented
- message at a time. And if another segmented message is going to be received,
- it should wait for the completion of the previous one.
- If users are going to receive multiple segmented messages at the same time, this
- value should be configured properly.
- config BLE_MESH_RX_SDU_MAX
- int "Maximum incoming Upper Transport Access PDU length"
- default 384
- range 36 384
- help
- Maximum incoming Upper Transport Access PDU length. Leave this to the default
- value, unless you really need to optimize memory usage.
- config BLE_MESH_TX_SEG_MAX
- int "Maximum number of segments in outgoing messages"
- default 32
- range 2 32
- help
- Maximum number of segments supported for outgoing messages.
- This value should typically be fine-tuned based on what
- models the local node supports, i.e. what's the largest
- message payload that the node needs to be able to send.
- This value affects memory and call stack consumption, which
- is why the default is lower than the maximum that the
- specification would allow (32 segments).
- The maximum outgoing SDU size is 12 times this number (out of
- which 4 or 8 bytes is used for the Transport Layer MIC). For
- example, 5 segments means the maximum SDU size is 60 bytes,
- which leaves 56 bytes for application layer data using a
- 4-byte MIC and 52 bytes using an 8-byte MIC.
- Be sure to specify a sufficient number of advertising buffers
- when setting this option to a higher value. There must be at
- least three more advertising buffers (BLE_MESH_ADV_BUF_COUNT)
- as there are outgoing segments.
- config BLE_MESH_RELAY
- bool "Relay support"
- depends on BLE_MESH_NODE
- default y
- help
- Support for acting as a Mesh Relay Node. Enabling this option will allow
- a node to support the Relay feature, and the Relay feature can still
- be enabled or disabled by proper configuration messages. Disabling this
- option will let a node not support the Relay feature.
- if BLE_MESH_RELAY
- config BLE_MESH_RELAY_ADV_BUF
- bool "Use separate advertising buffers for relay packets"
- default n
- help
- When selected, self-send packets will be put in a high-priority
- queue and relay packets will be put in a low-priority queue.
- if BLE_MESH_RELAY_ADV_BUF
- config BLE_MESH_RELAY_ADV_BUF_COUNT
- int "Number of advertising buffers for relay packets"
- default 60
- range 6 256
- help
- Number of advertising buffers for relay packets available.
- endif # BLE_MESH_RELAY_ADV_BUF
- endif # BLE_MESH_RELAY
- config BLE_MESH_LOW_POWER
- bool "Support for Low Power features"
- depends on BLE_MESH_NODE
- help
- Enable this option to operate as a Low Power Node. If low power consumption
- is required by a node, this option should be enabled. And once the node
- enters the mesh network, it will try to find a Friend node and establish a
- friendship.
- if BLE_MESH_LOW_POWER
- config BLE_MESH_LPN_ESTABLISHMENT
- bool "Perform Friendship establishment using low power"
- default n
- help
- Perform the Friendship establishment using low power with the help of a
- reduced scan duty cycle. The downside of this is that the node may miss
- out on messages intended for it until it has successfully set up Friendship
- with a Friend node.
- When this option is enabled, the node will stop scanning for a period of
- time after a Friend Request or Friend Poll is sent, so as to reduce more
- power consumption.
- config BLE_MESH_LPN_AUTO
- bool "Automatically start looking for Friend nodes once provisioned"
- default n
- help
- Once provisioned, automatically enable LPN functionality and start looking
- for Friend nodes. If this option is disabled LPN mode needs to be manually
- enabled by calling bt_mesh_lpn_set(true).
- When an unprovisioned device is provisioned successfully and becomes a node,
- enabling this option will trigger the node starts to send Friend Request at
- a certain period until it finds a proper Friend node.
- config BLE_MESH_LPN_AUTO_TIMEOUT
- int "Time from last received message before going to LPN mode"
- default 15
- range 0 3600
- depends on BLE_MESH_LPN_AUTO
- help
- Time in seconds from the last received message, that the node waits out
- before starting to look for Friend nodes.
- config BLE_MESH_LPN_RETRY_TIMEOUT
- int "Retry timeout for Friend requests"
- default 6
- range 1 3600
- help
- Time in seconds between Friend Requests, if a previous Friend Request did
- not yield any acceptable Friend Offers.
- config BLE_MESH_LPN_RSSI_FACTOR
- int "RSSIFactor, used in Friend Offer Delay calculation"
- range 0 3
- default 0
- help
- The contribution of the RSSI, measured by the Friend node, used in Friend
- Offer Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5.
- RSSIFactor, one of the parameters carried by Friend Request sent by Low Power
- node, which is used to calculate the Friend Offer Delay.
- config BLE_MESH_LPN_RECV_WIN_FACTOR
- int "ReceiveWindowFactor, used in Friend Offer Delay calculation"
- range 0 3
- default 0
- help
- The contribution of the supported Receive Window used in Friend Offer
- Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5.
- ReceiveWindowFactor, one of the parameters carried by Friend Request sent by
- Low Power node, which is used to calculate the Friend Offer Delay.
- config BLE_MESH_LPN_MIN_QUEUE_SIZE
- int "Minimum size of the acceptable friend queue (MinQueueSizeLog)"
- range 1 7
- default 1
- help
- The MinQueueSizeLog field is defined as log_2(N), where N is the minimum
- number of maximum size Lower Transport PDUs that the Friend node can store
- in its Friend Queue. As an example, MinQueueSizeLog value 1 gives N = 2,
- and value 7 gives N = 128.
- config BLE_MESH_LPN_RECV_DELAY
- int "Receive delay requested by the local node"
- range 10 255
- default 100
- help
- The ReceiveDelay is the time between the Low Power node sending a
- request and listening for a response. This delay allows the Friend
- node time to prepare the response. The value is in units of milliseconds.
- config BLE_MESH_LPN_POLL_TIMEOUT
- int "The value of the PollTimeout timer"
- range 10 244735
- default 300
- help
- PollTimeout timer is used to measure time between two consecutive
- requests sent by a Low Power node. If no requests are received
- the Friend node before the PollTimeout timer expires, then the
- friendship is considered terminated. The value is in units of 100
- milliseconds, so e.g. a value of 300 means 30 seconds.
- The smaller the value, the faster the Low Power node tries to get
- messages from corresponding Friend node and vice versa.
- config BLE_MESH_LPN_INIT_POLL_TIMEOUT
- int "The starting value of the PollTimeout timer"
- range 10 BLE_MESH_LPN_POLL_TIMEOUT
- default BLE_MESH_LPN_POLL_TIMEOUT
- help
- The initial value of the PollTimeout timer when Friendship is to be
- established for the first time. After this, the timeout gradually
- grows toward the actual PollTimeout, doubling in value for each iteration.
- The value is in units of 100 milliseconds, so e.g. a value of 300 means
- 30 seconds.
- config BLE_MESH_LPN_SCAN_LATENCY
- int "Latency for enabling scanning"
- range 0 50
- default 10
- help
- Latency (in milliseconds) is the time it takes to enable scanning. In
- practice, it means how much time in advance of the Receive Window, the
- request to enable scanning is made.
- config BLE_MESH_LPN_GROUPS
- int "Number of groups the LPN can subscribe to"
- range 0 16384
- default 8
- help
- Maximum number of groups to which the LPN can subscribe.
- endif # BLE_MESH_LOW_POWER
- config BLE_MESH_FRIEND
- bool "Support for Friend feature"
- help
- Enable this option to be able to act as a Friend Node.
- if BLE_MESH_FRIEND
- config BLE_MESH_FRIEND_RECV_WIN
- int "Friend Receive Window"
- range 1 255
- default 255
- help
- Receive Window in milliseconds supported by the Friend node.
- config BLE_MESH_FRIEND_QUEUE_SIZE
- int "Minimum number of buffers supported per Friend Queue"
- range 2 65536
- default 16
- help
- Minimum number of buffers available to be stored for each local Friend Queue.
- This option decides the size of each buffer which can be used by a Friend node
- to store messages for each Low Power node.
- config BLE_MESH_FRIEND_SUB_LIST_SIZE
- int "Friend Subscription List Size"
- range 0 1023
- default 3
- help
- Size of the Subscription List that can be supported by a Friend node for a
- Low Power node. And Low Power node can send Friend Subscription List Add or
- Friend Subscription List Remove messages to the Friend node to add or remove
- subscription addresses.
- config BLE_MESH_FRIEND_LPN_COUNT
- int "Number of supported LPN nodes"
- range 1 1000
- default 2
- help
- Number of Low Power Nodes with which a Friend can have Friendship simultaneously.
- A Friend node can have friendship with multiple Low Power nodes at the same time,
- while a Low Power node can only establish friendship with only one Friend node at
- the same time.
- config BLE_MESH_FRIEND_SEG_RX
- int "Number of incomplete segment lists per LPN"
- range 1 1000
- default 1
- help
- Number of incomplete segment lists tracked for each Friends' LPN.
- In other words, this determines from how many elements can segmented
- messages destined for the Friend queue be received simultaneously.
- endif # BLE_MESH_FRIEND
- config BLE_MESH_NO_LOG
- bool "Disable BLE Mesh debug logs (minimize bin size)"
- depends on BLE_MESH
- default n
- help
- Select this to save the BLE Mesh related rodata code size. Enabling this option
- will disable the output of BLE Mesh debug log.
- menu "BLE Mesh STACK DEBUG LOG LEVEL"
- depends on BLE_MESH && !BLE_MESH_NO_LOG
- choice BLE_MESH_STACK_TRACE_LEVEL
- prompt "BLE_MESH_STACK"
- default BLE_MESH_TRACE_LEVEL_WARNING
- depends on BLE_MESH && !BLE_MESH_NO_LOG
- help
- Define BLE Mesh trace level for BLE Mesh stack.
- config BLE_MESH_TRACE_LEVEL_NONE
- bool "NONE"
- config BLE_MESH_TRACE_LEVEL_ERROR
- bool "ERROR"
- config BLE_MESH_TRACE_LEVEL_WARNING
- bool "WARNING"
- config BLE_MESH_TRACE_LEVEL_INFO
- bool "INFO"
- config BLE_MESH_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config BLE_MESH_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config BLE_MESH_STACK_TRACE_LEVEL
- int
- depends on BLE_MESH
- default 0 if BLE_MESH_TRACE_LEVEL_NONE
- default 1 if BLE_MESH_TRACE_LEVEL_ERROR
- default 2 if BLE_MESH_TRACE_LEVEL_WARNING
- default 3 if BLE_MESH_TRACE_LEVEL_INFO
- default 4 if BLE_MESH_TRACE_LEVEL_DEBUG
- default 5 if BLE_MESH_TRACE_LEVEL_VERBOSE
- default 2
- endmenu #BLE Mesh DEBUG LOG LEVEL
- menu "BLE Mesh NET BUF DEBUG LOG LEVEL"
- depends on BLE_MESH && !BLE_MESH_NO_LOG
- choice BLE_MESH_NET_BUF_TRACE_LEVEL
- prompt "BLE_MESH_NET_BUF"
- default BLE_MESH_NET_BUF_TRACE_LEVEL_WARNING
- depends on BLE_MESH && !BLE_MESH_NO_LOG
- help
- Define BLE Mesh trace level for BLE Mesh net buffer.
- config BLE_MESH_NET_BUF_TRACE_LEVEL_NONE
- bool "NONE"
- config BLE_MESH_NET_BUF_TRACE_LEVEL_ERROR
- bool "ERROR"
- config BLE_MESH_NET_BUF_TRACE_LEVEL_WARNING
- bool "WARNING"
- config BLE_MESH_NET_BUF_TRACE_LEVEL_INFO
- bool "INFO"
- config BLE_MESH_NET_BUF_TRACE_LEVEL_DEBUG
- bool "DEBUG"
- config BLE_MESH_NET_BUF_TRACE_LEVEL_VERBOSE
- bool "VERBOSE"
- endchoice
- config BLE_MESH_NET_BUF_TRACE_LEVEL
- int
- depends on BLE_MESH
- default 0 if BLE_MESH_NET_BUF_TRACE_LEVEL_NONE
- default 1 if BLE_MESH_NET_BUF_TRACE_LEVEL_ERROR
- default 2 if BLE_MESH_NET_BUF_TRACE_LEVEL_WARNING
- default 3 if BLE_MESH_NET_BUF_TRACE_LEVEL_INFO
- default 4 if BLE_MESH_NET_BUF_TRACE_LEVEL_DEBUG
- default 5 if BLE_MESH_NET_BUF_TRACE_LEVEL_VERBOSE
- default 2
- endmenu #BLE Mesh NET BUF DEBUG LOG LEVEL
- config BLE_MESH_CLIENT_MSG_TIMEOUT
- int "Timeout(ms) for client message response"
- range 100 1200000
- default 4000
- help
- Timeout value used by the node to get response of the acknowledged
- message which is sent by the client model.
- This value indicates the maximum time that a client model waits for
- the response of the sent acknowledged messages. If a client model
- uses 0 as the timeout value when sending acknowledged messages, then
- the default value will be used which is four seconds.
- menu "Support for BLE Mesh Foundation models"
- config BLE_MESH_CFG_CLI
- bool "Configuration Client model"
- help
- Enable support for Configuration Client model.
- config BLE_MESH_HEALTH_CLI
- bool "Health Client model"
- help
- Enable support for Health Client model.
- config BLE_MESH_HEALTH_SRV
- bool "Health Server model"
- default y
- help
- Enable support for Health Server model.
- endmenu #Support for BLE Mesh Foundation models
- menu "Support for BLE Mesh Client/Server models"
- config BLE_MESH_GENERIC_ONOFF_CLI
- bool "Generic OnOff Client model"
- help
- Enable support for Generic OnOff Client model.
- config BLE_MESH_GENERIC_LEVEL_CLI
- bool "Generic Level Client model"
- help
- Enable support for Generic Level Client model.
- config BLE_MESH_GENERIC_DEF_TRANS_TIME_CLI
- bool "Generic Default Transition Time Client model"
- help
- Enable support for Generic Default Transition Time Client model.
- config BLE_MESH_GENERIC_POWER_ONOFF_CLI
- bool "Generic Power OnOff Client model"
- help
- Enable support for Generic Power OnOff Client model.
- config BLE_MESH_GENERIC_POWER_LEVEL_CLI
- bool "Generic Power Level Client model"
- help
- Enable support for Generic Power Level Client model.
- config BLE_MESH_GENERIC_BATTERY_CLI
- bool "Generic Battery Client model"
- help
- Enable support for Generic Battery Client model.
- config BLE_MESH_GENERIC_LOCATION_CLI
- bool "Generic Location Client model"
- help
- Enable support for Generic Location Client model.
- config BLE_MESH_GENERIC_PROPERTY_CLI
- bool "Generic Property Client model"
- help
- Enable support for Generic Property Client model.
- config BLE_MESH_SENSOR_CLI
- bool "Sensor Client model"
- help
- Enable support for Sensor Client model.
- config BLE_MESH_TIME_CLI
- bool "Time Client model"
- help
- Enable support for Time Client model.
- config BLE_MESH_SCENE_CLI
- bool "Scene Client model"
- help
- Enable support for Scene Client model.
- config BLE_MESH_SCHEDULER_CLI
- bool "Scheduler Client model"
- help
- Enable support for Scheduler Client model.
- config BLE_MESH_LIGHT_LIGHTNESS_CLI
- bool "Light Lightness Client model"
- help
- Enable support for Light Lightness Client model.
- config BLE_MESH_LIGHT_CTL_CLI
- bool "Light CTL Client model"
- help
- Enable support for Light CTL Client model.
- config BLE_MESH_LIGHT_HSL_CLI
- bool "Light HSL Client model"
- help
- Enable support for Light HSL Client model.
- config BLE_MESH_LIGHT_XYL_CLI
- bool "Light XYL Client model"
- help
- Enable support for Light XYL Client model.
- config BLE_MESH_LIGHT_LC_CLI
- bool "Light LC Client model"
- help
- Enable support for Light LC Client model.
- config BLE_MESH_GENERIC_SERVER
- bool "Generic server models"
- default y
- help
- Enable support for Generic server models.
- config BLE_MESH_SENSOR_SERVER
- bool "Sensor server models"
- default y
- help
- Enable support for Sensor server models.
- config BLE_MESH_TIME_SCENE_SERVER
- bool "Time and Scenes server models"
- default y
- help
- Enable support for Time and Scenes server models.
- config BLE_MESH_LIGHTING_SERVER
- bool "Lighting server models"
- default y
- help
- Enable support for Lighting server models.
- endmenu #Support for BLE Mesh Client/Server models
- config BLE_MESH_IV_UPDATE_TEST
- bool "Test the IV Update Procedure"
- default n
- help
- This option removes the 96 hour limit of the IV Update Procedure and
- lets the state to be changed at any time.
- If IV Update test mode is going to be used, this option should be enabled.
- menu "BLE Mesh specific test option"
- config BLE_MESH_SELF_TEST
- bool "Perform BLE Mesh self-tests"
- default n
- help
- This option adds extra self-tests which are run every time BLE Mesh
- networking is initialized.
- if BLE_MESH_SELF_TEST
- config BLE_MESH_TEST_AUTO_ENTER_NETWORK
- bool "Unprovisioned device enters mesh network automatically"
- default y
- help
- With this option enabled, an unprovisioned device can automatically
- enters mesh network using a specific test function without the pro-
- visioning procedure. And on the Provisioner side, a test function
- needs to be invoked to add the node information into the mesh stack.
- config BLE_MESH_TEST_USE_WHITE_LIST
- bool "Use white list to filter mesh advertising packets"
- default n
- help
- With this option enabled, users can use white list to filter mesh
- advertising packets while scanning.
- endif # BLE_MESH_SELF_TEST
- config BLE_MESH_SHELL
- bool "Enable BLE Mesh shell"
- default n
- help
- Activate shell module that provides BLE Mesh commands to the console.
- config BLE_MESH_DEBUG
- bool "Enable BLE Mesh debug logs"
- default n
- help
- Enable debug logs for the BLE Mesh functionality.
- if BLE_MESH_DEBUG
- config BLE_MESH_DEBUG_NET
- bool "Network layer debug"
- help
- Enable Network layer debug logs for the BLE Mesh functionality.
- config BLE_MESH_DEBUG_TRANS
- bool "Transport layer debug"
- help
- Enable Transport layer debug logs for the BLE Mesh functionality.
- config BLE_MESH_DEBUG_BEACON
- bool "Beacon debug"
- help
- Enable Beacon-related debug logs for the BLE Mesh functionality.
- config BLE_MESH_DEBUG_CRYPTO
- bool "Crypto debug"
- help
- Enable cryptographic debug logs for the BLE Mesh functionality.
- config BLE_MESH_DEBUG_PROV
- bool "Provisioning debug"
- help
- Enable Provisioning debug logs for the BLE Mesh functionality.
- config BLE_MESH_DEBUG_ACCESS
- bool "Access layer debug"
- help
- Enable Access layer debug logs for the BLE Mesh functionality.
- config BLE_MESH_DEBUG_MODEL
- bool "Foundation model debug"
- help
- Enable Foundation Models debug logs for the BLE Mesh functionality.
- config BLE_MESH_DEBUG_ADV
- bool "Advertising debug"
- help
- Enable advertising debug logs for the BLE Mesh functionality.
- config BLE_MESH_DEBUG_LOW_POWER
- bool "Low Power debug"
- help
- Enable Low Power debug logs for the BLE Mesh functionality.
- config BLE_MESH_DEBUG_FRIEND
- bool "Friend debug"
- help
- Enable Friend debug logs for the BLE Mesh functionality.
- config BLE_MESH_DEBUG_PROXY
- bool "Proxy debug"
- depends on BLE_MESH_PROXY
- help
- Enable Proxy protocol debug logs for the BLE Mesh functionality.
- endif # BLE_MESH_DEBUG
- endmenu
- endif # BLE_MESH
|