#include "pico/stdlib.h"

#define LED_R_PIN 12
#define LED_G_PIN 13
#define LED_B_PIN 11

#define BTN_A_PIN 5
#define BTN_B_PIN 6
#define BTN_C_PIN 7
#define BTN_D_PIN 9

#define LED_OFF 8

void set_leds(bool blue, bool green, bool red){
  gpio_put(LED_R_PIN, red);
  gpio_put(LED_G_PIN, green);
  gpio_put(LED_B_PIN, blue);
}

int main(){

  uint CONT=0;

  gpio_init(LED_R_PIN);
  gpio_set_dir(LED_R_PIN, GPIO_OUT);

  gpio_init(LED_G_PIN);
  gpio_set_dir(LED_G_PIN, GPIO_OUT);

  gpio_init(LED_B_PIN);
  gpio_set_dir(LED_B_PIN, GPIO_OUT);


  gpio_init(BTN_A_PIN);
  gpio_set_dir(BTN_A_PIN, GPIO_IN);
  gpio_pull_down(BTN_A_PIN);

  gpio_init(BTN_B_PIN);
  gpio_set_dir(BTN_B_PIN, GPIO_IN);
  gpio_pull_down(BTN_B_PIN);

  gpio_init(BTN_C_PIN);
  gpio_set_dir(BTN_C_PIN, GPIO_IN);
  gpio_pull_down(BTN_C_PIN);

  gpio_init(BTN_D_PIN);
  gpio_set_dir(BTN_D_PIN, GPIO_IN);
  gpio_pull_down(BTN_D_PIN);  

  gpio_init(LED_OFF);
  gpio_set_dir(LED_OFF, GPIO_IN);
  gpio_pull_down(LED_OFF);

  CONT=0;    

  while(true){
    if(gpio_get(BTN_A_PIN)){
      set_leds(0,1,0);//todos leds acesos
    }else if (gpio_get(BTN_B_PIN)){
      set_leds(1,0,0);//led verde aceso
    }else if (gpio_get(BTN_C_PIN)){
      set_leds(1,1,1);//led azul aceso
    }
    
    if (gpio_get(LED_OFF)){
      set_leds(0,0,0);
    sleep_ms(100);
    }

    if(gpio_get(BTN_D_PIN)){
      if(CONT==0){
        //while(gpio_get(BTN_D_PIN)){set_leds(0,0,0);}
        set_leds(0,0,0);
        CONT++;
        sleep_ms(300);
      }else if(CONT==1){
        //while(gpio_get(BTN_D_PIN)){set_leds(0,0,1);}
        set_leds(0,0,1);
        CONT++;
        sleep_ms(300);
      }else if(CONT==2){
        //while(gpio_get(BTN_D_PIN)){set_leds(0,1,0);}
        set_leds(0,1,0);
        CONT++;
        sleep_ms(300);
      }else if(CONT==3){
        //while(gpio_get(BTN_D_PIN)){set_leds(0,1,1);}
        set_leds(0,1,1);
        CONT++;
        sleep_ms(300);
      }else if(CONT==4){
        //while(gpio_get(BTN_D_PIN)){set_leds(1,0,0);}
        set_leds(1,0,0);
        CONT++;
        sleep_ms(300);
      }else if(CONT==5){
        //while(gpio_get(BTN_D_PIN)){set_leds(1,0,1);}
        set_leds(1,0,1);
        CONT++;
        sleep_ms(300);
      }else if(CONT==6){
        //while(gpio_get(BTN_D_PIN)){set_leds(1,1,0);}
        set_leds(1,1,0);
        CONT++;
        sleep_ms(300);
      }else if(CONT==7){
        //while(gpio_get(BTN_D_PIN)){set_leds(1,1,1);}
        set_leds(1,1,1);
        CONT=0;
        sleep_ms(300);
      }                                    
    }   


    sleep_ms(100);
  }

  return 0;    

}
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT