From b3739a6a7be52d02dc1c508051633b5f46a13726 Mon Sep 17 00:00:00 2001 From: Jeremy Tan Date: Wed, 18 Sep 2013 09:04:17 +0800 Subject: [PATCH] Change actuator code to turn on/off all leds --- server/actuator.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/server/actuator.c b/server/actuator.c index af69c7f..9d2ad13 100644 --- a/server/actuator.c +++ b/server/actuator.c @@ -164,7 +164,28 @@ void Actuator_SetValue(Actuator * a, double value) //TODO: Set actuator switch (a->id) { - case ACTUATOR_TEST0: + case ACTUATOR_TEST0: + { + FILE *led_handle = NULL; //code reference: http://learnbuildshare.wordpress.com/2013/05/19/beaglebone-black-controlling-user-leds-using-c/ + const char *led_format = "/sys/class/leds/beaglebone:green:usr%d/brightness"; + char buf[50]; + bool turn_on = value; + + for (int i = 0; i < 4; i++) + { + snprintf(buf, 50, led_format, i); + if ((led_handle = fopen(buf, "w")) != NULL) + { + if (turn_on) + fwrite("1", sizeof(char), 1, led_handle); + else + fwrite("0", sizeof(char), 1, led_handle); + fclose(led_handle); + } + else + Log(LOGDEBUG, "LED fopen failed: %s", strerror(errno)); + } + } break; case ACTUATOR_TEST1: break; -- 2.20.1