From fb595ab43f1e24a2f65298f8e9f7cd49a2d7dd29 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Thu, 19 Jan 2017 22:20:25 +0100 Subject: [PATCH] Test ALS for events coming in --- src/monitor-sensor.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/monitor-sensor.c b/src/monitor-sensor.c index 8d1e997..730ed4d 100644 --- a/src/monitor-sensor.c +++ b/src/monitor-sensor.c @@ -12,6 +12,8 @@ static GMainLoop *loop; static guint watch_id; static GDBusProxy *iio_proxy, *iio_proxy_compass; +static int retval = 1; +static double last_als = 0.0; static void properties_changed (GDBusProxy *proxy, @@ -49,6 +51,7 @@ properties_changed (GDBusProxy *proxy, GVariant *unit; v = g_dbus_proxy_get_cached_property (iio_proxy, "LightLevel"); + last_als = g_variant_get_double (v); unit = g_dbus_proxy_get_cached_property (iio_proxy, "LightLevelUnit"); g_print (" Light changed: %lf (%s)\n", g_variant_get_double (v), g_variant_get_string (unit, NULL)); g_variant_unref (v); @@ -194,6 +197,19 @@ vanished_cb (GDBusConnection *connection, } } +static gboolean +check_als (gpointer data) +{ + if (last_als == 0.0) + retval = 1; + else + retval = 0; + g_main_loop_quit (loop); + g_message ("%s", retval == 1 ? "FAILED" : "SUCCESS"); + + return TRUE; +} + int main (int argc, char **argv) { watch_id = g_bus_watch_name (G_BUS_TYPE_SYSTEM, @@ -205,7 +221,8 @@ int main (int argc, char **argv) g_print (" Waiting for iio-sensor-proxy to appear\n"); loop = g_main_loop_new (NULL, TRUE); + g_timeout_add_seconds (10, check_als, NULL); g_main_loop_run (loop); - return 0; + return retval; } -- 2.9.3