#include <FastLED.h>



#define NUM_LEDS 20

#define DATA_PIN 2

#define COLOUR_ORDER GRB

#define CHIPSET WS2812

#define BRIGHTNESS 50

#define VOLTS 5

#define MAX_AMPS 500



CRGB leds[NUM_LEDS];



const int buttonPin = 5; // Button pin



void setup() {

//FastLED.addLeds<NEOPIXELS, DATA_PIN, COLOUR_ORDER>(leds, NUM_LEDS);
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);


//FastLED.setMaxPowerInVoltsAndMilliamps(VOLTS, MAX_AMPS);

//FastLED.setBrightness(BRIGHTNESS);

FastLED.clear(true);

FastLED.show();
Serial.begin(115200);
Serial.println("init");

}

int lastButtonState = 0;
long lastChanged = 0;
int buttonState = 0;

void loop() {

int count = 50;
again:
int newstate = digitalRead(buttonPin); // Reads the state of the button
if (newstate != buttonState && count-- > 0) goto again;
buttonState = newstate;


for (int i = 0; i < NUM_LEDS; i++) {
  if (buttonState == HIGH) {
   leds[i] = CRGB::Red;
  } else {
   leds[i] = CRGB::Green;
  }

}


FastLED.show();

}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
ring1:GND
ring1:VCC
ring1:DIN
ring1:DOUT
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r