|  |  | @ -0,0 +1,49 @@ | 
			
		
	
		
			
				
					|  |  |  | /* led.cpp */ | 
			
		
	
		
			
				
					|  |  |  | #include"led.h" | 
			
		
	
		
			
				
					|  |  |  | #include<iostream> | 
			
		
	
		
			
				
					|  |  |  | #include<fstream> | 
			
		
	
		
			
				
					|  |  |  | #include<string> | 
			
		
	
		
			
				
					|  |  |  | #include<sstream> | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | #define LED_PATH "/sys/class/leds/beaglebone:green:usr" | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | CLED::CLED(int ledNumber){ | 
			
		
	
		
			
				
					|  |  |  | this->ledNumber = ledNumber; //Solo para argumentos que sean numeros | 
			
		
	
		
			
				
					|  |  |  | std::ostringstream s; | 
			
		
	
		
			
				
					|  |  |  | s << LED_PATH << ledNumber; | 
			
		
	
		
			
				
					|  |  |  | path =std::string(s.str()); //convert to string | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | void CLED::WriteLED(std::string filename, std::string value){ | 
			
		
	
		
			
				
					|  |  |  | std::ofstream fs; | 
			
		
	
		
			
				
					|  |  |  | fs.open((path+filename).c_str()); | 
			
		
	
		
			
				
					|  |  |  | fs << value; | 
			
		
	
		
			
				
					|  |  |  | fs.close(); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | void CLED::RemoveTrigger(){ | 
			
		
	
		
			
				
					|  |  |  | WriteLED("/trigger", "none"); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | void CLED::TurnOn(){ | 
			
		
	
		
			
				
					|  |  |  | std::cout << "LED Turn On" << ledNumber << "on" << std::endl; | 
			
		
	
		
			
				
					|  |  |  | RemoveTrigger(); | 
			
		
	
		
			
				
					|  |  |  | WriteLED("/brightness", "1"); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | void CLED::TurnOff(){ | 
			
		
	
		
			
				
					|  |  |  | std::cout << "LED Turn Off" << ledNumber << "off" << std::endl; | 
			
		
	
		
			
				
					|  |  |  | RemoveTrigger(); | 
			
		
	
		
			
				
					|  |  |  | WriteLED("/brightness", "0"); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | void CLED::BlinkLED(){ | 
			
		
	
		
			
				
					|  |  |  | std::cout << "LED blinking" << ledNumber << "blinking" << std::endl; | 
			
		
	
		
			
				
					|  |  |  | WriteLED("/trigger", "timer"); | 
			
		
	
		
			
				
					|  |  |  | WriteLED("/delay_on", "50"); | 
			
		
	
		
			
				
					|  |  |  | WriteLED("/delay_off", "50"); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | CLED::~CLED(){ | 
			
		
	
		
			
				
					|  |  |  | std::cout << "destroying LED " << path << std::endl; | 
			
		
	
		
			
				
					|  |  |  | } |