#ifndef STEPPER_TILDADO_H
#define STEPPER_TILDADO_H

#include <Arduino.h>
#include <math.h>

#define DOWN -1
#define UP 1

#define DIFERENCIA_NIVELES_TILDADO 5

extern uint8_t paso_completo[4][4];
extern uint8_t medio_paso[8][4];

class stepper_tildado
{
public:
  // constructor
  stepper_tildado(int IN1, int IN2, int IN3, int IN4, int demora){
    this->IN1 = IN1;
    this->IN2 = IN2;
    this->IN3 = IN3;
    this->IN4 = IN4;
    this->demora = demora;
    this->pos_actual = 0;

    pinMode(IN1, OUTPUT);
    pinMode(IN2, OUTPUT);
    pinMode(IN3, OUTPUT);
    pinMode(IN4, OUTPUT);
  };
  ~stepper_tildado(){};

  void stepper_vueltas(int steps, int dir);
  void stepper_conv(int nivel);
  int get_nivel();

private:
  int IN1, IN2, IN3, IN4;   // stepper motor coil pins
  int demora;               // delay between steps
  int pos_actual;           // current position
};

#endif
