这篇教程C++ GATT_NUM_ATTRS函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GATT_NUM_ATTRS函数的典型用法代码示例。如果您正苦于以下问题:C++ GATT_NUM_ATTRS函数的具体用法?C++ GATT_NUM_ATTRS怎么用?C++ GATT_NUM_ATTRS使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GATT_NUM_ATTRS函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: ProxPeriph_AddService/********************************************************************* * @fn ProxPeriph_AddService * * @brief Initializes the Proximity Peripheral service by * registering GATT attributes with the GATT server. * Only call this function once. * * @param services - services to add. This is a bit map and can * contain more than one service. * * @return Success or Failure */bStatus_t ProxPeriph_AddService( uint32 services ){ uint8 status = SUCCESS; if ( services & PP_LINK_LOSS_SERVICE ) { // Register Link Loss attribute list and CBs with GATT Server App status = GATTServApp_RegisterService( linkLossAttrTbl, GATT_NUM_ATTRS( linkLossAttrTbl ), GATT_MAX_ENCRYPT_KEY_SIZE, &proxPeriphCBs ); } if ( ( status == SUCCESS ) && ( services & PP_IM_ALETR_SERVICE ) ) { // Register Link Loss attribute list and CBs with GATT Server App status = GATTServApp_RegisterService( imAlertAttrTbl, GATT_NUM_ATTRS( imAlertAttrTbl ), GATT_MAX_ENCRYPT_KEY_SIZE, &proxPeriphCBs ); } if ( ( status == SUCCESS ) && ( services & PP_TX_PWR_LEVEL_SERVICE ) ) { // Register Tx Power Level attribute list and CBs with GATT Server App status = GATTServApp_RegisterService( txPwrLevelAttrTbl, GATT_NUM_ATTRS( txPwrLevelAttrTbl ), GATT_MAX_ENCRYPT_KEY_SIZE, &proxPeriphCBs ); } return ( status );}
开发者ID:DRuffer,项目名称:coinForth,代码行数:39,
示例2: UartProfile_AddService/** * @fn UartProfile_AddService * * @brief Initializes the Simple Profile service by registering * GATT attributes with the GATT server. * * @param services - services to add. This is a bit map and can * contain more than one service. * * @return Success or Failure */bStatus_t UartProfile_AddService(void){ uint8 status = SUCCESS; // Initialize Client Characteristic Configuration attributes GATTServApp_InitCharCfg(INVALID_CONNHANDLE, uartServ2CharCfg); // Register with Link DB to receive link status change callback linkDB_Register(UartProfile_HandleConnStatusCB); // Register GATT attribute list and CBs with GATT Server App GATTServApp_RegisterService(uartServ1AttrTbl, GATT_NUM_ATTRS(uartServ1AttrTbl), &uartServ1CBs); GATTServApp_RegisterService(uartServ2AttrTbl, GATT_NUM_ATTRS(uartServ2AttrTbl), &uartServ2CBs); return (status);}
开发者ID:wythe-lin,项目名称:ZTKBLE,代码行数:26,
示例3: Audio_SetParameter/********************************************************************* * @fn Audio_SetParameter * * @brief Set an Audio Profile parameter. * * @param param - Profile parameter ID * @param len - length of data to write * @param value - pointer to data to write. This is dependent on * the parameter ID and WILL be cast to the appropriate * data type (example: data type of uint16 will be cast to * uint16 pointer). * * @return SUCCESS, bleInvalidRange, INVALIDPARAMETER, or return * value of GATTServApp_ProcessCharCfg */bStatus_t Audio_SetParameter(uint8 param, uint8 len, void *value){ bStatus_t ret = SUCCESS; switch (param) { case AUDIOPROFILE_START: if (len == sizeof (audioProfileStart)) { audioProfileStart = *((uint8*)value); // See if Notifications have been enabled and send ret = GATTServApp_ProcessCharCfg(audioProfileStartConfig, &audioProfileStart, FALSE, audioProfileAttrTbl, GATT_NUM_ATTRS(audioProfileAttrTbl), INVALID_TASK_ID, audioProfile_ReadAttrCB); } else { ret = bleInvalidRange; } break; case AUDIOPROFILE_AUDIO: { VOID memcpy(audioProfileAudio, value, BLEAUDIO_NOTSIZE); // See if Notifications have been enabled and send ret = GATTServApp_ProcessCharCfg(audioProfileAudioConfig, (uint8_t *)audioProfileAudio, FALSE, audioProfileAttrTbl, GATT_NUM_ATTRS(audioProfileAttrTbl), INVALID_TASK_ID, audioProfile_ReadAttrCB); } break; default: ret = INVALIDPARAMETER; break; } return ret;}
开发者ID:dgiovanelli,项目名称:climb.stfirmware_BLEstack2.2,代码行数:63,
示例4: OADTarget_getNextBlockReq/********************************************************************* * @fn OADTarget_getNextBlockReq * * @brief Process the Request for next image block. * * @param connHandle - connection message was received on * @param blkNum - block number to request from OAD Manager. * * @return None */static void OADTarget_getNextBlockReq(uint16_t connHandle, uint16_t blkNum){ uint16_t value = GATTServApp_ReadCharCfg(connHandle, oadImgBlockConfig); // If notifications enabled if (value & GATT_CLIENT_CFG_NOTIFY) { attHandleValueNoti_t noti; noti.pValue = GATT_bm_alloc(connHandle, ATT_HANDLE_VALUE_NOTI, 2, NULL); if (noti.pValue != NULL) { gattAttribute_t *pAttr = GATTServApp_FindAttr(oadAttrTbl, GATT_NUM_ATTRS(oadAttrTbl), oadCharVals+OAD_CHAR_IMG_BLOCK); noti.handle = pAttr->handle; noti.len = 2; noti.pValue[0] = LO_UINT16(blkNum); noti.pValue[1] = HI_UINT16(blkNum); if (GATT_Notification(connHandle, ¬i, FALSE) != SUCCESS) { GATT_bm_free((gattMsg_t *)¬i, ATT_HANDLE_VALUE_NOTI); } } }}
开发者ID:ClarePhang,项目名称:ALL_SmartBatterySwitch_CC2640,代码行数:39,
示例5: OADTarget_addService/********************************************************************* * @fn OADTarget_addService * * @brief Initializes the OAD Service by registering GATT attributes * with the GATT server. Only call this function once. * * @return The return value of GATTServApp_RegisterForMsg(). */bStatus_t OADTarget_addService(void){ // Allocate Client Characteristic Configuration table oadImgIdentifyConfig = (gattCharCfg_t *)ICall_malloc(sizeof(gattCharCfg_t) * linkDBNumConns); if (oadImgIdentifyConfig == NULL) { return (bleMemAllocError); } // Allocate Client Characteristic Configuration table oadImgBlockConfig = (gattCharCfg_t *)ICall_malloc(sizeof(gattCharCfg_t) * linkDBNumConns); if (oadImgBlockConfig == NULL) { // Free already allocated data ICall_free(oadImgIdentifyConfig); return (bleMemAllocError); } // Initialize Client Characteristic Configuration attributes GATTServApp_InitCharCfg(INVALID_CONNHANDLE, oadImgIdentifyConfig); GATTServApp_InitCharCfg(INVALID_CONNHANDLE, oadImgBlockConfig); return GATTServApp_RegisterService(oadAttrTbl, GATT_NUM_ATTRS(oadAttrTbl), GATT_MAX_ENCRYPT_KEY_SIZE, &oadCBs);}
开发者ID:ClarePhang,项目名称:ALL_SmartBatterySwitch_CC2640,代码行数:37,
示例6: HeartRate_AddService/********************************************************************* * @fn HeartRate_AddService * * @brief Initializes the Heart Rate service by registering * GATT attributes with the GATT server. * * @param services - services to add. This is a bit map and can * contain more than one service. * * @return Success or Failure */bStatus_t HeartRate_AddService(uint32 services){ uint8 status; // Allocate Client Characteristic Configuration table heartRateMeasClientCharCfg = (gattCharCfg_t *)ICall_malloc( sizeof(gattCharCfg_t) * linkDBNumConns ); if ( heartRateMeasClientCharCfg == NULL ) { return ( bleMemAllocError ); } // Initialize Client Characteristic Configuration attributes. GATTServApp_InitCharCfg(INVALID_CONNHANDLE, heartRateMeasClientCharCfg); if (services & HEARTRATE_SERVICE) { // Register GATT attribute list and CBs with GATT Server App. status = GATTServApp_RegisterService(heartRateAttrTbl, GATT_NUM_ATTRS(heartRateAttrTbl), GATT_MAX_ENCRYPT_KEY_SIZE, &heartRateCBs); } else { status = SUCCESS; } return (status);}
开发者ID:wzyy2,项目名称:ECG-BLE,代码行数:41,
示例7: ExampleService_AddService/********************************************************************* * @fn SimpleProfile_AddService * * @brief Initializes the Simple Profile service by registering * GATT attributes with the GATT server. * * @param services - services to add. This is a bit map and can * contain more than one service. * * @return Success or Failure */bStatus_t ExampleService_AddService( void ){ static uint8 excute_time =0; uint8 status = SUCCESS; if(excute_time > 0) //make sure it is only excuted once, because everytime it excuted, it add the attr to the list ,no matter wheather it exists in it. return(status); else excute_time++; HalLcdWriteStringValue("excute_time",excute_time,10,HAL_LCD_LINE_6); // Initialize Client Characteristic Configuration attributes GATTServApp_InitCharCfg( INVALID_CONNHANDLE, simpleProfileChar2Config ); // Register with Link DB to receive link status change callback VOID linkDB_Register( simpleProfile_HandleConnStatusCB ); // Register GATT attribute list and CBs with GATT Server App status = GATTServApp_RegisterService( simpleProfileAttrTbl, GATT_NUM_ATTRS( simpleProfileAttrTbl ), &simpleProfileCBs ); return ( status );}
开发者ID:androdenpark,项目名称:Ti-Wireless-Chip-Demo,代码行数:40,
示例8: ClimbProfile_AddService/********************************************************************* * @fn ClimbProfile_AddService * * @brief Initializes the Simple Profile service by registering * GATT attributes with the GATT server. * * @param services - services to add. This is a bit map and can * contain more than one service. * * @return Success or Failure */bStatus_t ClimbProfile_AddService( uint32 services ){ uint8 status; // Allocate Client Characteristic Configuration table climbProfileChar1Config = (gattCharCfg_t *)ICall_malloc( sizeof(gattCharCfg_t) * linkDBNumConns ); if ( climbProfileChar1Config == NULL ) { return ( bleMemAllocError ); } // Initialize Client Characteristic Configuration attributes GATTServApp_InitCharCfg( INVALID_CONNHANDLE, climbProfileChar1Config ); if ( services & CLIMBPROFILE_SERVICE ) { // Register GATT attribute list and CBs with GATT Server App status = GATTServApp_RegisterService( climbProfileAttrTbl, GATT_NUM_ATTRS( climbProfileAttrTbl ), GATT_MAX_ENCRYPT_KEY_SIZE, &climbProfileCBs ); } else { status = SUCCESS; } return ( status );}
开发者ID:smartcommunitylab,项目名称:sco.climb.driverapp,代码行数:41,
示例9: Pir_SetParameter/********************************************************************* * @fn Pir_SetParameter * * @brief Set a parameter. * * @param param - Profile parameter ID * @param len - length of data to right * @param value - pointer to data to write. This is dependent on * the parameter ID and WILL be cast to the appropriate * data type (example: data type of uint16 will be cast to * uint16 pointer). * * @return bStatus_t */bStatus_t Pir_SetParameter( uint8 param, uint8 len, void *value ){ bStatus_t ret = SUCCESS; switch ( param ) { case SENSOR_DATA: if ( len == SENSOR_DATA_LEN ) { VOID osal_memcpy( sensorData, value, SENSOR_DATA_LEN ); // See if Notification has been enabled GATTServApp_ProcessCharCfg( sensorDataConfig, sensorData, FALSE, sensorAttrTable, GATT_NUM_ATTRS( sensorAttrTable ), INVALID_TASK_ID ); } else { ret = bleInvalidRange; } break; default: ret = INVALIDPARAMETER; break; } return ( ret );}
开发者ID:jackchased,项目名称:ble-firmware,代码行数:42,
示例10: SimpleProfile_AddService/********************************************************************* * @fn SimpleProfile_AddService * * @brief Initializes the Simple Profile service by registering * GATT attributes with the GATT server. * * @param services - services to add. This is a bit map and can * contain more than one service. * * @return Success or Failure */bStatus_t SimpleProfile_AddService( uint32 services ){ uint8 status = SUCCESS; // Allocate Client Characteristic Configuration table simpleProfileChar4Config = (gattCharCfg_t *)osal_mem_alloc( sizeof(gattCharCfg_t) * linkDBNumConns ); if ( simpleProfileChar4Config == NULL ) { return ( bleMemAllocError ); } // Initialize Client Characteristic Configuration attributes GATTServApp_InitCharCfg( INVALID_CONNHANDLE, simpleProfileChar4Config ); // Register with Link DB to receive link status change callback VOID linkDB_Register( simpleProfile_HandleConnStatusCB ); if ( services & SIMPLEPROFILE_SERVICE ) { // Register GATT attribute list and CBs with GATT Server App status = GATTServApp_RegisterService( simpleProfileAttrTbl, GATT_NUM_ATTRS( simpleProfileAttrTbl ), GATT_MIN_ENCRYPT_KEY_SIZE, &simpleProfileCBs ); } return ( status );}
开发者ID:aidaima,项目名称:RemoteControl-Car,代码行数:40,
示例11: SK_AddService/********************************************************************* * @fn SK_AddService * * @brief Initializes the Simple Key service by registering * GATT attributes with the GATT server. * * @param services - services to add. This is a bit map and can * contain more than one service. * * @return Success or Failure */bStatus_t SK_AddService(uint32 services){ uint8 status = SUCCESS; // Allocate Client Characteristic Configuration table skConfig = (gattCharCfg_t *)ICall_malloc(sizeof(gattCharCfg_t) * linkDBNumConns); if (skConfig == NULL) { return (bleMemAllocError); } // Initialize Client Characteristic Configuration attributes GATTServApp_InitCharCfg(INVALID_CONNHANDLE, skConfig); if (services & SK_SERVICE) { // Register GATT attribute list and CBs with GATT Server App status = GATTServApp_RegisterService(simplekeysAttrTbl, GATT_NUM_ATTRS(simplekeysAttrTbl), GATT_MAX_ENCRYPT_KEY_SIZE, &skCBs); } return (status);}
开发者ID:ClarePhang,项目名称:BLE_cc2650,代码行数:37,
示例12: ClimbProfile_SetParameter/********************************************************************* * @fn ClimbProfile_SetParameter * * @brief Set a Simple Profile parameter. * * @param param - Profile parameter ID * @param len - length of data to write * @param value - pointer to data to write. This is dependent on * the parameter ID and WILL be cast to the appropriate * data type (example: data type of uint16 will be cast to * uint16 pointer). * * @return bStatus_t */bStatus_t ClimbProfile_SetParameter( uint8 param, uint8 len, void *value ){ bStatus_t ret = SUCCESS; switch ( param ) { case CLIMBPROFILE_CHAR1: if( len <= CLIMBPROFILE_CHAR1_LEN) { VOID memcpy( climbProfileChar1, value, CLIMBPROFILE_CHAR1_LEN );// climbProfileChar1 = (uint8*)value; /* attHandleValueNoti_t noti; noti.len = len; noti.handle = climbProfileAttrTbl[2].handle; ret = GATT_Notification(0,¬i, FALSE); */ GATTServApp_ProcessCharCfg( climbProfileChar1Config, climbProfileChar1, FALSE, climbProfileAttrTbl, GATT_NUM_ATTRS( climbProfileAttrTbl ), INVALID_TASK_ID, climbProfile_ReadAttrCB ); } else { ret = bleInvalidRange; } break; default: ret = INVALIDPARAMETER; break; } return ( ret );}
开发者ID:smartcommunitylab,项目名称:sco.climb.driverapp,代码行数:49,
示例13: Audio_AddService/********************************************************************* * @fn Audio_AddService * * @brief Initializes the Audio Profile service by registering * GATT attributes with the GATT server. * * @return SUCCESS, bleMemAllocError, or return value of * GATTServApp_RegisterService */bStatus_t Audio_AddService(void){ uint8 status = SUCCESS; // Allocate Audio Cmd Client Characteristic Configuration table audioProfileStartConfig = (gattCharCfg_t *)ICall_malloc(sizeof(gattCharCfg_t)* linkDBNumConns ); if (audioProfileStartConfig == NULL) { return bleMemAllocError; } // Initialize Audio Cmd Client Characteristic Configuration attributes GATTServApp_InitCharCfg(INVALID_CONNHANDLE, audioProfileStartConfig); // Allocate Audio Stream Client Characteristic Configuration table audioProfileAudioConfig = (gattCharCfg_t *)ICall_malloc(sizeof(gattCharCfg_t)* linkDBNumConns); if (audioProfileAudioConfig == NULL) { return bleMemAllocError; } // Initialize Audio Stream Client Characteristic Configuration attributes GATTServApp_InitCharCfg(INVALID_CONNHANDLE, audioProfileAudioConfig); // Register GATT attribute list and CBs with GATT Server App status = GATTServApp_RegisterService(audioProfileAttrTbl, GATT_NUM_ATTRS(audioProfileAttrTbl), GATT_MAX_ENCRYPT_KEY_SIZE, &audioProfileCBs); return status;}
开发者ID:dgiovanelli,项目名称:climb.stfirmware_BLEstack2.2,代码行数:43,
示例14: simpleProfile_ProcessCharCfg/********************************************************************* * @fn simpleProfile_ProcessCharCfg * * @brief Process Client Charateristic Configuration change. * * @param charCfgTbl - characteristic configuration table * @param pValue - pointer to attribute value * @param authenticated - whether an authenticated link is required * * @return none */static void simpleProfile_ProcessCharCfg( gattCharCfg_t *charCfgTbl, uint8 *pValue, uint8 authenticated ){ for ( uint8 i = 0; i < GATT_MAX_NUM_CONN; i++ ) { gattCharCfg_t *pItem = &(charCfgTbl[i]); if ( ( pItem->connHandle != INVALID_CONNHANDLE ) && ( pItem->value != GATT_CFG_NO_OPERATION ) ) { gattAttribute_t *pAttr; // Find the characteristic value attribute pAttr = GATTServApp_FindAttr( simpleProfileAttrTbl, GATT_NUM_ATTRS( simpleProfileAttrTbl ), pValue ); if ( pAttr != NULL ) { attHandleValueNoti_t noti; // If the attribute value is longer than (ATT_MTU - 3) octets, then // only the first (ATT_MTU - 3) octets of this attributes value can // be sent in a notification. if ( simpleProfile_ReadAttrCB( pItem->connHandle, pAttr, noti.value, ¬i.len, 0, (ATT_MTU_SIZE-3) ) == SUCCESS ) { noti.handle = pAttr->handle; if ( pItem->value & GATT_CLIENT_CFG_NOTIFY ) { VOID GATT_Notification( pItem->connHandle, ¬i, authenticated ); } } } } } // for}
开发者ID:JensenSung,项目名称:shred444,代码行数:46,
示例15: DevInfo_AddService/********************************************************************* * @fn DevInfo_AddService * * @brief Initializes the Device Information service by registering * GATT attributes with the GATT server. * * @return Success or Failure */bStatus_t DevInfo_AddService( void ){ // Register GATT attribute list and CBs with GATT Server App return GATTServApp_RegisterService( devInfoAttrTbl, GATT_NUM_ATTRS( devInfoAttrTbl ), &devInfoCBs );}
开发者ID:AubrCool,项目名称:BLE,代码行数:15,
示例16: SK_AddService/********************************************************************* * @fn SK_AddService * * @brief Initializes the Simple Key service by registering * GATT attributes with the GATT server. * * @param services - services to add. This is a bit map and can * contain more than one service. * * @return Success or Failure */bStatus_t SK_AddService( uint32 services ){ uint8 status = SUCCESS; // Initialize Client Characteristic Configuration attributes for ( uint8 i = 0; i < GATT_MAX_NUM_CONN; i++ ) { skConfig[i].connHandle = INVALID_CONNHANDLE; skConfig[i].value = GATT_CFG_NO_OPERATION; } // Register with Link DB to receive link status change callback VOID linkDB_Register( sk_HandleConnStatusCB ); if ( services & SK_SERVICE ) { // Register GATT attribute list and CBs with GATT Server App status = GATTServApp_RegisterService( simplekeysAttrTbl, GATT_NUM_ATTRS( simplekeysAttrTbl ), sk_ReadAttrCB, sk_WriteAttrCB, NULL ); } return ( status );}
开发者ID:JensenSung,项目名称:shred444,代码行数:36,
示例17: SK_SetParameter/********************************************************************* * @fn SK_SetParameter * * @brief Set a Simple Key Profile parameter. * * @param param - Profile parameter ID * @param len - length of data to write * @param pValue - pointer to data to write. This is dependent on * the parameter ID and WILL be cast to the appropriate * data type (example: data type of uint16 will be cast to * uint16 pointer). * * @return bStatus_t */bStatus_t SK_SetParameter(uint8 param, uint8 len, void *pValue){ bStatus_t ret = SUCCESS; switch (param) { case SK_KEY_ATTR: if (len == sizeof(uint8)) { skKeyPressed = *((uint8*)pValue); // See if Notification/Indication has been enabled GATTServApp_ProcessCharCfg(skConfig, &skKeyPressed, FALSE, simplekeysAttrTbl, GATT_NUM_ATTRS(simplekeysAttrTbl), INVALID_TASK_ID, SK_readAttrCB); } else { ret = bleInvalidRange; } break; default: ret = INVALIDPARAMETER; break; } return (ret);}
开发者ID:ClarePhang,项目名称:BLE_cc2650,代码行数:43,
示例18: OADTarget_rejectImage/********************************************************************* * @fn OADTarget_rejectImage * * @brief Reject the Image identified by the OAD manager, send back * active image version, length and UID to manager. * * @param connHandle - connection message was received on. * @param pImgHdr - pointer to the img_hdr_t data to send. * * @return None. */static void OADTarget_rejectImage(uint16_t connHandle, img_hdr_t *pImgHdr){ uint16_t value = GATTServApp_ReadCharCfg(connHandle, oadImgIdentifyConfig); // If notifications enabled if (value & GATT_CLIENT_CFG_NOTIFY) { attHandleValueNoti_t noti; noti.pValue = GATT_bm_alloc(connHandle, ATT_HANDLE_VALUE_NOTI, 8, NULL); if (noti.pValue != NULL) { gattAttribute_t *pAttr = GATTServApp_FindAttr(oadAttrTbl, GATT_NUM_ATTRS(oadAttrTbl), oadCharVals+OAD_CHAR_IMG_IDENTIFY); noti.handle = pAttr->handle; noti.len = OAD_IMG_HDR_SIZE; noti.pValue[0] = LO_UINT16(pImgHdr->ver); noti.pValue[1] = HI_UINT16(pImgHdr->ver); noti.pValue[2] = LO_UINT16(pImgHdr->len); noti.pValue[3] = HI_UINT16(pImgHdr->len); (void)memcpy(noti.pValue+4, pImgHdr->uid, sizeof(pImgHdr->uid)); if (GATT_Notification(connHandle, ¬i, FALSE) != SUCCESS) { GATT_bm_free((gattMsg_t *)¬i, ATT_HANDLE_VALUE_NOTI); } } }}
开发者ID:ClarePhang,项目名称:ALL_SmartBatterySwitch_CC2640,代码行数:45,
示例19: Test_AddService/********************************************************************* * @fn Test_AddService * * @brief Initializes the Test Profile service by registering * GATT attributes with the GATT server. * * @param services - services to add. This is a bit map and can * contain more than one service. * * @return Success or Failure */bStatus_t Test_AddService(void){ // Register GATT attribute list and CBs with GATT Server App return GATTServApp_RegisterService( testAttrTable, GATT_NUM_ATTRS (testAttrTable), GATT_MAX_ENCRYPT_KEY_SIZE, &testCBs );}
开发者ID:aidaima,项目名称:RemoteControl-Car,代码行数:19,
示例20: Reset_addService/********************************************************************* * @fn Reset_addService * * @brief Initializes the OAD Reset service by registering * GATT attributes with the GATT server. * * @param none * * @return Success or Failure */uint8_t Reset_addService(void){ // Register GATT attribute list and CBs with GATT Server App return GATTServApp_RegisterService(resetServiceAttrTbl, GATT_NUM_ATTRS(resetServiceAttrTbl), GATT_MAX_ENCRYPT_KEY_SIZE, &resetServiceCBs);}
开发者ID:victor-zheng,项目名称:BLE,代码行数:18,
示例21: Display_addService/********************************************************************* * @fn Display_addService * * @brief Initializes the Sensor Profile service by registering * GATT attributes with the GATT server. * * @return Success or Failure */bStatus_t Display_addService(void){ // Register GATT attribute list and CBs with GATT Server App return GATTServApp_RegisterService( sensorAttrTable, GATT_NUM_ATTRS (sensorAttrTable), GATT_MAX_ENCRYPT_KEY_SIZE, &sensorCBs );}
开发者ID:ClarePhang,项目名称:ALL_SmartBatterySwitch_CC2640,代码行数:16,
示例22: ProxReporter_AddService/********************************************************************* * @fn proxReporter_AddService * * @brief Initializes the Proximity Reporter service by * registering GATT attributes with the GATT server. * Only call this function once. * * @param services - services to add. This is a bit map and can * contain more than one service. * * @return Success or Failure */bStatus_t ProxReporter_AddService( uint32 services ){ uint8 status = SUCCESS; if ( services & PP_LINK_LOSS_SERVICE ) { // Register Link Loss attribute list and CBs with GATT Server App status = GATTServApp_RegisterService( linkLossAttrTbl, GATT_NUM_ATTRS( linkLossAttrTbl ), GATT_MAX_ENCRYPT_KEY_SIZE, &proxReporterCBs ); } if ( ( status == SUCCESS ) && ( services & PP_IM_ALETR_SERVICE ) ) { // Register Link Loss attribute list and CBs with GATT Server App status = GATTServApp_RegisterService( imAlertAttrTbl, GATT_NUM_ATTRS( imAlertAttrTbl ), GATT_MAX_ENCRYPT_KEY_SIZE, &proxReporterCBs ); } if ( ( status == SUCCESS ) && ( services & PP_TX_PWR_LEVEL_SERVICE ) ) { // Allocate Client Characteristic Configuration table txPwrLevelConfig = (gattCharCfg_t *)osal_mem_alloc( sizeof(gattCharCfg_t) * linkDBNumConns ); if ( txPwrLevelConfig != NULL ) { // Initialize Client Characteristic Configuration attributes GATTServApp_InitCharCfg( INVALID_CONNHANDLE, txPwrLevelConfig ); // Register Tx Power Level attribute list and CBs with GATT Server App status = GATTServApp_RegisterService( txPwrLevelAttrTbl, GATT_NUM_ATTRS( txPwrLevelAttrTbl ), GATT_MAX_ENCRYPT_KEY_SIZE, &proxReporterCBs ); } else { status = bleMemAllocError; } } return ( status );}
开发者ID:DRuffer,项目名称:coinForth,代码行数:58,
示例23: Lights_addService/********************************************************************* * @fn Lights_addService * * @brief Initializes the Lights Profile service by registering * GATT attributes with the GATT server. * * @return Success or Failure */bStatus_t Lights_addService(void){ // Register GATT attribute list and CBs with GATT Server App return GATTServApp_RegisterService(lightsProfileAttrTbl, GATT_NUM_ATTRS(lightsProfileAttrTbl), GATT_MAX_ENCRYPT_KEY_SIZE, &lightsProfileCBs);}
开发者ID:PolymorphicLabs,项目名称:PML-Firmware,代码行数:17,
示例24: Glucose_AddService/********************************************************************* * @fn Glucose_AddService * * @brief Initializes the Glucose service by registering * GATT attributes with the GATT server. * * @param services - services to add. This is a bit map and can * contain more than one service. * * @return Success or Failure */bStatus_t Glucose_AddService(uint32 services){ uint8 status; // Allocate Client Characteristic Configuration table glucoseMeasConfig = (gattCharCfg_t *)osal_mem_alloc( sizeof(gattCharCfg_t) * linkDBNumConns ); if ( glucoseMeasConfig == NULL ) { return ( bleMemAllocError ); } // Allocate Client Characteristic Configuration table glucoseContextConfig = (gattCharCfg_t *)osal_mem_alloc( sizeof(gattCharCfg_t) * linkDBNumConns ); if ( glucoseContextConfig == NULL ) { // Free already allocated data osal_mem_free( glucoseMeasConfig ); return ( bleMemAllocError ); } // Allocate Client Characteristic Configuration table glucoseControlConfig = (gattCharCfg_t *)osal_mem_alloc( sizeof(gattCharCfg_t) * linkDBNumConns ); if ( glucoseControlConfig == NULL ) { // Free already allocated data osal_mem_free( glucoseMeasConfig ); osal_mem_free( glucoseContextConfig ); return ( bleMemAllocError ); } // Initialize Client Characteristic Configuration attributes. GATTServApp_InitCharCfg(INVALID_CONNHANDLE, glucoseMeasConfig); GATTServApp_InitCharCfg(INVALID_CONNHANDLE, glucoseContextConfig); GATTServApp_InitCharCfg(INVALID_CONNHANDLE, glucoseControlConfig); if (services & GLUCOSE_SERVICE) { // Register GATT attribute list and CBs with GATT Server App. status = GATTServApp_RegisterService(glucoseAttrTbl, GATT_NUM_ATTRS(glucoseAttrTbl), GATT_MAX_ENCRYPT_KEY_SIZE, &glucoseCBs); } else { status = SUCCESS; } return (status);}
开发者ID:denjackson,项目名称:RemoteControl-Car,代码行数:66,
示例25: OADTarget_AddService/********************************************************************* * @fn OADTarget_AddService * * @brief Initializes the OAD Service by registering GATT attributes * with the GATT server. Only call this function once. * * @return The return value of GATTServApp_RegisterForMsg(). */bStatus_t OADTarget_AddService(void){ // Initialize Client Characteristic Configuration attributes GATTServApp_InitCharCfg( INVALID_CONNHANDLE, oadImgIdentifyConfig ); GATTServApp_InitCharCfg( INVALID_CONNHANDLE, oadImgBlockConfig ); // Register with Link DB to receive link status change callback VOID linkDB_Register( oadHandleConnStatusCB ); return GATTServApp_RegisterService(oadAttrTbl, GATT_NUM_ATTRS(oadAttrTbl), &oadCBs);}
开发者ID:gaoyichuan,项目名称:VultureEgg,代码行数:19,
示例26: CcService_SetParameter/********************************************************************** @fn CcService_SetParameter** @brief Set a Simple Profile parameter.** @param param - Profile parameter ID* @param len - length of data to right* @param value - pointer to data to write. This is dependent on* the parameter ID and WILL be cast to the appropriate* data type (example: data type of uint16 will be cast to* uint16 pointer).** @return bStatus_t*/bStatus_t CcService_SetParameter( uint8 param, uint8 len, void *value ){ bStatus_t ret = SUCCESS; switch ( param ) { case CCSERVICE_CHAR1: if ( len == CCSERVICE_CHAR1_LEN ) { VOID osal_memcpy(ccServiceChar1, value, CCSERVICE_CHAR1_LEN ); // See if Notification has been enabled GATTServApp_ProcessCharCfg( ccDataConfig, ccServiceChar1, FALSE, ccServiceAttrTbl, GATT_NUM_ATTRS( ccServiceAttrTbl ), INVALID_TASK_ID, ccService_ReadAttrCB ); } else { ret = bleInvalidRange; } break; case CCSERVICE_CHAR2: if ( len == CCSERVICE_CHAR2_LEN ) { // Should not write to this value other than startup VOID osal_memcpy( ccServiceChar2, value, CCSERVICE_CHAR2_LEN ); } else { ret = bleInvalidRange; } break; case CCSERVICE_CHAR3: if ( len == sizeof ( uint8 ) ) { // Should not write to this value other than startup ccServiceChar3 = *((uint8*)value); } else { ret = bleInvalidRange; } break; default: ret = INVALIDPARAMETER; break; } return ( ret );}
开发者ID:aidaima,项目名称:RemoteControl-Car,代码行数:68,
示例27: Batt_AddService/** * @fn Batt_AddService * * @brief Initializes the Battery Service by registering * GATT attributes with the GATT server. * * @return Success or Failure */bStatus_t Batt_AddService(void){ uint8 status = SUCCESS; // Initialize Client Characteristic Configuration attributes GATTServApp_InitCharCfg(INVALID_CONNHANDLE, battLevelClientCharCfg); // Register GATT attribute list and CBs with GATT Server App status = GATTServApp_RegisterService(battAttrTbl, GATT_NUM_ATTRS(battAttrTbl), &battCBs); return (status);}
开发者ID:wythe-lin,项目名称:ZTKBLE,代码行数:20,
示例28: ProxReporter_SetParameter/********************************************************************* * @fn ProxReporter_SetParameter * * @brief Set a Proximity Reporter parameter. * * @param param - Profile parameter ID * @param len - length of data to right * @param value - pointer to data to write. This is dependent on * the parameter ID and WILL be cast to the appropriate * data type (example: data type of uint16 will be cast to * uint16 pointer). * * @return bStatus_t */bStatus_t ProxReporter_SetParameter(uint8 param, uint8 len, void *value){ bStatus_t ret = SUCCESS; switch (param) { case PP_LINK_LOSS_ALERT_LEVEL: if ((len == sizeof (uint8)) && ((*((uint8*)value) <= PP_ALERT_LEVEL_HIGH))) { llAlertLevel = *((uint8*)value); } else { ret = bleInvalidRange; } break; case PP_IM_ALERT_LEVEL: if (len == sizeof (uint8)) { imAlertLevel = *((uint8*)value); } else { ret = bleInvalidRange; } break; case PP_TX_POWER_LEVEL: if (len == sizeof (int8)) { txPwrLevel = *((int8*)value); // See if notifications have been enabled. GATTServApp_ProcessCharCfg(txPwrLevelConfig, (uint8 *)&txPwrLevel, FALSE, txPwrLevelAttrTbl, GATT_NUM_ATTRS(txPwrLevelAttrTbl), INVALID_TASK_ID, ProxReporter_ReadAttrCB); } else { ret = bleInvalidRange; } break; default: ret = INVALIDPARAMETER; break; } return (ret);}
开发者ID:victor-zheng,项目名称:BLE,代码行数:67,
注:本文中的GATT_NUM_ATTRS函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ GAgent_Printf函数代码示例 C++ GATTServApp_RegisterService函数代码示例 |