/* * sevoclass.h * * Created on: 27. 6. 2014 * Author: martin.vitek */ #pragma once #include <avr/io.h> #include <math.h> #include <stdint.h> struct servo_data { //Min a max doba kontrolniho pulzu v us uint16_t min_duration; uint16_t max_duration; //Parametry PWM uint16_t ICR_value; uint16_t pulse_duration; }; class servo_class { //Promenne private: volatile uint8_t *ddr; uint8_t bit; volatile uint16_t *ocr; volatile uint8_t current_angle; servo_data &data; uint8_t one_step; uint8_t one_degree_pulse; //Metody public: //Konstruktor servo_class(volatile uint8_t *ddr, uint8_t bit, volatile uint16_t *ocr, servo_data &data); //Destruktor ~servo_class(); //Metody void set_angle(uint8_t angle); uint8_t get_angle() { return current_angle; }; };