On mangOH Yellow, there’s an app called
leds, which drives all the software-controlled LEDs on the board. You can control that through the
dataHub either using the Data Hub’s C APIs or using the
dhub command-line tool.
The “generic” green LED appears in the Data Hub at resource path
You can run the following command to see all the dataHub connected to the
root@swi-mdm9x28-wp:~# dhub list /app/leds
To turn on the LED using the
dhub command-line tool, run:
root@swi-mdm9x28-wp:~# dhub push /app/leds/mono/enable true
To turn it off, run:
root@swi-mdm9x28-wp:~# dhub push /app/leds/mono/enable false
To control the LEDs using the Data Hub’s “Admin API” in C, you first need to give your component access to that API by adding the following to your Component.cdef:
dhubAdmin = admin.api
This creates a client-side interface on your component that can be connected up to the server-side interface called “admin” on the
dataHub app. You create that connection by adding the following to your app’s
myExe.myComponent.dhubAdmin -> dataHub.admin
Now you can use the Data Hub’s Admin API to control the
/app/leds/mono/enable resource in your component’s C code like this:
dhubAdmin_PushBoolean("/app/leds/mono/enable", 0, newState);
- The second parameter (
0) is the timestamp you are assigning to the “sample” that you are pushing to that resource.
0 is a special value which means “now”.
- The last parameter (
newState) is the boolean value of your “sample”.
So, this will push a new data sample to that resource, which will be delivered to the
leds app, which will respond by setting the LED state to the value in that sample (
false = off,
true = on).