     digitalPin(const uint8_t id, const uint8_t pinSwitch, const uint8_t pinOn, const uint8_t pinOff);
     void updateSwitch();
     void updateLedState(const uint8_t c, const uint8_t val);
-    void updateLed(const bool blink);
-    const uint8_t getId() { return(m_id); }
+    void updateLed(const bool blink) const ;
+    const uint8_t getId() const { return(m_id); }
   private:
     const uint8_t m_id, m_pinSwitch, m_pinOn, m_pinOff;
-    uint8_t m_lastPinState;
-    uint8_t m_lastLedState; // bits: 0=GxON, 1=RxON, 2=GxBLINK, 3=RxBLINK
+    uint8_t m_lastPinState { HIGH } ;
+    uint8_t m_lastLedState { 0 } ; // bits: 0=GxON, 1=RxON, 2=GxBLINK, 3=RxBLINK
 };
 
 digitalPin digiPins[] = {

{
}

void analogOutPin::updateState(const uint8_t val) {
	analogWrite(m_pin,val);
}


  private:
    const uint8_t m_id, m_pin;
    const int m_threshold;
    int m_lastAValue { 0 };
};

analogInPin analogInPins[] = {
