From: Jeremy Tan Date: Wed, 18 Sep 2013 01:04:17 +0000 (+0800) Subject: Change actuator code to turn on/off all leds X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=c92490dbf1e2a383b83f012815e6c93bd8245d7a;p=matches%2FMCTX3420.git Change actuator code to turn on/off all leds --- 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;