/****************************************************
  EIGHT BUTTONS EXAMPLE:
  An example that checks the status of eight buttons.
  All input pins will have their pullups enabled.
  The LED blinks for each on press transition.
  ***************************************************/

#include <Toggle.h>

const byte num = 8; // number of buttons
const byte pin[num] = {13, 16, 17, 18, 19, 20, 21, 33}; //button pins
const byte ledPin = 4;
const unsigned int blinkMs = 100; // led blink duration (ms)

Toggle *sw = new Toggle[num];

void setup() {
  pinMode(ledPin, OUTPUT);
  for (int i = 0; i < num; ++i) {
    sw[i].begin(pin[i]);
    sw[i] = pin[i];
  }
}

void loop() {
  byte ledState = num;
  for (int i = 0; i < num; i++)  {
    sw[i].poll();
    if (sw[i].blink(blinkMs)) {
      ledState++;
    } else {
      ledState--;
    }
  }
  digitalWrite(ledPin, ledState);
  delay(1);
}
Loading
esp32-s2-devkitm-1