Advertisement
Guest User

Untitled

a guest
Aug 25th, 2014
912
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.10 KB | None | 0 0
  1. static void advertising_init(void)
  2. {
  3.     uint32_t      err_code;
  4.     //ble_advdata_t advdata;
  5.     uint8_t       flags = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE;
  6. //for scanned response
  7.         //ble_advdata_t scanrsp;
  8. ble_advdata_manuf_data_t srv_data; //service data  
  9.         uint8_array_t               data_array;
  10. uint8_t                  data[2];
  11.        
  12.         data[0]=0;
  13.  
  14.        
  15.     ble_uuid_t adv_uuids[] =
  16.     {
  17.         {BLE_UUID_HEART_RATE_SERVICE,         BLE_UUID_TYPE_BLE},
  18.         {BLE_UUID_BATTERY_SERVICE,            BLE_UUID_TYPE_BLE},
  19.         {BLE_UUID_DEVICE_INFORMATION_SERVICE, BLE_UUID_TYPE_BLE}
  20.     };
  21.  
  22.     // Build and set advertising data.
  23.     memset(&advdata, 0, sizeof(advdata));
  24.  
  25.     advdata.name_type               = BLE_ADVDATA_FULL_NAME;
  26.     advdata.include_appearance      = true;
  27.     advdata.flags.size              = sizeof(flags);
  28.     advdata.flags.p_data            = &flags;
  29.     advdata.uuids_complete.uuid_cnt = sizeof(adv_uuids) / sizeof(adv_uuids[0]);
  30.     advdata.uuids_complete.p_uuids  = adv_uuids;
  31.  
  32.     // Initialize advertising parameters (used when starting advertising).
  33.     memset(&m_adv_params, 0, sizeof(m_adv_params));
  34.  
  35.     m_adv_params.type        = BLE_GAP_ADV_TYPE_ADV_IND;
  36.     m_adv_params.p_peer_addr = NULL;                           // Undirected advertisement.
  37.     m_adv_params.fp          = BLE_GAP_ADV_FP_ANY;
  38.     m_adv_params.interval    = APP_ADV_INTERVAL;
  39.     m_adv_params.timeout     = APP_ADV_TIMEOUT_IN_SECONDS;
  40.                
  41.                 flag++;
  42.                
  43.                 data[0]=rand();
  44.                
  45.                 data[1]=random_val();
  46.                 //data[2]=0x33;
  47. data_array.p_data = data;
  48. data_array.size = sizeof(data);
  49. srv_data.service_uuid = BLE_UUID_HEALTH_THERMOMETER_SERVICE;
  50. srv_data.data = data_array;
  51.  
  52.  // Initialize advertising scanned parameters (used when starting advertising)
  53. memset(&scanrsp, 0, sizeof(scanrsp));
  54. scanrsp.p_manuf_specific_data = &srv_data;
  55. scanrsp.service_data_count      = 1;
  56.  
  57.  
  58. err_code = ble_advdata_set(&advdata, &scanrsp);
  59. APP_ERROR_CHECK(err_code);
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement