servo geht

This commit is contained in:
Tristan Krause 2019-06-27 15:29:18 +02:00
parent 7b2e5aa1ef
commit eaa8ca721a
207 changed files with 278 additions and 15300 deletions

View file

@ -1,14 +1,40 @@
#ifndef SERVO_H
#define SERVO_H
class Server
#include <avr/io.h>
class Servo
{
public:
/**
* Initialisiert die Servo Funktion (Timer 1 & 2).
*/
void init(void) const volatile;
/**
* Aktiviert das Servo Signal
*/
void enable(void) volatile;
/**
* Deaktiviert das Servo Signal
*/
void disable(void) const volatile;
/**
* Setzt die Pulselänge und damit die Servo Position
*/
void setPosition(uint16_t pos) const volatile;
/**
* Beendet den aktuellen Impuls. Wird von der zugehörigen Interrupt-Routine aufgerufen.
*/
void handleTimer1(void) const volatile;
/**
* Inkrementiert die Frequenzsteuerung und löst gegebenenfalls einen neuen Impuls aus.
*/
void handleTimer2(void) volatile;
private:
uint8_t repetition_counter;
static constexpr uint8_t PRESCALER_IMPULSE = _BV(CS11); // prescaler 8
};
#endif // SERVO_H