Im void setup() mehrere inputs gruppieren?

template<unsigned i, unsigned j> struct Inputs
{
  union
  {
    struct
    {
      byte limitSwitch[i];
      byte limitSensor[j];
    };
    byte all[i+j];
  };  
};

template<size_t N> void pinMode(const byte (&pins)[N], const int mode)
{
  for(const byte pin:pins)  pinMode(pin,mode);
}

constexpr Inputs<8,8> inputs{ {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17}};

void setup() 
{
  pinMode(inputs.all,INPUT);

 // bool merker = digitalRead(inputs.limitSwitch[3]);
}

void loop() 
{}

Sieht etwas wahnsinnig aus, aber spart sogar noch ein paar Bytes Flash ein.

1 Like