-
Notifications
You must be signed in to change notification settings - Fork 0
/
Turret.h
108 lines (93 loc) · 2.82 KB
/
Turret.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/**
* \file
* \brief Turret class header file.
* \author Vasiliy Polyakov <vp@psu.ru>
* \author RobotPSU https://robot.psu.ru/
* \date 2017-2018
*/
#ifndef Turret_h
#define Turret_h
#include <Arduino.h>
#include <Servo.h>
// Turret angles
#define TURRET_START_H 90 ///< Starting horizontal angle (degrees)
#define TURRET_START_V 90 ///< Starting horizontal angle (degrees)
#define TURRET_DELTA_H 1 ///< Horizontal increment/decrement (degrees)
#define TURRET_DELTA_V 1 ///< Horizontal increment/decrement (degrees)
#define TURRET_MIN_H 30 ///< Minimum horizontal angle (degrees)
#define TURRET_MAX_H 150 ///< Maximum horizontal angle (degrees)
#define TURRET_MIN_V 70 ///< Minimum vertical angle (degrees)
#define TURRET_MAX_V 150 ///< Maximum vertical angle (degrees)
/**
* TALAS rotating turret with laser gun.
*/
class Turret
{
public:
uint8_t h0; ///< Initial horizontal angle.
uint8_t v0; ///< Initial vertical angle.
/**
* Constructor.
*/
Turret();
/**
* Attach turret with laser gun only.
* \param pinLaser pin for laser gun.
*/
void attach(uint8_t pinLaser);
/**
* Attach movable turret with laser gun.
* \param pinLaser pin for laser gun.