diff --git a/Keil_5/ble_app_peripheral.uvoptx b/Keil_5/ble_app_peripheral.uvoptx
index 1ffbd80..0579de1 100644
--- a/Keil_5/ble_app_peripheral.uvoptx
+++ b/Keil_5/ble_app_peripheral.uvoptx
@@ -120,7 +120,7 @@
0
DLGUARM
-
+ d
0
diff --git a/src/user_peripheral.c b/src/user_peripheral.c
index 6630ef8..8b23317 100644
--- a/src/user_peripheral.c
+++ b/src/user_peripheral.c
@@ -75,57 +75,13 @@ struct mnf_specific_data_ad_structure
uint8_t app_connection_idx __SECTION_ZERO("retention_mem_area0");
timer_hnd app_clock_timer_used __SECTION_ZERO("retention_mem_area0"); //@RETENTION MEMORY
-timer_hnd app_adv_data_update_timer_used __SECTION_ZERO("retention_mem_area0");
timer_hnd app_param_update_request_timer_used __SECTION_ZERO("retention_mem_area0");
-// Retained variables
-struct mnf_specific_data_ad_structure mnf_data __SECTION_ZERO("retention_mem_area0"); //@RETENTION MEMORY
-// Index of manufacturer data in advertising data or scan response data (when MSB is 1)
-uint8_t mnf_data_index __SECTION_ZERO("retention_mem_area0"); //@RETENTION MEMORY
-uint8_t stored_adv_data_len __SECTION_ZERO("retention_mem_area0"); //@RETENTION MEMORY
-uint8_t stored_scan_rsp_data_len __SECTION_ZERO("retention_mem_area0"); //@RETENTION MEMORY
-uint8_t stored_adv_data[ADV_DATA_LEN] __SECTION_ZERO("retention_mem_area0"); //@RETENTION MEMORY
-uint8_t stored_scan_rsp_data[SCAN_RSP_DATA_LEN] __SECTION_ZERO("retention_mem_area0"); //@RETENTION MEMORY
-
/*
* FUNCTION DEFINITIONS
****************************************************************************************
*/
-/**
- ****************************************************************************************
- * @brief Initialize Manufacturer Specific Data
- ****************************************************************************************
- */
-static void mnf_data_init()
-{
- mnf_data.ad_structure_size = sizeof(struct mnf_specific_data_ad_structure ) - sizeof(uint8_t); // minus the size of the ad_structure_size field
- mnf_data.ad_structure_type = GAP_AD_TYPE_MANU_SPECIFIC_DATA;
- mnf_data.company_id[0] = APP_AD_MSD_COMPANY_ID & 0xFF; // LSB
- mnf_data.company_id[1] = (APP_AD_MSD_COMPANY_ID >> 8 )& 0xFF; // MSB
- mnf_data.proprietary_data[0] = 0;
- mnf_data.proprietary_data[1] = 0;
-}
-
-/**
- ****************************************************************************************
- * @brief Update Manufacturer Specific Data
- ****************************************************************************************
- */
-static void mnf_data_update()
-{
- uint16_t data;
-
- data = mnf_data.proprietary_data[0] | (mnf_data.proprietary_data[1] << 8);
- data += 1;
- mnf_data.proprietary_data[0] = data & 0xFF;
- mnf_data.proprietary_data[1] = (data >> 8) & 0xFF;
-
- if (data == 0xFFFF) {
- mnf_data.proprietary_data[0] = 0;
- mnf_data.proprietary_data[1] = 0;
- }
-}
/**
****************************************************************************************
@@ -147,64 +103,25 @@ static void app_add_ad_struct(struct gapm_start_advertise_cmd *cmd, void *ad_str
{
// Append manufacturer data to advertising data
memcpy(&cmd->info.host.adv_data[cmd->info.host.adv_data_len], ad_struct_data, ad_struct_len);
-
// Update Advertising Data Length
cmd->info.host.adv_data_len += ad_struct_len;
- // Store index of manufacturer data which are included in the advertising data
- mnf_data_index = cmd->info.host.adv_data_len - sizeof(struct mnf_specific_data_ad_structure);
}
else if ((SCAN_RSP_DATA_LEN - cmd->info.host.scan_rsp_data_len) >= ad_struct_len)
{
// Append manufacturer data to scan response data
memcpy(&cmd->info.host.scan_rsp_data[cmd->info.host.scan_rsp_data_len], ad_struct_data, ad_struct_len);
-
// Update Scan Response Data Length
cmd->info.host.scan_rsp_data_len += ad_struct_len;
- // Store index of manufacturer data which are included in the scan response data
- mnf_data_index = cmd->info.host.scan_rsp_data_len - sizeof(struct mnf_specific_data_ad_structure);
- // Mark that manufacturer data is in scan response and not advertising data
- mnf_data_index |= 0x80;
}
else
{
// Manufacturer Specific Data do not fit in either Advertising Data or Scan Response Data
ASSERT_WARNING(0);
}
- // Store advertising data length
- stored_adv_data_len = cmd->info.host.adv_data_len;
- // Store advertising data
- memcpy(stored_adv_data, cmd->info.host.adv_data, stored_adv_data_len);
- // Store scan response data length
- stored_scan_rsp_data_len = cmd->info.host.scan_rsp_data_len;
- // Store scan_response data
- memcpy(stored_scan_rsp_data, cmd->info.host.scan_rsp_data, stored_scan_rsp_data_len);
}
-/**
- ****************************************************************************************
- * @brief Advertisement data update timer callback function.
- ****************************************************************************************
-*/
-static void adv_data_update_timer_cb()
-{
- printk("adv_data_update_timer_cb!\n");
- // If mnd_data_index has MSB set, manufacturer data is stored in scan response
- uint8_t *mnf_data_storage = (mnf_data_index & 0x80) ? stored_scan_rsp_data : stored_adv_data;
-
- // Update manufacturer data
- mnf_data_update();
-
- // Update the selected fields of the advertising data (manufacturer data)
- memcpy(mnf_data_storage + (mnf_data_index & 0x7F), &mnf_data, sizeof(struct mnf_specific_data_ad_structure));
-
- // Update advertising data on the fly
- app_easy_gap_update_adv_data(stored_adv_data, stored_adv_data_len, stored_scan_rsp_data, stored_scan_rsp_data_len);
-
- // Restart timer for the next advertising update
- app_adv_data_update_timer_used = app_easy_timer(APP_ADV_DATA_UPDATE_TO, adv_data_update_timer_cb);
-}
/**
****************************************************************************************
@@ -227,15 +144,6 @@ void user_app_init(void)
adv_count = 0;
epd_hw_init(0x23200700, 0x05210006); // for 2.13 board BW
-
- // Initialize Manufacturer Specific Data
- mnf_data_init();
-
- // Initialize Advertising and Scan Response Data
- memcpy(stored_adv_data, USER_ADVERTISE_DATA, USER_ADVERTISE_DATA_LEN);
- stored_adv_data_len = USER_ADVERTISE_DATA_LEN;
- memcpy(stored_scan_rsp_data, USER_ADVERTISE_SCAN_RESPONSE_DATA, USER_ADVERTISE_SCAN_RESPONSE_DATA_LEN);
- stored_scan_rsp_data_len = USER_ADVERTISE_SCAN_RESPONSE_DATA_LEN;
default_app_on_init();
}