 
 volatile bool statedChanged = false;
 
+void updateSensors() {
+  for (int i = 0; i < SENSORS_QUANTITY; i++) {
+   limitSensors[i]->update();
+  }
+}
+
 void updateInputs() {
   for (int i = 0; i < BUTTONS_QUANTITY; i++) {
    buttons[i]->update();
   }
   joystick.update();
+  updateSensors();
 }
 
 void updateActions() {

}

void initSensors() {
  limitASoftStopBase.setup();
  limitAHardStopBase.setup();
  limitBSoftStopBase.setup();
  limitBHardStopBase.setup();

  limitASoftStopRotador.setup();
  limitAHardStopRotador.setup();
  limitBSoftStopRotador.setup();
  limitBHardStopRotador.setup();
}

void addLimitSensorsToMotor(MyStepper* stepper, DigitalInput* limitASoftStop, DigitalInput* limitAHardStop, DigitalInput* limitBSoftStop, DigitalInput* limitBHardStop) {
  stepper->addLimitSensors(limitASoftStop, limitAHardStop, limitBSoftStop, limitBHardStop);
  limitASoftStop->subscribe(stepper);
  limitAHardStop->subscribe(stepper);
  limitBSoftStop->subscribe(stepper);
  limitBHardStop->subscribe(stepper);
}

void addLimitSensors() {
  addLimitSensorsToMotor(&stepperBase, &limitASoftStopBase, &limitAHardStopBase, &limitBSoftStopBase, &limitBHardStopBase);
  addLimitSensorsToMotor(&stepperRotador, &limitASoftStopRotador, &limitAHardStopRotador, &limitBSoftStopRotador, &limitBHardStopRotador);
}

void initMotors() {
  motorsContainer.setup();
  //addLimitSensors();
  joystick.subscribe(&motorsContainer);
}



void setup() {
  initButtons();
  initSensors();
  initMotors();
  //initActions();
  Serial.begin(9600);
