From b6e96c6b1c42fbfa7d9181c7a4752bcdd7943c91 Mon Sep 17 00:00:00 2001 From: Dewal Agarwal Date: Wed, 1 Apr 2020 10:12:40 +0530 Subject: Revert: Modify Wi-Fi Power Model Change-Id: Icddd756f91f77c1225103ae313d680aafa8ec25b Signed-off-by: Dewal Agarwal --- include/bm_plugin_interface.h | 2 -- src/bm_power_engine.c | 28 ++++++++++------------------ 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/include/bm_plugin_interface.h b/include/bm_plugin_interface.h index 05ef8e9..e8e0b32 100644 --- a/include/bm_plugin_interface.h +++ b/include/bm_plugin_interface.h @@ -139,8 +139,6 @@ typedef struct { uint time_level_2; /**< Total time in milliseconds during which rssi was on level 2 */ uint time_level_3; /**< Total time in milliseconds during which rssi was on level 3 */ uint time_level_4; /**< Total time in milliseconds during which rssi was on level 4 */ - uint rxTime; /**< Total time in milliseconds (RX) mode */ - uint txTime; /**< Total time in milliseconds (TX) mode */ time_t startTime; /**< start time of feature data collection session */ time_t endTime; /**< end time of feature data collection session */ uint scanTime; /**< Total time spent by the resource in (scan) mode during the session */ diff --git a/src/bm_power_engine.c b/src/bm_power_engine.c index a186b66..0ff3db6 100644 --- a/src/bm_power_engine.c +++ b/src/bm_power_engine.c @@ -788,18 +788,19 @@ int bm_wifi_calc_power_and_commit(bm_wifi_st *handle, bool mode) long int sesTime = 0, scTime = 0, tl_total = 0; long int tl0 = 0, tl1 = 0, tl2 = 0, tl3 = 0, tl4 = 0; double onTime = 0; - long int RX = 0, TX = 0, rx_time = 0, tx_time = 0; + long int RX = 0, TX = 0; /* iterating over list for data accumulation */ for (wifi_data_iterator = handle->wifi_data_list; wifi_data_iterator; wifi_data_iterator = wifi_data_iterator->next) { bm_wifi_st *datalistnode = (bm_wifi_st *)(wifi_data_iterator->data); edTime = datalistnode->endTime; stTime = datalistnode->startTime; - sesTime += (edTime - stTime); + sesTime += edTime - stTime; scTime += datalistnode->scanTime; - tl0 += datalistnode->time_level_0; tl1 += datalistnode->time_level_1; - tl2 += datalistnode->time_level_2; tl3 += datalistnode->time_level_3; + tl0 += datalistnode->time_level_0; + tl1 += datalistnode->time_level_1; + tl2 += datalistnode->time_level_2; + tl3 += datalistnode->time_level_3; tl4 += datalistnode->time_level_4; - rx_time += datalistnode->rxTime; tx_time += datalistnode->txTime; wifi_atm_iterator = datalistnode->atm_list; for ( ; wifi_atm_iterator; wifi_atm_iterator = wifi_atm_iterator->next) { app_time_map_st2 *wifi_atm_node = NULL; @@ -846,7 +847,6 @@ int bm_wifi_calc_power_and_commit(bm_wifi_st *handle, bool mode) tl0 /= 1000; tl1 /= 1000; tl2 /= 1000; tl3 /= 1000; tl4 /= 1000; scTime /= 1000; sesTime /= 1000; onTime /= 1000; - rx_time /= 1000; tx_time /= 1000; tl_total = tl0 + tl1 + tl2 + tl3 + tl4; /* Wifi power consumption Level - 1 at the Resource Level */ long int P_power_wifi = 0, P_power_data = 0, P_power_conn = 0; @@ -855,10 +855,8 @@ int bm_wifi_calc_power_and_commit(bm_wifi_st *handle, bool mode) (sP_power_wf_tl4 * tl4) + (sP_power_wf_scan * scTime) + (sP_power_wf_idle * (sesTime - (tl_total + scTime)))); /* Amount based usage calculation */ -// P_power_data = ((sP_power_wf_tx) * TX) + ((sP_power_wf_rx) * RX); + P_power_data = ((sP_power_wf_tx) * TX) + ((sP_power_wf_rx) * RX); - /* Use rx and tx time to calculate the usage */ - P_power_data = ((sP_power_wf_tx * tx_time) + (sP_power_wf_rx * rx_time)); P_power_wifi = P_power_conn + P_power_data; _DBG("Calculated Power for Wifi P_power_wifi(%ld), P_power_conn (%ld), P_power_data(%ld)", P_power_wifi, P_power_conn, P_power_data); @@ -870,16 +868,10 @@ int bm_wifi_calc_power_and_commit(bm_wifi_st *handle, bool mode) long int P_power_app_wifi = 0, P_power_app_data = 0, P_power_app_conn = 0; char *appid = NULL; long int apprx = 0, apptx = 0; - double apptime = 0, crtx_t = 0; - long int rx_t = 0, tx_t = 0, rx_tx_time = 0; + double apptime = 0; + long int rx_t = 0, tx_t = 0; long int ret_time = bm_get_log_time(); - /* Coefficient to divide the rx and tx time wrt rx and tx bytes */ - if (RX != 0 || TX != 0) { - rx_tx_time = rx_time + tx_time; - crtx_t = (double)rx_tx_time/(RX + TX); - } - appid_usage_s *app_usage = (appid_usage_s *)calloc(1, sizeof(appid_usage_s)); if (app_usage == NULL) { _ERR("memory allocation failed"); @@ -895,7 +887,7 @@ int bm_wifi_calc_power_and_commit(bm_wifi_st *handle, bool mode) apptx = temp->tx; tx_t += apptx; apptime = temp->time; apptime /= 1000; - P_power_app_data = (sP_power_wf_tx * (crtx_t * apptx)) + (sP_power_wf_rx * (crtx_t * apprx)); + P_power_app_data = ((sP_power_wf_tx) * apptx) + ((sP_power_wf_rx) * apprx); if (onTime != 0) P_power_app_conn = (P_power_conn * apptime)/onTime; //check for 0 denominator & same units -- cgit v1.2.3