diff options
author | Richard Hughes <richard@hughsie.com> | 2017-07-30 16:38:30 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2017-07-31 12:00:57 +0100 |
commit | 8d45f440bb0809615e7cf1ad6cba3a0484041b38 (patch) | |
tree | 7af7b4365405a70537134d0caba0afd8b637cb4b | |
parent | 15f6125a6f0446e71da68a26f9683dbf353107bb (diff) | |
download | colord-8d45f440bb0809615e7cf1ad6cba3a0484041b38.tar.gz |
huey: Do not spin the LEDs when the sensor is embedded
..and thus has no LEDs to flash.
-rw-r--r-- | src/cd-sensor.c | 7 | ||||
-rw-r--r-- | src/cd-sensor.h | 1 | ||||
-rw-r--r-- | src/sensors/huey/cd-sensor-huey.c | 18 |
3 files changed, 18 insertions, 8 deletions
diff --git a/src/cd-sensor.c b/src/cd-sensor.c index 347c5f7..8b5bd80 100644 --- a/src/cd-sensor.c +++ b/src/cd-sensor.c @@ -273,6 +273,13 @@ cd_sensor_get_kind (CdSensor *sensor) return priv->kind; } +gboolean +cd_sensor_get_is_embedded (CdSensor *sensor) +{ + CdSensorPrivate *priv = GET_PRIVATE (sensor); + return priv->embedded; +} + /** * cd_sensor_load: * @sensor: a valid #CdSensor instance diff --git a/src/cd-sensor.h b/src/cd-sensor.h index b01795b..9c66339 100644 --- a/src/cd-sensor.h +++ b/src/cd-sensor.h @@ -80,6 +80,7 @@ void cd_sensor_button_pressed (CdSensor *sensor); gboolean cd_sensor_dump (CdSensor *sensor, GString *data, GError **error); +gboolean cd_sensor_get_is_embedded (CdSensor *sensor); CdSensorKind cd_sensor_get_kind (CdSensor *sensor); void cd_sensor_set_kind (CdSensor *sensor, CdSensorKind kind); diff --git a/src/sensors/huey/cd-sensor-huey.c b/src/sensors/huey/cd-sensor-huey.c index 9a8ff87..b68d356 100644 --- a/src/sensors/huey/cd-sensor-huey.c +++ b/src/sensors/huey/cd-sensor-huey.c @@ -188,15 +188,17 @@ cd_sensor_huey_lock_thread_cb (GTask *task, } /* spin the LEDs */ - for (i = 0; spin_leds[i] != 0xff; i++) { - if (!huey_device_set_leds (priv->device, spin_leds[i], &error)) { - g_task_return_new_error (task, - CD_SENSOR_ERROR, - CD_SENSOR_ERROR_INTERNAL, - "%s", error->message); - goto out; + if (!cd_sensor_get_is_embedded (sensor)) { + for (i = 0; spin_leds[i] != 0xff; i++) { + if (!huey_device_set_leds (priv->device, spin_leds[i], &error)) { + g_task_return_new_error (task, + CD_SENSOR_ERROR, + CD_SENSOR_ERROR_INTERNAL, + "%s", error->message); + goto out; + } + g_usleep (50000); } - g_usleep (50000); } /* success */ |