Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
PolyServo.h
- Committer:
- ikrase
- Date:
- 2015-07-04
- Revision:
- 8:c09ae4fef420
- Parent:
- 7:f9e1e813fa24
- Child:
- 9:a40eac6bdfae
File content as of revision 8:c09ae4fef420:
#ifndef POLYSERVO_H
#define POLYSERVO_H
#include "mbed.h"
//#include "FPointer.h"
#include <vector>
//#include "SpecifiedTimeout.h"
#define SERVO_DISABLED -1 // This is going to take raw servo microsecond entries.
#define PPM_PERIOD 20000 // In microseconds
#define NUM_SERVOS 12
void servo_set(int id);
class Polyservo {
public:
std::vector<DigitalOut *> servos;
//DigitalOut * servos;
//bool global_enable;
int positions[NUM_SERVOS];
int numservos;
void disable();
void enable();
Polyservo(DigitalOut servo_pins[]);
void set_position(int s, int pos);
private:
Ticker period_tick;
std::vector<Timeout *> servo_timers;
//Timeout * servo_times;
//void servo_set(int id);
void servos_reset(void);
bool global_enable;
void servo0_set(void);
void servo1_set(void);
void servo2_set(void);
void servo3_set(void);
void servo4_set(void);
void servo5_set(void);
void servo6_set(void);
void servo7_set(void);
void servo8_set(void);
void servo9_set(void);
void servo10_set(void);
void servo11_set(void);
//void servo12_set(void);
void (*servo_sets[NUM_SERVOS])(void);
};
#endif