#ifndef POLYSERVO_H
#define POLYSERVO_H

#include "mbed.h"
#include <vector>


#define SERVO_DISABLED -1       // This is going to take raw servo microsecond entries. 
#define SERVO_PPM_PERIOD 20000  // In microseconds

class Polyservo {
public:
    
    std::vector<DigitalOut *> servos;
    //DigitalOut * servos; 
    
    bool global_enable; 
    int position[]; 
    int numservos; 
    
    Polyservo(DigitalOut servo_pins[], int num_pins);
    void set_position(int pos);
    
    
    
    
    
private: 
    
    Ticker period_tick; 
    std::vector<Timeout *> servo_times;
    //Timeout * servo_times; 
    
    
    
    
    
    


};



#endif