22

Dependencies:   DISCO_L475VG_IOT01A_wifi

LEDcontrol.cpp

Committer:
ascension2
Date:
2019-08-20
Revision:
1:98939393d0db
Parent:
0:dc1150daf908

File content as of revision 1:98939393d0db:

#include "mbed.h"
#include "init_pin.h"


float const variation = 0.00392;  
float red_value;
float green_value;
float blue_value;
int automode;
int cds_state;
int led_state;

void pwmLed()
{   
    float cdsData;
    cdsData = CDS.read();   
    if (automode==1)
    {
       
            
        if(cdsData<0.7f)
        {
            pwmRed.write(0);     
            pwmGreen.write(0);  
            pwmBlue.write(0);
            cds_state=0;
        }
       else 
        {   
            pwmRed.write(red_value);     
            pwmGreen.write(green_value);  
            pwmBlue.write(blue_value); 
            cds_state=1;
        }

        
 
    }

    else 
    { 
      if(cdsData<0.7f)
        {
           cds_state=0;
        }
       else 
        {   
          cds_state=1;
        }
        pwmRed.write(red_value);     
        pwmGreen.write(green_value);  
        pwmBlue.write(blue_value);  
 
    }    
}   
void setRGB(float Red,float Green,float Blue,int led_info)
{

    if (led_info ==0) // led off
    {
        red_value =0;
        blue_value =0;
        green_value =0;
        led_state=0;
    }
    else if(led_info ==1) // led on
    {
        red_value =255*variation;
        blue_value =255*variation;
        green_value =255*variation;
        automode =1;
        led_state=1;
    }
    else if(led_info ==2) //user input value
    {
        red_value = Red*variation;
        blue_value = Blue*variation;
        green_value = Green*variation;
        automode = 0;
        led_state=2;
    }
    
    pwmLed();
    
}