Last active
June 13, 2017 11:42
-
-
Save electronut/4a2343858c7cf7159bc7a6330ece0f41 to your computer and use it in GitHub Desktop.
Bluey Beacon set_adv_data()
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// set adv data | |
void set_adv_data(bool init) | |
{ | |
uint32_t err_code; | |
ble_advdata_t advdata; | |
uint8_t flags = BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED; | |
ble_advdata_manuf_data_t manuf_data; // Variable to hold manufacturer specific data | |
// Initialize with easily identifiable data | |
uint8_t data[] = { | |
0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, | |
0xb1, 0xb2, 0xb3, 0xb4 | |
}; | |
// get sensor data | |
if (!init) { | |
// get T/H | |
uint16_t temp_val, humid_val; | |
HDC1010_get_temp_raw(&temp_val); | |
data[0] = temp_val >> 8; | |
data[1] = temp_val; | |
HDC1010_get_humid_raw(&humid_val); | |
data[2] = humid_val >> 8; | |
data[3] = humid_val; | |
// get ambient light value | |
uint16_t adc_ch0, adc_ch1; | |
APDS9301_read_adc_data(&adc_ch0, &adc_ch1); | |
data[4] = adc_ch0 >> 8; | |
data[5] = adc_ch0; | |
data[6] = adc_ch1 >> 8; | |
data[7] = adc_ch1; | |
} | |
manuf_data.company_identifier = 0xFFFF; | |
manuf_data.data.p_data = data; | |
manuf_data.data.size = sizeof(data); | |
// Build advertising data struct to pass into @ref ble_advertising_init. | |
memset(&advdata, 0, sizeof(advdata)); | |
advdata.name_type = BLE_ADVDATA_SHORT_NAME; | |
advdata.short_name_len = 5; | |
advdata.flags = flags; //BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE; | |
advdata.p_manuf_specific_data = &manuf_data; | |
// if you don't set tx power, you get 3 extra bytes for manuf data | |
//int8_t tx_power = -4; | |
//advdata.p_tx_power_level = &tx_power; | |
advdata.include_appearance = true; | |
err_code = ble_advdata_set(&advdata, 0); | |
APP_ERROR_CHECK(err_code); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment