#pragma once

#ifdef ATM_TEENSTEP_OSC_H

#include "Atm_Teenstep.h"

#include <EthernetUdp.h>
#include <OSCMessage.h>
#include <OSCBundle.h>

class Atm_Teenstep_OSC {

  public:
    Atm_Teenstep_OSC( void ){};
    Atm_Teenstep_OSC& begin(Atm_Teenstep & stepperMachineRef,
                              EthernetUDP& udpRef,
                               OSCBundle& bndl,
                               const char* address);
    Atm_Teenstep* stepperMachine ;
    const char* _adress = "/OSC";
    EthernetUDP* _udpRef ;
    Atm_Teenstep_OSC& onOSC(OSCMessage& msg );
    Atm_Teenstep_OSC& sendOSC( void );

    void sendPosition(int idx, int v, int up);

  private:
   // AccelStepper _motor;
   // Stepper *_motor;       // STEP pin: 2, DIR pin: 3
   // StepControl _controller;
   OSCBundle* _bndl;

};

#endif