5 * @author Filip Jares (?)
8 * @brief Robot's actuators control library
12 * actuators.c 09/02/25
14 * Robot's actuators control.
16 * Copyright: (c) 2008-2010 CTU Dragons
17 * CTU FEE - Department of Control Engineering
18 * License: GNU GPL v.2
22 #include <actuators.h>
24 static struct robottype_orte_data *orte = NULL;
26 static uint16_t jaw_left_last_request;
27 static uint16_t jaw_right_last_request;
28 static uint16_t lift_last_request;
30 void act_init(struct robottype_orte_data *ortedata)
37 void act_camera_on(void)
39 orte->camera_control.on = 1;
40 ORTEPublicationSend(orte->publication_camera_control);
43 void act_camera_off(void)
45 orte->camera_control.on = 0;
46 ORTEPublicationSend(orte->publication_camera_control);
49 void act_lift(uint16_t req_pos, char speed, char homing)
52 orte->lift_cmd.req_pos = req_pos;
53 orte->lift_cmd.speed = speed;
54 orte->lift_cmd.homing = homing;
55 /* Remember the request so that we change check for matching
56 * response in rcv_vidle_status_cb() */
57 lift_last_request = req_pos;
58 ORTEPublicationSend(orte->publication_lift_cmd);
61 void act_jaws(jaws_cmds cmd)
65 orte->jaws_cmd.req_pos.left = JAW_LEFT_OPEN;
66 orte->jaws_cmd.req_pos.right = JAW_RIGHT_OPEN;
69 orte->jaws_cmd.req_pos.left = JAW_LEFT_CLOSE;
70 orte->jaws_cmd.req_pos.right = JAW_RIGHT_CLOSE;
73 orte->jaws_cmd.req_pos.left = JAW_LEFT_CATCH;
74 orte->jaws_cmd.req_pos.right = JAW_RIGHT_CATCH;
77 orte->jaws_cmd.req_pos.left = JAW_LEFT_OPEN;
78 orte->jaws_cmd.req_pos.right = JAW_RIGHT_OPEN;
82 uint16_t act_jaw_left_get_last_reqest(void)
84 return jaw_left_last_request;
87 uint16_t act_jaw_right_get_last_reqest(void)
89 return jaw_right_last_request;
92 uint16_t act_lift_get_last_reqest(void)
94 return lift_last_request;