]> rtime.felk.cvut.cz Git - eurobot/public.git/blob - src/robofsm/actuators.h
b687a1e98237121c875d9a69fd1cdb2a9f28108f
[eurobot/public.git] / src / robofsm / actuators.h
1 /**
2  * @file actuators.h
3  * @author Martin Zidek
4  * @author Filip Jares (?)
5  * @date 2009-2010
6  *
7  * @brief Robot's actuators control library
8  */
9
10 /*
11  * actuators.h                  09/02/25
12  *
13  * Robot's actuators control.
14  *
15  * Copyright: (c) 2008-2010 CTU Dragons
16  *            CTU FEE - Department of Control Engineering
17  * License: GNU GPL v.2
18  */
19 /**
20 \defgroup actlib Actuators control library
21
22 Actuators library serves as a single control point for all the actuators 
23 of the robot.
24  */
25
26 #ifndef ACTUATORS_H
27 #define ACTUATORS_H
28
29 /* Hokuyo pitch angle limits */ // FIXME: obsolete: delete or update
30 #define HOKUYO_PITCH_MAX        0xF8
31 #define HOKUYO_PITCH_HORIZONTAL 0xC0
32 #define HOKUYO_PITCH_MIN        0x00
33
34 #include <stdint.h>
35
36 typedef enum {  
37   OPEN,
38   CLOSE,
39   CATCH
40 } jaws_cmds;
41
42 #define JAW_LEFT_OPEN   0xb0
43 #define JAW_RIGHT_OPEN  0x70
44
45 #define JAW_LEFT_CLOSE  0x60
46 #define JAW_RIGHT_CLOSE 0xc0
47
48 #define JAW_LEFT_CATCH  0x7a
49 #define JAW_RIGHT_CATCH 0xb0
50
51 #ifdef __cplusplus
52 extern "C" {
53 #endif 
54
55 void act_init(struct robottype_orte_data *ortedata);
56
57 void act_camera_on(void);
58 void act_camera_off(void);
59
60 void act_lift(uint16_t req_pos, char speed, char homing);
61 void act_jaws(jaws_cmds cmd);
62
63 uint16_t act_jaw_left_get_last_reqest(void);
64 uint16_t act_jaw_right_get_last_reqest(void);
65 uint16_t act_lift_get_last_reqest(void);
66
67 #ifdef __cplusplus
68 }
69 #endif 
70
71 #endif /* ACTUATORS_H */