servo geht
This commit is contained in:
parent
7b2e5aa1ef
commit
eaa8ca721a
207 changed files with 278 additions and 15300 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue