|
|
|
@ -0,0 +1,57 @@ |
|
|
|
/*led.cpp*/ |
|
|
|
#include"LED.h"
|
|
|
|
#include<iostream>
|
|
|
|
#include<fstream>
|
|
|
|
#include<string>
|
|
|
|
#include<sstream>
|
|
|
|
|
|
|
|
#define LED_PATH "/sys/class/leds/beaglebone:green:usr"
|
|
|
|
|
|
|
|
LED::LED(int number){ |
|
|
|
this->number = number; |
|
|
|
std::ostringstream s; |
|
|
|
s << LED_PATH << number; // LED number to the Path
|
|
|
|
path = std::string(s.str()); // convert to string
|
|
|
|
} |
|
|
|
|
|
|
|
void LED::writeLED(std::string filename, std::string value){ |
|
|
|
std::ofstream fs; |
|
|
|
fs.open((path + filename).c_str()); |
|
|
|
fs << value; |
|
|
|
fs.close(); |
|
|
|
} |
|
|
|
|
|
|
|
void LED::removeTrigger(){ |
|
|
|
writeLED("/trigger", "none"); |
|
|
|
} |
|
|
|
|
|
|
|
void LED::turnOn(){ |
|
|
|
std::cout << "Turning LED" << number << "on" << std::endl; |
|
|
|
removeTrigger(); |
|
|
|
writeLED("/brightness", "1"); |
|
|
|
} |
|
|
|
|
|
|
|
void LED::turnOff(){ |
|
|
|
std::cout << "Turning LED" << number << "off" << std::endl; |
|
|
|
removeTrigger(); |
|
|
|
writeLED("/brightness", "0"); |
|
|
|
} |
|
|
|
|
|
|
|
void LED::flash(std::string delayms ="50"){ |
|
|
|
std::cout << "Making LED" << number << "flash" << std::endl; |
|
|
|
writeLED("/trigger", "timer"); |
|
|
|
writeLED("/delay_on", delayms); |
|
|
|
writeLED("/delay_off", delayms); |
|
|
|
} |
|
|
|
|
|
|
|
void LED::outputState(){ |
|
|
|
std::ifstream fs; |
|
|
|
fs.open((path + "/trigger").c_str()); |
|
|
|
std::string line; |
|
|
|
while(getline(fs,line)) std::cout << line <<std::endl; |
|
|
|
fs.close(); |
|
|
|
} |
|
|
|
|
|
|
|
LED::~LED(){ |
|
|
|
std::cout << "!!Destroying the LED with path: " << path << std::endl; |
|
|
|
} |