您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GATT_NUM_ATTRS函数代码示例

51自学网 2021-06-01 20:49:23
  C++
这篇教程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, &noti, FALSE) != SUCCESS)      {        GATT_bm_free((gattMsg_t *)&noti, 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,&noti, 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,                                  &noti.len, 0, (ATT_MTU_SIZE-3) ) == SUCCESS )        {          noti.handle = pAttr->handle;            if ( pItem->value & GATT_CLIENT_CFG_NOTIFY )          {            VOID GATT_Notification( pItem->connHandle, &noti, 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, &noti, FALSE) != SUCCESS)      {        GATT_bm_free((gattMsg_t *)&noti, 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函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。