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.