UAM_ADDR_TYPE_MAX
} uam_addr_type_e;
-#define UAM_DETECTION_WINDOW_DEFAULT 60 /* 60 seconds */
-#define UAM_DETECTION_WINDOW_MAX 290 /* 290 seconds */
-#define UAM_DETECTION_WINDOW_STEP 10 /* 10 seconds */
+#define UAM_DETECTION_WINDOW_DEFAULT 55 /* 55 seconds */
+#define UAM_DETECTION_WINDOW_MAX 55 /* 55 seconds */
+#define UAM_DETECTION_WINDOW_STEP 5 /* 5 seconds */
-#define UAM_DETECTION_CYCLE_DEFAULT 900 /* 900 seconds */
-#define UAM_DETECTION_CYCLE_MIN 300 /* 300 seconds */
+#define UAM_DETECTION_CYCLE_DEFAULT 60 /* 60 seconds */
+#define UAM_DETECTION_CYCLE_MIN 60 /* 60 seconds */
typedef struct {
char *name;
return sensors;
}
+unsigned int _uam_core_get_env_sensors()
+{
+ FUNC_ENTRY;
+ unsigned int sensors = 0;
+
+ sensors |= UAM_SENSOR_BITMASK_MOTION;
+ sensors |= UAM_SENSOR_BITMASK_LIGHT;
+
+ FUNC_EXIT;
+ return sensors;
+}
+
static GSList *__convert_db_svc_list_to_uam_svc_list(GSList *db_svc_list)
{
FUNC_ENTRY;
unsigned int sensors;
gboolean start_detection = FALSE;
GSList *l;
+ unsigned int env_sensors;
+
+ env_sensors = _uam_core_get_env_sensors();
+ UAM_DBG("Envionmental sensors: 0x%8.8X", env_sensors);
+ if (0 != env_sensors) {
+ /* Always Start PRESENCE detection on envionmental sensors*/
+ ret = _uam_pm_start_detection(UAM_DETECT_PRESENCE, 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;
sensors = _uam_core_get_active_sensors(UAM_DETECT_PRESENCE);
UAM_DBG("PRESENCE sensors: 0x%8.8X", sensors);
+ /* Remove env sensors from active sensors */
+ sensors &= ~env_sensors;
+ UAM_DBG("PRESENCE sensors: 0x%8.8X", sensors);
+
if (0 != sensors) {
/* Start PRESENCE detection */
ret = _uam_pm_start_detection(UAM_DETECT_PRESENCE, sensors);