123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838 |
- extern "C" {
- enum BLE_GAP_SVCS
- {
- SD_BLE_GAP_ADDR_SET = BLE_GAP_SVC_BASE,
- SD_BLE_GAP_ADDR_GET = BLE_GAP_SVC_BASE + 1,
- SD_BLE_GAP_WHITELIST_SET = BLE_GAP_SVC_BASE + 2,
- SD_BLE_GAP_DEVICE_IDENTITIES_SET = BLE_GAP_SVC_BASE + 3,
- SD_BLE_GAP_PRIVACY_SET = BLE_GAP_SVC_BASE + 4,
- SD_BLE_GAP_PRIVACY_GET = BLE_GAP_SVC_BASE + 5,
- SD_BLE_GAP_ADV_SET_CONFIGURE = BLE_GAP_SVC_BASE + 6,
- SD_BLE_GAP_ADV_START = BLE_GAP_SVC_BASE + 7,
- SD_BLE_GAP_ADV_STOP = BLE_GAP_SVC_BASE + 8,
- SD_BLE_GAP_CONN_PARAM_UPDATE = BLE_GAP_SVC_BASE + 9,
- SD_BLE_GAP_DISCONNECT = BLE_GAP_SVC_BASE + 10,
- SD_BLE_GAP_TX_POWER_SET = BLE_GAP_SVC_BASE + 11,
- SD_BLE_GAP_APPEARANCE_SET = BLE_GAP_SVC_BASE + 12,
- SD_BLE_GAP_APPEARANCE_GET = BLE_GAP_SVC_BASE + 13,
- SD_BLE_GAP_PPCP_SET = BLE_GAP_SVC_BASE + 14,
- SD_BLE_GAP_PPCP_GET = BLE_GAP_SVC_BASE + 15,
- SD_BLE_GAP_DEVICE_NAME_SET = BLE_GAP_SVC_BASE + 16,
- SD_BLE_GAP_DEVICE_NAME_GET = BLE_GAP_SVC_BASE + 17,
- SD_BLE_GAP_AUTHENTICATE = BLE_GAP_SVC_BASE + 18,
- SD_BLE_GAP_SEC_PARAMS_REPLY = BLE_GAP_SVC_BASE + 19,
- SD_BLE_GAP_AUTH_KEY_REPLY = BLE_GAP_SVC_BASE + 20,
- SD_BLE_GAP_LESC_DHKEY_REPLY = BLE_GAP_SVC_BASE + 21,
- SD_BLE_GAP_KEYPRESS_NOTIFY = BLE_GAP_SVC_BASE + 22,
- SD_BLE_GAP_LESC_OOB_DATA_GET = BLE_GAP_SVC_BASE + 23,
- SD_BLE_GAP_LESC_OOB_DATA_SET = BLE_GAP_SVC_BASE + 24,
- SD_BLE_GAP_ENCRYPT = BLE_GAP_SVC_BASE + 25,
- SD_BLE_GAP_SEC_INFO_REPLY = BLE_GAP_SVC_BASE + 26,
- SD_BLE_GAP_CONN_SEC_GET = BLE_GAP_SVC_BASE + 27,
- SD_BLE_GAP_RSSI_START = BLE_GAP_SVC_BASE + 28,
- SD_BLE_GAP_RSSI_STOP = BLE_GAP_SVC_BASE + 29,
- SD_BLE_GAP_SCAN_START = BLE_GAP_SVC_BASE + 30,
- SD_BLE_GAP_SCAN_STOP = BLE_GAP_SVC_BASE + 31,
- SD_BLE_GAP_CONNECT = BLE_GAP_SVC_BASE + 32,
- SD_BLE_GAP_CONNECT_CANCEL = BLE_GAP_SVC_BASE + 33,
- SD_BLE_GAP_RSSI_GET = BLE_GAP_SVC_BASE + 34,
- SD_BLE_GAP_PHY_UPDATE = BLE_GAP_SVC_BASE + 35,
- SD_BLE_GAP_DATA_LENGTH_UPDATE = BLE_GAP_SVC_BASE + 36,
- SD_BLE_GAP_QOS_CHANNEL_SURVEY_START = BLE_GAP_SVC_BASE + 37,
- SD_BLE_GAP_QOS_CHANNEL_SURVEY_STOP = BLE_GAP_SVC_BASE + 38,
- SD_BLE_GAP_ADV_ADDR_GET = BLE_GAP_SVC_BASE + 39,
- SD_BLE_GAP_NEXT_CONN_EVT_COUNTER_GET = BLE_GAP_SVC_BASE + 40,
- SD_BLE_GAP_CONN_EVT_TRIGGER_START = BLE_GAP_SVC_BASE + 41,
- SD_BLE_GAP_CONN_EVT_TRIGGER_STOP = BLE_GAP_SVC_BASE + 42,
- };
- enum BLE_GAP_EVTS
- {
- BLE_GAP_EVT_CONNECTED = BLE_GAP_EVT_BASE,
- BLE_GAP_EVT_DISCONNECTED = BLE_GAP_EVT_BASE + 1,
- BLE_GAP_EVT_CONN_PARAM_UPDATE = BLE_GAP_EVT_BASE + 2,
- BLE_GAP_EVT_SEC_PARAMS_REQUEST = BLE_GAP_EVT_BASE + 3,
- BLE_GAP_EVT_SEC_INFO_REQUEST = BLE_GAP_EVT_BASE + 4,
- BLE_GAP_EVT_PASSKEY_DISPLAY = BLE_GAP_EVT_BASE + 5,
- BLE_GAP_EVT_KEY_PRESSED = BLE_GAP_EVT_BASE + 6,
- BLE_GAP_EVT_AUTH_KEY_REQUEST = BLE_GAP_EVT_BASE + 7,
- BLE_GAP_EVT_LESC_DHKEY_REQUEST = BLE_GAP_EVT_BASE + 8,
- BLE_GAP_EVT_AUTH_STATUS = BLE_GAP_EVT_BASE + 9,
- BLE_GAP_EVT_CONN_SEC_UPDATE = BLE_GAP_EVT_BASE + 10,
- BLE_GAP_EVT_TIMEOUT = BLE_GAP_EVT_BASE + 11,
- BLE_GAP_EVT_RSSI_CHANGED = BLE_GAP_EVT_BASE + 12,
- BLE_GAP_EVT_ADV_REPORT = BLE_GAP_EVT_BASE + 13,
- BLE_GAP_EVT_SEC_REQUEST = BLE_GAP_EVT_BASE + 14,
- BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST = BLE_GAP_EVT_BASE + 15,
- BLE_GAP_EVT_SCAN_REQ_REPORT = BLE_GAP_EVT_BASE + 16,
- BLE_GAP_EVT_PHY_UPDATE_REQUEST = BLE_GAP_EVT_BASE + 17,
- BLE_GAP_EVT_PHY_UPDATE = BLE_GAP_EVT_BASE + 18,
- BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST = BLE_GAP_EVT_BASE + 19,
- BLE_GAP_EVT_DATA_LENGTH_UPDATE = BLE_GAP_EVT_BASE + 20,
- BLE_GAP_EVT_QOS_CHANNEL_SURVEY_REPORT = BLE_GAP_EVT_BASE + 21,
- BLE_GAP_EVT_ADV_SET_TERMINATED = BLE_GAP_EVT_BASE + 22,
- };
- enum BLE_GAP_OPTS
- {
- BLE_GAP_OPT_CH_MAP = BLE_GAP_OPT_BASE,
- BLE_GAP_OPT_LOCAL_CONN_LATENCY = BLE_GAP_OPT_BASE + 1,
- BLE_GAP_OPT_PASSKEY = BLE_GAP_OPT_BASE + 2,
- BLE_GAP_OPT_COMPAT_MODE_1 = BLE_GAP_OPT_BASE + 3,
- BLE_GAP_OPT_AUTH_PAYLOAD_TIMEOUT = BLE_GAP_OPT_BASE + 4,
- BLE_GAP_OPT_SLAVE_LATENCY_DISABLE = BLE_GAP_OPT_BASE + 5,
- };
- enum BLE_GAP_CFGS
- {
- BLE_GAP_CFG_ROLE_COUNT = BLE_GAP_CFG_BASE,
- BLE_GAP_CFG_DEVICE_NAME = BLE_GAP_CFG_BASE + 1,
- BLE_GAP_CFG_PPCP_INCL_CONFIG = BLE_GAP_CFG_BASE + 2,
- BLE_GAP_CFG_CAR_INCL_CONFIG = BLE_GAP_CFG_BASE + 3,
- };
- enum BLE_GAP_TX_POWER_ROLES
- {
- BLE_GAP_TX_POWER_ROLE_ADV = 1,
- BLE_GAP_TX_POWER_ROLE_SCAN_INIT = 2,
- BLE_GAP_TX_POWER_ROLE_CONN = 3,
- };
- This type of advertising is called anonymous. */
- and will not accept a peer using identity address as sender address when
- the peer IRK is exchanged, non-zero and added to the identity list. */
- If more advertising data is required, use extended advertising instead. */
- #define BLE_GAP_ADV_SET_DATA_SIZE_EXTENDED_MAX_SUPPORTED (255) /**< Maximum supported data length for an extended advertising set. */
- #define BLE_GAP_ADV_SET_DATA_SIZE_EXTENDED_CONNECTABLE_MAX_SUPPORTED (238) /**< Maximum supported data length for an extended connectable advertising set. */
- /**@}. */
- /** @brief Set ID not available in advertising report. */
- #define BLE_GAP_ADV_REPORT_SET_ID_NOT_AVAILABLE 0xFF
- /**@defgroup BLE_GAP_EVT_ADV_SET_TERMINATED_REASON GAP Advertising Set Terminated reasons
- * @{ */
- #define BLE_GAP_EVT_ADV_SET_TERMINATED_REASON_TIMEOUT 0x01 /**< Timeout value reached. */
- #define BLE_GAP_EVT_ADV_SET_TERMINATED_REASON_LIMIT_REACHED 0x02 /**< @ref ble_gap_adv_params_t::max_adv_evts was reached. */
- /**@} */
- /**@defgroup BLE_GAP_AD_TYPE_DEFINITIONS GAP Advertising and Scan Response Data format
- * @note Found at https://www.bluetooth.org/Technical/AssignedNumbers/generic_access_profile.htm
- * @{ */
- #define BLE_GAP_AD_TYPE_FLAGS 0x01 /**< Flags for discoverability. */
- #define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_MORE_AVAILABLE 0x02 /**< Partial list of 16 bit service UUIDs. */
- #define BLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_COMPLETE 0x03 /**< Complete list of 16 bit service UUIDs. */
- #define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_MORE_AVAILABLE 0x04 /**< Partial list of 32 bit service UUIDs. */
- #define BLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_COMPLETE 0x05 /**< Complete list of 32 bit service UUIDs. */
- #define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_MORE_AVAILABLE 0x06 /**< Partial list of 128 bit service UUIDs. */
- #define BLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_COMPLETE 0x07 /**< Complete list of 128 bit service UUIDs. */
- #define BLE_GAP_AD_TYPE_SHORT_LOCAL_NAME 0x08 /**< Short local device name. */
- #define BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME 0x09 /**< Complete local device name. */
- #define BLE_GAP_AD_TYPE_TX_POWER_LEVEL 0x0A /**< Transmit power level. */
- #define BLE_GAP_AD_TYPE_CLASS_OF_DEVICE 0x0D /**< Class of device. */
- #define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C 0x0E /**< Simple Pairing Hash C. */
- #define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R 0x0F /**< Simple Pairing Randomizer R. */
- #define BLE_GAP_AD_TYPE_SECURITY_MANAGER_TK_VALUE 0x10 /**< Security Manager TK Value. */
- #define BLE_GAP_AD_TYPE_SECURITY_MANAGER_OOB_FLAGS 0x11 /**< Security Manager Out Of Band Flags. */
- #define BLE_GAP_AD_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE 0x12 /**< Slave Connection Interval Range. */
- #define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_16BIT 0x14 /**< List of 16-bit Service Solicitation UUIDs. */
- #define BLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_128BIT 0x15 /**< List of 128-bit Service Solicitation UUIDs. */
- #define BLE_GAP_AD_TYPE_SERVICE_DATA 0x16 /**< Service Data - 16-bit UUID. */
- #define BLE_GAP_AD_TYPE_PUBLIC_TARGET_ADDRESS 0x17 /**< Public Target Address. */
- #define BLE_GAP_AD_TYPE_RANDOM_TARGET_ADDRESS 0x18 /**< Random Target Address. */
- #define BLE_GAP_AD_TYPE_APPEARANCE 0x19 /**< Appearance. */
- #define BLE_GAP_AD_TYPE_ADVERTISING_INTERVAL 0x1A /**< Advertising Interval. */
- #define BLE_GAP_AD_TYPE_LE_BLUETOOTH_DEVICE_ADDRESS 0x1B /**< LE Bluetooth Device Address. */
- #define BLE_GAP_AD_TYPE_LE_ROLE 0x1C /**< LE Role. */
- #define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C256 0x1D /**< Simple Pairing Hash C-256. */
- #define BLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R256 0x1E /**< Simple Pairing Randomizer R-256. */
- #define BLE_GAP_AD_TYPE_SERVICE_DATA_32BIT_UUID 0x20 /**< Service Data - 32-bit UUID. */
- #define BLE_GAP_AD_TYPE_SERVICE_DATA_128BIT_UUID 0x21 /**< Service Data - 128-bit UUID. */
- #define BLE_GAP_AD_TYPE_LESC_CONFIRMATION_VALUE 0x22 /**< LE Secure Connections Confirmation Value */
- #define BLE_GAP_AD_TYPE_LESC_RANDOM_VALUE 0x23 /**< LE Secure Connections Random Value */
- #define BLE_GAP_AD_TYPE_URI 0x24 /**< URI */
- #define BLE_GAP_AD_TYPE_3D_INFORMATION_DATA 0x3D /**< 3D Information Data. */
- #define BLE_GAP_AD_TYPE_MANUFACTURER_SPECIFIC_DATA 0xFF /**< Manufacturer Specific Data. */
- /**@} */
- /**@defgroup BLE_GAP_ADV_FLAGS GAP Advertisement Flags
- * @{ */
- #define BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE (0x01) /**< LE Limited Discoverable Mode. */
- #define BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE (0x02) /**< LE General Discoverable Mode. */
- #define BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED (0x04) /**< BR/EDR not supported. */
- #define BLE_GAP_ADV_FLAG_LE_BR_EDR_CONTROLLER (0x08) /**< Simultaneous LE and BR/EDR, Controller. */
- #define BLE_GAP_ADV_FLAG_LE_BR_EDR_HOST (0x10) /**< Simultaneous LE and BR/EDR, Host. */
- #define BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE (BLE_GAP_ADV_FLAG_LE_LIMITED_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED) /**< LE Limited Discoverable Mode, BR/EDR not supported. */
- #define BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE (BLE_GAP_ADV_FLAG_LE_GENERAL_DISC_MODE | BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED) /**< LE General Discoverable Mode, BR/EDR not supported. */
- /**@} */
- /**@defgroup BLE_GAP_ADV_INTERVALS GAP Advertising interval max and min
- * @{ */
- #define BLE_GAP_ADV_INTERVAL_MIN 0x000020 /**< Minimum Advertising interval in 625 us units, i.e. 20 ms. */
- #define BLE_GAP_ADV_INTERVAL_MAX 0x004000 /**< Maximum Advertising interval in 625 us units, i.e. 10.24 s. */
- /**@} */
- /**@defgroup BLE_GAP_SCAN_INTERVALS GAP Scan interval max and min
- * @{ */
- #define BLE_GAP_SCAN_INTERVAL_MIN 0x0004 /**< Minimum Scan interval in 625 us units, i.e. 2.5 ms. */
- #define BLE_GAP_SCAN_INTERVAL_MAX 0xFFFF /**< Maximum Scan interval in 625 us units, i.e. 40,959.375 s. */
- /** @} */
- /**@defgroup BLE_GAP_SCAN_WINDOW GAP Scan window max and min
- * @{ */
- #define BLE_GAP_SCAN_WINDOW_MIN 0x0004 /**< Minimum Scan window in 625 us units, i.e. 2.5 ms. */
- #define BLE_GAP_SCAN_WINDOW_MAX 0xFFFF /**< Maximum Scan window in 625 us units, i.e. 40,959.375 s. */
- /** @} */
- /**@defgroup BLE_GAP_SCAN_TIMEOUT GAP Scan timeout max and min
- * @{ */
- #define BLE_GAP_SCAN_TIMEOUT_MIN 0x0001 /**< Minimum Scan timeout in 10 ms units, i.e 10 ms. */
- #define BLE_GAP_SCAN_TIMEOUT_UNLIMITED 0x0000 /**< Continue to scan forever. */
- /** @} */
- /**@defgroup BLE_GAP_SCAN_BUFFER_SIZE GAP Minimum scanner buffer size
- *
- * Scan buffers are used for storing advertising data received from an advertiser.
- * If ble_gap_scan_params_t::extended is set to 0, @ref BLE_GAP_SCAN_BUFFER_MIN is the minimum scan buffer length.
- * else the minimum scan buffer size is @ref BLE_GAP_SCAN_BUFFER_EXTENDED_MIN.
- * @{ */
- #define BLE_GAP_SCAN_BUFFER_MIN (31) /**< Minimum data length for an
- advertising set. */
- #define BLE_GAP_SCAN_BUFFER_MAX (31) /**< Maximum data length for an
- advertising set. */
- #define BLE_GAP_SCAN_BUFFER_EXTENDED_MIN (255) /**< Minimum data length for an
- extended advertising set. */
- #define BLE_GAP_SCAN_BUFFER_EXTENDED_MAX (1650) /**< Maximum data length for an
- extended advertising set. */
- #define BLE_GAP_SCAN_BUFFER_EXTENDED_MAX_SUPPORTED (255) /**< Maximum supported data length for
- an extended advertising set. */
- /** @} */
- /**@defgroup BLE_GAP_ADV_TYPES GAP Advertising types
- *
- * Advertising types defined in Bluetooth Core Specification v5.0, Vol 6, Part B, Section 4.4.2.
- *
- * The maximum advertising data length is defined by @ref BLE_GAP_ADV_SET_DATA_SIZE_MAX.
- * The maximum supported data length for an extended advertiser is defined by
- * @ref BLE_GAP_ADV_SET_DATA_SIZE_EXTENDED_MAX_SUPPORTED
- * Note that some of the advertising types do not support advertising data. Non-scannable types do not support
- * scan response data.
- *
- * @{ */
- #define BLE_GAP_ADV_TYPE_CONNECTABLE_SCANNABLE_UNDIRECTED 0x01 /**< Connectable and scannable undirected
- advertising events. */
- #define BLE_GAP_ADV_TYPE_CONNECTABLE_NONSCANNABLE_DIRECTED_HIGH_DUTY_CYCLE 0x02 /**< Connectable non-scannable directed advertising
- events. Advertising interval is less that 3.75 ms.
- Use this type for fast reconnections.
- @note Advertising data is not supported. */
- #define BLE_GAP_ADV_TYPE_CONNECTABLE_NONSCANNABLE_DIRECTED 0x03 /**< Connectable non-scannable directed advertising
- events.
- @note Advertising data is not supported. */
- #define BLE_GAP_ADV_TYPE_NONCONNECTABLE_SCANNABLE_UNDIRECTED 0x04 /**< Non-connectable scannable undirected
- advertising events. */
- #define BLE_GAP_ADV_TYPE_NONCONNECTABLE_NONSCANNABLE_UNDIRECTED 0x05 /**< Non-connectable non-scannable undirected
- advertising events. */
- #define BLE_GAP_ADV_TYPE_EXTENDED_CONNECTABLE_NONSCANNABLE_UNDIRECTED 0x06 /**< Connectable non-scannable undirected advertising
- events using extended advertising PDUs. */
- #define BLE_GAP_ADV_TYPE_EXTENDED_CONNECTABLE_NONSCANNABLE_DIRECTED 0x07 /**< Connectable non-scannable directed advertising
- events using extended advertising PDUs. */
- #define BLE_GAP_ADV_TYPE_EXTENDED_NONCONNECTABLE_SCANNABLE_UNDIRECTED 0x08 /**< Non-connectable scannable undirected advertising
- events using extended advertising PDUs.
- @note Only scan response data is supported. */
- #define BLE_GAP_ADV_TYPE_EXTENDED_NONCONNECTABLE_SCANNABLE_DIRECTED 0x09 /**< Non-connectable scannable directed advertising
- events using extended advertising PDUs.
- @note Only scan response data is supported. */
- #define BLE_GAP_ADV_TYPE_EXTENDED_NONCONNECTABLE_NONSCANNABLE_UNDIRECTED 0x0A /**< Non-connectable non-scannable undirected advertising
- events using extended advertising PDUs. */
- #define BLE_GAP_ADV_TYPE_EXTENDED_NONCONNECTABLE_NONSCANNABLE_DIRECTED 0x0B /**< Non-connectable non-scannable directed advertising
- events using extended advertising PDUs. */
- /**@} */
- /**@defgroup BLE_GAP_ADV_FILTER_POLICIES GAP Advertising filter policies
- * @{ */
- #define BLE_GAP_ADV_FP_ANY 0x00 /**< Allow scan requests and connect requests from any device. */
- #define BLE_GAP_ADV_FP_FILTER_SCANREQ 0x01 /**< Filter scan requests with whitelist. */
- #define BLE_GAP_ADV_FP_FILTER_CONNREQ 0x02 /**< Filter connect requests with whitelist. */
- #define BLE_GAP_ADV_FP_FILTER_BOTH 0x03 /**< Filter both scan and connect requests with whitelist. */
- /**@} */
- /**@defgroup BLE_GAP_ADV_DATA_STATUS GAP Advertising data status
- * @{ */
- #define BLE_GAP_ADV_DATA_STATUS_COMPLETE 0x00 /**< All data in the advertising event have been received. */
- #define BLE_GAP_ADV_DATA_STATUS_INCOMPLETE_MORE_DATA 0x01 /**< More data to be received.
- @note This value will only be used if
- @ref ble_gap_scan_params_t::report_incomplete_evts and
- @ref ble_gap_adv_report_type_t::extended_pdu are set to true. */
- #define BLE_GAP_ADV_DATA_STATUS_INCOMPLETE_TRUNCATED 0x02 /**< Incomplete data. Buffer size insufficient to receive more.
- @note This value will only be used if
- @ref ble_gap_adv_report_type_t::extended_pdu is set to true. */
- #define BLE_GAP_ADV_DATA_STATUS_INCOMPLETE_MISSED 0x03 /**< Failed to receive the remaining data.
- @note This value will only be used if
- @ref ble_gap_adv_report_type_t::extended_pdu is set to true. */
- /**@} */
- /**@defgroup BLE_GAP_SCAN_FILTER_POLICIES GAP Scanner filter policies
- * @{ */
- #define BLE_GAP_SCAN_FP_ACCEPT_ALL 0x00 /**< Accept all advertising packets except directed advertising packets
- not addressed to this device. */
- #define BLE_GAP_SCAN_FP_WHITELIST 0x01 /**< Accept advertising packets from devices in the whitelist except directed
- packets not addressed to this device. */
- #define BLE_GAP_SCAN_FP_ALL_NOT_RESOLVED_DIRECTED 0x02 /**< Accept all advertising packets specified in @ref BLE_GAP_SCAN_FP_ACCEPT_ALL.
- In addition, accept directed advertising packets, where the advertiser's
- address is a resolvable private address that cannot be resolved. */
- #define BLE_GAP_SCAN_FP_WHITELIST_NOT_RESOLVED_DIRECTED 0x03 /**< Accept all advertising packets specified in @ref BLE_GAP_SCAN_FP_WHITELIST.
- In addition, accept directed advertising packets, where the advertiser's
- address is a resolvable private address that cannot be resolved. */
- /**@} */
- /**@defgroup BLE_GAP_ADV_TIMEOUT_VALUES GAP Advertising timeout values in 10 ms units
- * @{ */
- #define BLE_GAP_ADV_TIMEOUT_HIGH_DUTY_MAX (128) /**< Maximum high duty advertising time in 10 ms units. Corresponds to 1.28 s. */
- #define BLE_GAP_ADV_TIMEOUT_LIMITED_MAX (18000) /**< Maximum advertising time in 10 ms units corresponding to TGAP(lim_adv_timeout) = 180 s in limited discoverable mode. */
- #define BLE_GAP_ADV_TIMEOUT_GENERAL_UNLIMITED (0) /**< Unlimited advertising in general discoverable mode.
- For high duty cycle advertising, this corresponds to @ref BLE_GAP_ADV_TIMEOUT_HIGH_DUTY_MAX. */
- /**@} */
- /**@defgroup BLE_GAP_DISC_MODES GAP Discovery modes
- * @{ */
- #define BLE_GAP_DISC_MODE_NOT_DISCOVERABLE 0x00 /**< Not discoverable discovery Mode. */
- #define BLE_GAP_DISC_MODE_LIMITED 0x01 /**< Limited Discovery Mode. */
- #define BLE_GAP_DISC_MODE_GENERAL 0x02 /**< General Discovery Mode. */
- /**@} */
- /**@defgroup BLE_GAP_IO_CAPS GAP IO Capabilities
- * @{ */
- #define BLE_GAP_IO_CAPS_DISPLAY_ONLY 0x00 /**< Display Only. */
- #define BLE_GAP_IO_CAPS_DISPLAY_YESNO 0x01 /**< Display and Yes/No entry. */
- #define BLE_GAP_IO_CAPS_KEYBOARD_ONLY 0x02 /**< Keyboard Only. */
- #define BLE_GAP_IO_CAPS_NONE 0x03 /**< No I/O capabilities. */
- #define BLE_GAP_IO_CAPS_KEYBOARD_DISPLAY 0x04 /**< Keyboard and Display. */
- /**@} */
- /**@defgroup BLE_GAP_AUTH_KEY_TYPES GAP Authentication Key Types
- * @{ */
- #define BLE_GAP_AUTH_KEY_TYPE_NONE 0x00 /**< No key (may be used to reject). */
- #define BLE_GAP_AUTH_KEY_TYPE_PASSKEY 0x01 /**< 6-digit Passkey. */
- #define BLE_GAP_AUTH_KEY_TYPE_OOB 0x02 /**< Out Of Band data. */
- /**@} */
- /**@defgroup BLE_GAP_KP_NOT_TYPES GAP Keypress Notification Types
- * @{ */
- #define BLE_GAP_KP_NOT_TYPE_PASSKEY_START 0x00 /**< Passkey entry started. */
- #define BLE_GAP_KP_NOT_TYPE_PASSKEY_DIGIT_IN 0x01 /**< Passkey digit entered. */
- #define BLE_GAP_KP_NOT_TYPE_PASSKEY_DIGIT_OUT 0x02 /**< Passkey digit erased. */
- #define BLE_GAP_KP_NOT_TYPE_PASSKEY_CLEAR 0x03 /**< Passkey cleared. */
- #define BLE_GAP_KP_NOT_TYPE_PASSKEY_END 0x04 /**< Passkey entry completed. */
- /**@} */
- /**@defgroup BLE_GAP_SEC_STATUS GAP Security status
- * @{ */
- #define BLE_GAP_SEC_STATUS_SUCCESS 0x00 /**< Procedure completed with success. */
- #define BLE_GAP_SEC_STATUS_TIMEOUT 0x01 /**< Procedure timed out. */
- #define BLE_GAP_SEC_STATUS_PDU_INVALID 0x02 /**< Invalid PDU received. */
- #define BLE_GAP_SEC_STATUS_RFU_RANGE1_BEGIN 0x03 /**< Reserved for Future Use range #1 begin. */
- #define BLE_GAP_SEC_STATUS_RFU_RANGE1_END 0x80 /**< Reserved for Future Use range #1 end. */
- #define BLE_GAP_SEC_STATUS_PASSKEY_ENTRY_FAILED 0x81 /**< Passkey entry failed (user canceled or other). */
- #define BLE_GAP_SEC_STATUS_OOB_NOT_AVAILABLE 0x82 /**< Out of Band Key not available. */
- #define BLE_GAP_SEC_STATUS_AUTH_REQ 0x83 /**< Authentication requirements not met. */
- #define BLE_GAP_SEC_STATUS_CONFIRM_VALUE 0x84 /**< Confirm value failed. */
- #define BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP 0x85 /**< Pairing not supported. */
- #define BLE_GAP_SEC_STATUS_ENC_KEY_SIZE 0x86 /**< Encryption key size. */
- #define BLE_GAP_SEC_STATUS_SMP_CMD_UNSUPPORTED 0x87 /**< Unsupported SMP command. */
- #define BLE_GAP_SEC_STATUS_UNSPECIFIED 0x88 /**< Unspecified reason. */
- #define BLE_GAP_SEC_STATUS_REPEATED_ATTEMPTS 0x89 /**< Too little time elapsed since last attempt. */
- #define BLE_GAP_SEC_STATUS_INVALID_PARAMS 0x8A /**< Invalid parameters. */
- #define BLE_GAP_SEC_STATUS_DHKEY_FAILURE 0x8B /**< DHKey check failure. */
- #define BLE_GAP_SEC_STATUS_NUM_COMP_FAILURE 0x8C /**< Numeric Comparison failure. */
- #define BLE_GAP_SEC_STATUS_BR_EDR_IN_PROG 0x8D /**< BR/EDR pairing in progress. */
- #define BLE_GAP_SEC_STATUS_X_TRANS_KEY_DISALLOWED 0x8E /**< BR/EDR Link Key cannot be used for LE keys. */
- #define BLE_GAP_SEC_STATUS_RFU_RANGE2_BEGIN 0x8F /**< Reserved for Future Use range #2 begin. */
- #define BLE_GAP_SEC_STATUS_RFU_RANGE2_END 0xFF /**< Reserved for Future Use range #2 end. */
- /**@} */
- /**@defgroup BLE_GAP_SEC_STATUS_SOURCES GAP Security status sources
- * @{ */
- #define BLE_GAP_SEC_STATUS_SOURCE_LOCAL 0x00 /**< Local failure. */
- #define BLE_GAP_SEC_STATUS_SOURCE_REMOTE 0x01 /**< Remote failure. */
- /**@} */
- /**@defgroup BLE_GAP_CP_LIMITS GAP Connection Parameters Limits
- * @{ */
- #define BLE_GAP_CP_MIN_CONN_INTVL_NONE 0xFFFF /**< No new minimum connection interval specified in connect parameters. */
- #define BLE_GAP_CP_MIN_CONN_INTVL_MIN 0x0006 /**< Lowest minimum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
- #define BLE_GAP_CP_MIN_CONN_INTVL_MAX 0x0C80 /**< Highest minimum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
- #define BLE_GAP_CP_MAX_CONN_INTVL_NONE 0xFFFF /**< No new maximum connection interval specified in connect parameters. */
- #define BLE_GAP_CP_MAX_CONN_INTVL_MIN 0x0006 /**< Lowest maximum connection interval permitted, in units of 1.25 ms, i.e. 7.5 ms. */
- #define BLE_GAP_CP_MAX_CONN_INTVL_MAX 0x0C80 /**< Highest maximum connection interval permitted, in units of 1.25 ms, i.e. 4 s. */
- #define BLE_GAP_CP_SLAVE_LATENCY_MAX 0x01F3 /**< Highest slave latency permitted, in connection events. */
- #define BLE_GAP_CP_CONN_SUP_TIMEOUT_NONE 0xFFFF /**< No new supervision timeout specified in connect parameters. */
- #define BLE_GAP_CP_CONN_SUP_TIMEOUT_MIN 0x000A /**< Lowest supervision timeout permitted, in units of 10 ms, i.e. 100 ms. */
- #define BLE_GAP_CP_CONN_SUP_TIMEOUT_MAX 0x0C80 /**< Highest supervision timeout permitted, in units of 10 ms, i.e. 32 s. */
- /**@} */
- /**@defgroup BLE_GAP_DEVNAME GAP device name defines.
- * @{ */
- #define BLE_GAP_DEVNAME_DEFAULT "nRF5x" /**< Default device name value. */
- #define BLE_GAP_DEVNAME_DEFAULT_LEN 31 /**< Default number of octets in device name. */
- #define BLE_GAP_DEVNAME_MAX_LEN 248 /**< Maximum number of octets in device name. */
- /**@} */
- /**@brief Disable RSSI events for connections */
- #define BLE_GAP_RSSI_THRESHOLD_INVALID 0xFF
- /**@defgroup BLE_GAP_PHYS GAP PHYs
- * @{ */
- #define BLE_GAP_PHY_AUTO 0x00 /**< Automatic PHY selection. Refer @ref sd_ble_gap_phy_update for more information.*/
- #define BLE_GAP_PHY_1MBPS 0x01 /**< 1 Mbps PHY. */
- #define BLE_GAP_PHY_2MBPS 0x02 /**< 2 Mbps PHY. */
- #define BLE_GAP_PHY_CODED 0x04 /**< Coded PHY. */
- #define BLE_GAP_PHY_NOT_SET 0xFF /**< PHY is not configured. */
- /**@brief Supported PHYs in connections, for scanning, and for advertising. */
- #define BLE_GAP_PHYS_SUPPORTED (BLE_GAP_PHY_1MBPS | BLE_GAP_PHY_2MBPS) /**< All PHYs except @ref BLE_GAP_PHY_CODED are supported. */
- /**@} */
- /**@defgroup BLE_GAP_CONN_SEC_MODE_SET_MACROS GAP attribute security requirement setters
- *
- * See @ref ble_gap_conn_sec_mode_t.
- * @{ */
- /**@brief Set sec_mode pointed to by ptr to have no access rights.*/
- #define BLE_GAP_CONN_SEC_MODE_SET_NO_ACCESS(ptr) do {(ptr)->sm = 0; (ptr)->lv = 0;} while(0)
-
- The SoftDevice will reserve the attribute handles
- which are otherwise used for this characteristic.
- By reserving the attribute handles it will be possible
- to upgrade the SoftDevice without changing handle of the
- Service Changed characteristic. */
- The SoftDevice will not reserve the attribute handles
- which are otherwise used for this characteristic. */
- typedef struct
- {
- uint8_t type;
- uint8_t anonymous : 1;
- uint8_t include_tx_power : 1;
- } ble_gap_adv_properties_t;
- typedef struct
- {
- uint16_t connectable : 1;
- uint16_t scannable : 1;
- uint16_t directed : 1;
- uint16_t scan_response : 1;
- uint16_t extended_pdu : 1;
- uint16_t status : 2;
- uint16_t reserved : 9;
- } ble_gap_adv_report_type_t;
- typedef struct
- {
- uint16_t aux_offset;
- uint8_t aux_phy;
- } ble_gap_aux_pointer_t;
- typedef struct
- {
- uint8_t addr_id_peer : 1;
- uint8_t addr_type : 7;
- uint8_t addr[BLE_GAP_ADDR_LEN];
- } ble_gap_addr_t;
- typedef struct
- {
- uint16_t min_conn_interval;
- uint16_t max_conn_interval;
- uint16_t slave_latency;
- uint16_t conn_sup_timeout;
- } ble_gap_conn_params_t;
- typedef struct
- {
- uint8_t sm : 4;
- uint8_t lv : 4;
- } ble_gap_conn_sec_mode_t;
- typedef struct
- {
- ble_gap_conn_sec_mode_t sec_mode;
- uint8_t encr_key_size;
- } ble_gap_conn_sec_t;
- typedef struct
- {
- uint8_t irk[BLE_GAP_SEC_KEY_LEN];
- } ble_gap_irk_t;
- typedef uint8_t ble_gap_ch_mask_t[5];
- typedef struct
- {
- ble_gap_adv_properties_t properties;
- ble_gap_addr_t const *p_peer_addr;
- uint32_t interval;
- uint16_t duration;
- uint8_t max_adv_evts;
- ble_gap_ch_mask_t channel_mask;
- uint8_t filter_policy;
- uint8_t primary_phy;
- uint8_t secondary_phy;
- uint8_t set_id:4;
- uint8_t scan_req_notification:1;
- } ble_gap_adv_params_t;
- typedef struct
- {
- ble_data_t adv_data;
- ble_data_t scan_rsp_data;
- } ble_gap_adv_data_t;
- typedef struct
- {
- uint8_t extended : 1;
- uint8_t report_incomplete_evts : 1;
- uint8_t active : 1;
- uint8_t filter_policy : 2;
- uint8_t scan_phys;
- uint16_t interval;
- uint16_t window;
- uint16_t timeout;
- ble_gap_ch_mask_t channel_mask;
- } ble_gap_scan_params_t;
- typedef struct
- {
- uint8_t privacy_mode;
- uint8_t private_addr_type;
- uint16_t private_addr_cycle_s;
- ble_gap_irk_t *p_device_irk;
- } ble_gap_privacy_params_t;
- typedef struct
- {
- uint8_t tx_phys;
- uint8_t rx_phys;
- } ble_gap_phys_t;
- typedef struct
- {
- uint8_t enc : 1;
- uint8_t id : 1;
- uint8_t sign : 1;
- uint8_t link : 1;
- } ble_gap_sec_kdist_t;
- typedef struct
- {
- uint8_t bond : 1;
- uint8_t mitm : 1;
- uint8_t lesc : 1;
- uint8_t keypress : 1;
- uint8_t io_caps : 3;
- uint8_t oob : 1;
- uint8_t min_key_size;
- uint8_t max_key_size;
- ble_gap_sec_kdist_t kdist_own;
- ble_gap_sec_kdist_t kdist_peer;
- } ble_gap_sec_params_t;
- typedef struct
- {
- uint8_t ltk[BLE_GAP_SEC_KEY_LEN];
- uint8_t lesc : 1;
- uint8_t auth : 1;
- uint8_t ltk_len : 6;
- } ble_gap_enc_info_t;
- typedef struct
- {
- uint16_t ediv;
- uint8_t rand[BLE_GAP_SEC_RAND_LEN];
- } ble_gap_master_id_t;
- typedef struct
- {
- uint8_t csrk[BLE_GAP_SEC_KEY_LEN];
- } ble_gap_sign_info_t;
- typedef struct
- {
- uint8_t pk[BLE_GAP_LESC_P256_PK_LEN];
- } ble_gap_lesc_p256_pk_t;
- typedef struct
- {
- uint8_t key[BLE_GAP_LESC_DHKEY_LEN];
- } ble_gap_lesc_dhkey_t;
- typedef struct
- {
- ble_gap_addr_t addr;
- uint8_t r[BLE_GAP_SEC_KEY_LEN];
- uint8_t c[BLE_GAP_SEC_KEY_LEN];
- } ble_gap_lesc_oob_data_t;
- typedef struct
- {
- ble_gap_addr_t peer_addr;
- uint8_t role;
- ble_gap_conn_params_t conn_params;
- uint8_t adv_handle;
- ble_gap_adv_data_t adv_data;
- } ble_gap_evt_connected_t;
- typedef struct
- {
- uint8_t reason;
- } ble_gap_evt_disconnected_t;
- typedef struct
- {
- ble_gap_conn_params_t conn_params;
- } ble_gap_evt_conn_param_update_t;
- typedef struct
- {
- ble_gap_phys_t peer_preferred_phys;
- } ble_gap_evt_phy_update_request_t;
- typedef struct
- {
- uint8_t status;
- uint8_t tx_phy;
- uint8_t rx_phy;
- } ble_gap_evt_phy_update_t;
- typedef struct
- {
- ble_gap_sec_params_t peer_params;
- } ble_gap_evt_sec_params_request_t;
- typedef struct
- {
- ble_gap_addr_t peer_addr;
- ble_gap_master_id_t master_id;
- uint8_t enc_info : 1;
- uint8_t id_info : 1;
- uint8_t sign_info : 1;
- } ble_gap_evt_sec_info_request_t;
- typedef struct
- {
- uint8_t passkey[BLE_GAP_PASSKEY_LEN];
- uint8_t match_request : 1;
- } ble_gap_evt_passkey_display_t;
- typedef struct
- {
- uint8_t kp_not;
- } ble_gap_evt_key_pressed_t;
- typedef struct
- {
- uint8_t key_type;
- } ble_gap_evt_auth_key_request_t;
- typedef struct
- {
- ble_gap_lesc_p256_pk_t *p_pk_peer;
- uint8_t oobd_req :1;
- } ble_gap_evt_lesc_dhkey_request_t;
- typedef struct
- {
- uint8_t lv1 : 1;
- uint8_t lv2 : 1;
- uint8_t lv3 : 1;
- uint8_t lv4 : 1;
- } ble_gap_sec_levels_t;
- typedef struct
- {
- ble_gap_enc_info_t enc_info;
- ble_gap_master_id_t master_id;
- } ble_gap_enc_key_t;
- typedef struct
- {
- ble_gap_irk_t id_info;
- ble_gap_addr_t id_addr_info;
- } ble_gap_id_key_t;
- typedef struct
- {
- ble_gap_enc_key_t *p_enc_key;
- ble_gap_id_key_t *p_id_key;
- ble_gap_sign_info_t *p_sign_key;
- ble_gap_lesc_p256_pk_t *p_pk;
- } ble_gap_sec_keys_t;
- typedef struct
- {
- ble_gap_sec_keys_t keys_own;
- ble_gap_sec_keys_t keys_peer;
- } ble_gap_sec_keyset_t;
- typedef struct
- {
- uint16_t max_tx_octets;
- uint16_t max_rx_octets;
- uint16_t max_tx_time_us;
- uint16_t max_rx_time_us;
- } ble_gap_data_length_params_t;
- typedef struct
- {
- uint16_t tx_payload_limited_octets;
- uint16_t rx_payload_limited_octets;
- uint16_t tx_rx_time_limited_us;
- } ble_gap_data_length_limitation_t;
- typedef struct
- {
- uint8_t auth_status;
- uint8_t error_src : 2;
- uint8_t bonded : 1;
- uint8_t lesc : 1;
- ble_gap_sec_levels_t sm1_levels;
- ble_gap_sec_levels_t sm2_levels;
- ble_gap_sec_kdist_t kdist_own;
- ble_gap_sec_kdist_t kdist_peer;
- } ble_gap_evt_auth_status_t;
- typedef struct
- {
- ble_gap_conn_sec_t conn_sec;
- } ble_gap_evt_conn_sec_update_t;
- typedef struct
- {
- uint8_t src;
- union
- {
- ble_data_t adv_report_buffer;
- } params;
- } ble_gap_evt_timeout_t;
- typedef struct
- {
- int8_t rssi;
- uint8_t ch_index;
- } ble_gap_evt_rssi_changed_t;
- typedef struct
- {
- uint8_t reason;
- uint8_t adv_handle;
- uint8_t num_completed_adv_events;
- ble_gap_adv_data_t adv_data;
- } ble_gap_evt_adv_set_terminated_t;
- typedef struct
- {
- ble_gap_adv_report_type_t type;
- ble_gap_addr_t peer_addr;
- ble_gap_addr_t direct_addr;
- uint8_t primary_phy;
- uint8_t secondary_phy;
- int8_t tx_power;
- int8_t rssi;
- uint8_t ch_index;
- uint8_t set_id;
- uint16_t data_id:12;
- ble_data_t data;
- ble_gap_aux_pointer_t aux_pointer;
- } ble_gap_evt_adv_report_t;
- typedef struct
- {
- uint8_t bond : 1;
- uint8_t mitm : 1;
- uint8_t lesc : 1;
- uint8_t keypress : 1;
- } ble_gap_evt_sec_request_t;
- typedef struct
- {
- ble_gap_conn_params_t conn_params;
- } ble_gap_evt_conn_param_update_request_t;
- typedef struct
- {
- uint8_t adv_handle;
- int8_t rssi;
- ble_gap_addr_t peer_addr;
- } ble_gap_evt_scan_req_report_t;
- typedef struct
- {
- ble_gap_data_length_params_t peer_params;
- } ble_gap_evt_data_length_update_request_t;
- typedef struct
- {
- ble_gap_data_length_params_t effective_params;
- } ble_gap_evt_data_length_update_t;
- typedef struct
- {
- int8_t channel_energy[BLE_GAP_CHANNEL_COUNT];
- } ble_gap_evt_qos_channel_survey_report_t;
- typedef struct
- {
- uint16_t conn_handle;
- union
- {
- ble_gap_evt_connected_t connected;
- ble_gap_evt_disconnected_t disconnected;
- ble_gap_evt_conn_param_update_t conn_param_update;
- ble_gap_evt_sec_params_request_t sec_params_request;
- ble_gap_evt_sec_info_request_t sec_info_request;
- ble_gap_evt_passkey_display_t passkey_display;
- ble_gap_evt_key_pressed_t key_pressed;
- ble_gap_evt_auth_key_request_t auth_key_request;
- ble_gap_evt_lesc_dhkey_request_t lesc_dhkey_request;
- ble_gap_evt_auth_status_t auth_status;
- ble_gap_evt_conn_sec_update_t conn_sec_update;
- ble_gap_evt_timeout_t timeout;
- ble_gap_evt_rssi_changed_t rssi_changed;
- ble_gap_evt_adv_report_t adv_report;
- ble_gap_evt_adv_set_terminated_t adv_set_terminated;
- ble_gap_evt_sec_request_t sec_request;
- ble_gap_evt_conn_param_update_request_t conn_param_update_request;
- ble_gap_evt_scan_req_report_t scan_req_report;
- ble_gap_evt_phy_update_request_t phy_update_request;
- ble_gap_evt_phy_update_t phy_update;
- ble_gap_evt_data_length_update_request_t data_length_update_request;
- ble_gap_evt_data_length_update_t data_length_update;
- ble_gap_evt_qos_channel_survey_report_t qos_channel_survey_report;
- } params;
- } ble_gap_evt_t;
- typedef struct
- {
- uint8_t conn_count;
- uint16_t event_length;
- } ble_gap_conn_cfg_t;
- typedef struct
- {
- uint8_t adv_set_count;
- uint8_t periph_role_count;
- uint8_t central_role_count;
- uint8_t central_sec_count;
- uint8_t qos_channel_survey_role_available:1;
- } ble_gap_cfg_role_count_t;
- typedef struct
- {
- ble_gap_conn_sec_mode_t write_perm;
- uint8_t vloc:2;
- uint8_t *p_value;
- uint16_t current_len;
- uint16_t max_len;
- } ble_gap_cfg_device_name_t;
- typedef struct
- {
- uint8_t include_cfg;
- } ble_gap_cfg_ppcp_incl_cfg_t;
- typedef struct
- {
- uint8_t include_cfg;
- } ble_gap_cfg_car_incl_cfg_t;
- typedef union
- {
- ble_gap_cfg_role_count_t role_count_cfg;
- ble_gap_cfg_device_name_t device_name_cfg;
- ble_gap_cfg_ppcp_incl_cfg_t ppcp_include_cfg;
- ble_gap_cfg_car_incl_cfg_t car_include_cfg;
- } ble_gap_cfg_t;
- typedef struct
- {
- uint16_t conn_handle;
- uint8_t ch_map[5];
- } ble_gap_opt_ch_map_t;
- typedef struct
- {
- uint16_t conn_handle;
- uint16_t requested_latency;
- uint16_t * p_actual_latency;
- } ble_gap_opt_local_conn_latency_t;
- typedef struct
- {
- uint16_t conn_handle;
- uint8_t disable : 1;
- } ble_gap_opt_slave_latency_disable_t;
- typedef struct
- {
- uint8_t const * p_passkey;
- } ble_gap_opt_passkey_t;
- typedef struct
- {
- uint8_t enable : 1;
- } ble_gap_opt_compat_mode_1_t;
- typedef struct
- {
- uint16_t conn_handle;
- uint16_t auth_payload_timeout;
- } ble_gap_opt_auth_payload_timeout_t;
- typedef union
- {
- ble_gap_opt_ch_map_t ch_map;
- ble_gap_opt_local_conn_latency_t local_conn_latency;
- ble_gap_opt_passkey_t passkey;
- ble_gap_opt_compat_mode_1_t compat_mode_1;
- ble_gap_opt_auth_payload_timeout_t auth_payload_timeout;
- ble_gap_opt_slave_latency_disable_t slave_latency_disable;
- } ble_gap_opt_t;
- typedef struct
- {
- uint8_t ppi_ch_id;
- uint32_t task_endpoint;
- uint16_t conn_evt_counter_start;
- uint16_t period_in_events;
- } ble_gap_conn_event_trigger_t;
- SVCALL(SD_BLE_GAP_ADDR_SET, uint32_t, sd_ble_gap_addr_set(ble_gap_addr_t const *p_addr));
- SVCALL(SD_BLE_GAP_ADDR_GET, uint32_t, sd_ble_gap_addr_get(ble_gap_addr_t *p_addr));
- SVCALL(SD_BLE_GAP_ADV_ADDR_GET, uint32_t, sd_ble_gap_adv_addr_get(uint8_t adv_handle, ble_gap_addr_t *p_addr));
- SVCALL(SD_BLE_GAP_WHITELIST_SET, uint32_t, sd_ble_gap_whitelist_set(ble_gap_addr_t const * const * pp_wl_addrs, uint8_t len));
- SVCALL(SD_BLE_GAP_DEVICE_IDENTITIES_SET, uint32_t, sd_ble_gap_device_identities_set(ble_gap_id_key_t const * const * pp_id_keys, ble_gap_irk_t const * const * pp_local_irks, uint8_t len));
- SVCALL(SD_BLE_GAP_PRIVACY_SET, uint32_t, sd_ble_gap_privacy_set(ble_gap_privacy_params_t const *p_privacy_params));
- SVCALL(SD_BLE_GAP_PRIVACY_GET, uint32_t, sd_ble_gap_privacy_get(ble_gap_privacy_params_t *p_privacy_params));
- SVCALL(SD_BLE_GAP_ADV_SET_CONFIGURE, uint32_t, sd_ble_gap_adv_set_configure(uint8_t *p_adv_handle, ble_gap_adv_data_t const *p_adv_data, ble_gap_adv_params_t const *p_adv_params));
- SVCALL(SD_BLE_GAP_ADV_START, uint32_t, sd_ble_gap_adv_start(uint8_t adv_handle, uint8_t conn_cfg_tag));
- SVCALL(SD_BLE_GAP_ADV_STOP, uint32_t, sd_ble_gap_adv_stop(uint8_t adv_handle));
- SVCALL(SD_BLE_GAP_CONN_PARAM_UPDATE, uint32_t, sd_ble_gap_conn_param_update(uint16_t conn_handle, ble_gap_conn_params_t const *p_conn_params));
- SVCALL(SD_BLE_GAP_DISCONNECT, uint32_t, sd_ble_gap_disconnect(uint16_t conn_handle, uint8_t hci_status_code));
- SVCALL(SD_BLE_GAP_TX_POWER_SET, uint32_t, sd_ble_gap_tx_power_set(uint8_t role, uint16_t handle, int8_t tx_power));
- SVCALL(SD_BLE_GAP_APPEARANCE_SET, uint32_t, sd_ble_gap_appearance_set(uint16_t appearance));
- SVCALL(SD_BLE_GAP_APPEARANCE_GET, uint32_t, sd_ble_gap_appearance_get(uint16_t *p_appearance));
- SVCALL(SD_BLE_GAP_PPCP_SET, uint32_t, sd_ble_gap_ppcp_set(ble_gap_conn_params_t const *p_conn_params));
- SVCALL(SD_BLE_GAP_PPCP_GET, uint32_t, sd_ble_gap_ppcp_get(ble_gap_conn_params_t *p_conn_params));
- SVCALL(SD_BLE_GAP_DEVICE_NAME_SET, uint32_t, sd_ble_gap_device_name_set(ble_gap_conn_sec_mode_t const *p_write_perm, uint8_t const *p_dev_name, uint16_t len));
- SVCALL(SD_BLE_GAP_DEVICE_NAME_GET, uint32_t, sd_ble_gap_device_name_get(uint8_t *p_dev_name, uint16_t *p_len));
- SVCALL(SD_BLE_GAP_AUTHENTICATE, uint32_t, sd_ble_gap_authenticate(uint16_t conn_handle, ble_gap_sec_params_t const *p_sec_params));
- SVCALL(SD_BLE_GAP_SEC_PARAMS_REPLY, uint32_t, sd_ble_gap_sec_params_reply(uint16_t conn_handle, uint8_t sec_status, ble_gap_sec_params_t const *p_sec_params, ble_gap_sec_keyset_t const *p_sec_keyset));
- SVCALL(SD_BLE_GAP_AUTH_KEY_REPLY, uint32_t, sd_ble_gap_auth_key_reply(uint16_t conn_handle, uint8_t key_type, uint8_t const *p_key));
- SVCALL(SD_BLE_GAP_LESC_DHKEY_REPLY, uint32_t, sd_ble_gap_lesc_dhkey_reply(uint16_t conn_handle, ble_gap_lesc_dhkey_t const *p_dhkey));
- SVCALL(SD_BLE_GAP_KEYPRESS_NOTIFY, uint32_t, sd_ble_gap_keypress_notify(uint16_t conn_handle, uint8_t kp_not));
- SVCALL(SD_BLE_GAP_LESC_OOB_DATA_GET, uint32_t, sd_ble_gap_lesc_oob_data_get(uint16_t conn_handle, ble_gap_lesc_p256_pk_t const *p_pk_own, ble_gap_lesc_oob_data_t *p_oobd_own));
- SVCALL(SD_BLE_GAP_LESC_OOB_DATA_SET, uint32_t, sd_ble_gap_lesc_oob_data_set(uint16_t conn_handle, ble_gap_lesc_oob_data_t const *p_oobd_own, ble_gap_lesc_oob_data_t const *p_oobd_peer));
- SVCALL(SD_BLE_GAP_ENCRYPT, uint32_t, sd_ble_gap_encrypt(uint16_t conn_handle, ble_gap_master_id_t const *p_master_id, ble_gap_enc_info_t const *p_enc_info));
- SVCALL(SD_BLE_GAP_SEC_INFO_REPLY, uint32_t, sd_ble_gap_sec_info_reply(uint16_t conn_handle, ble_gap_enc_info_t const *p_enc_info, ble_gap_irk_t const *p_id_info, ble_gap_sign_info_t const *p_sign_info));
- SVCALL(SD_BLE_GAP_CONN_SEC_GET, uint32_t, sd_ble_gap_conn_sec_get(uint16_t conn_handle, ble_gap_conn_sec_t *p_conn_sec));
- SVCALL(SD_BLE_GAP_RSSI_START, uint32_t, sd_ble_gap_rssi_start(uint16_t conn_handle, uint8_t threshold_dbm, uint8_t skip_count));
- SVCALL(SD_BLE_GAP_RSSI_STOP, uint32_t, sd_ble_gap_rssi_stop(uint16_t conn_handle));
- SVCALL(SD_BLE_GAP_RSSI_GET, uint32_t, sd_ble_gap_rssi_get(uint16_t conn_handle, int8_t *p_rssi, uint8_t *p_ch_index));
- SVCALL(SD_BLE_GAP_SCAN_START, uint32_t, sd_ble_gap_scan_start(ble_gap_scan_params_t const *p_scan_params, ble_data_t const * p_adv_report_buffer));
- SVCALL(SD_BLE_GAP_SCAN_STOP, uint32_t, sd_ble_gap_scan_stop(void));
- SVCALL(SD_BLE_GAP_CONNECT, uint32_t, sd_ble_gap_connect(ble_gap_addr_t const *p_peer_addr, ble_gap_scan_params_t const *p_scan_params, ble_gap_conn_params_t const *p_conn_params, uint8_t conn_cfg_tag));
- SVCALL(SD_BLE_GAP_CONNECT_CANCEL, uint32_t, sd_ble_gap_connect_cancel(void));
- SVCALL(SD_BLE_GAP_PHY_UPDATE, uint32_t, sd_ble_gap_phy_update(uint16_t conn_handle, ble_gap_phys_t const *p_gap_phys));
- SVCALL(SD_BLE_GAP_DATA_LENGTH_UPDATE, uint32_t, sd_ble_gap_data_length_update(uint16_t conn_handle, ble_gap_data_length_params_t const *p_dl_params, ble_gap_data_length_limitation_t *p_dl_limitation));
- SVCALL(SD_BLE_GAP_QOS_CHANNEL_SURVEY_START, uint32_t, sd_ble_gap_qos_channel_survey_start(uint32_t interval_us));
- SVCALL(SD_BLE_GAP_QOS_CHANNEL_SURVEY_STOP, uint32_t, sd_ble_gap_qos_channel_survey_stop(void));
- SVCALL(SD_BLE_GAP_NEXT_CONN_EVT_COUNTER_GET, uint32_t, sd_ble_gap_next_conn_evt_counter_get(uint16_t conn_handle, uint16_t * p_counter));
- SVCALL(SD_BLE_GAP_CONN_EVT_TRIGGER_START, uint32_t, sd_ble_gap_conn_evt_trigger_start(uint16_t conn_handle, ble_gap_conn_event_trigger_t const * p_params));
- SVCALL(SD_BLE_GAP_CONN_EVT_TRIGGER_STOP, uint32_t, sd_ble_gap_conn_evt_trigger_stop(uint16_t conn_handle));
- }
|