absence_env_sensors = _uam_core_get_active_env_sensors(UAM_DETECT_ABSENCE);
UAM_DBG("Absence Envionmental sensors: 0x%8.8X", absence_env_sensors);
+ if (0 != presence_env_sensors) {
+ /* Stop PRESENCE detection on active envionmental sensors*/
+ ret = _uam_pm_stop_detection(UAM_DETECT_PRESENCE, presence_env_sensors);
+ if (UAM_ERROR_NONE != ret)
+ UAM_ERR("Failed with error: %s (0x%4.4X)",
+ _uam_manager_error_to_str(ret), ret);
+ }
+ if (0 != absence_env_sensors) {
+ /* Stop ABSENCE detection on envionmental sensors*/
+ ret = _uam_pm_stop_detection(UAM_DETECT_ABSENCE, absence_env_sensors);
+ if (UAM_ERROR_NONE != ret)
+ UAM_ERR("Failed with error: %s (0x%4.4X)",
+ _uam_manager_error_to_str(ret), ret);
+ }
+
for (l = services; NULL != l; l = g_slist_next(l)) {
service = l->data;
if (!service || !service->monitors)
done:
if (0 != presence_env_sensors) {
- /* Stop PRESENCE detection on active envionmental sensors*/
- ret = _uam_pm_stop_detection(UAM_DETECT_PRESENCE, presence_env_sensors);
- if (UAM_ERROR_NONE != ret)
- UAM_ERR("Failed with error: %s (0x%4.4X)",
- _uam_manager_error_to_str(ret), ret);
-
/* Always Start PRESENCE detection on active envionmental sensors*/
ret = _uam_pm_start_detection(UAM_DETECT_PRESENCE, presence_env_sensors);
if (UAM_ERROR_NONE != ret)
UAM_ERR("Failed with error: %s (0x%4.4X)",
_uam_manager_error_to_str(ret), ret);
}
-
if (0 != absence_env_sensors) {
- /* Stop ABSENCE detection on envionmental sensors*/
- ret = _uam_pm_stop_detection(UAM_DETECT_ABSENCE, absence_env_sensors);
- if (UAM_ERROR_NONE != ret)
- UAM_ERR("Failed with error: %s (0x%4.4X)",
- _uam_manager_error_to_str(ret), ret);
-
/* Always Start ABSENCE detection on active envionmental sensors*/
ret = _uam_pm_start_detection(UAM_DETECT_ABSENCE, absence_env_sensors);
if (UAM_ERROR_NONE != ret)
uam_db_service_info_t *service = mon->service;
cycle_state = UAM_DETECTION_CYCLE_END;
- UAM_DBG("[%s]->remaining_time: %d", service->name, service->remaining_time);
+ UAM_DBG("mon->sensors[0x%X], [%s]->remaining_time: %d", mon->sensors, service->name, service->remaining_time);
if (!(mon->sensors & _uam_core_get_env_sensors())) {
- if (service->remaining_time < service->cycle)
+ if (service->remaining_time < service->cycle) {
+ UAM_DBG("service->remaining_time < service->cycle, return");
return;
+ }
} else if (service->remaining_time > UAM_DETECTION_CYCLE_MIN) {
cycle_state = UAM_DETECTION_CYCLE_MID;
}