2 * robomon_orte.h 07/10/31
4 * Several functions to manage the ORTE communication.
6 * Copyright: (c) 2007 CTU Dragons
7 * CTU FEE - Department of Control Engineering
8 * Authors: Martin Zidek, Michal Sojka, Tran Duy Khanh
12 #ifndef ROBOMON_ORTE_H
13 #define ROBOMON_ORTE_H
16 #include <robottype.h>
17 #include <robottype.h>
18 #include <robottype.h>
20 /* Helper macro to generate user QEvent types */
21 #define QEVENT(event) (QEvent::Type)(QEvent::User+(event))
24 QEV_MOTION_STATUS = 0,
26 QEV_REFERENCE_POSITION,
27 QEV_ESTIMATED_POSITION_ODO,
28 QEV_ESTIMATED_POSITION_INDEP_ODO,
29 QEV_ESTIMATED_POSITION_BEST,
41 class OrteCallbackInfo {
46 OrteCallbackInfo(QObject *areceiver, enum robomon_qev aqev) :
47 receiver(areceiver), qev(aqev) {};
54 #define FRONT_LAUNCH 5
55 #define TRANSPORTER_FRONT 2
56 #define TRANSPORTER_INNER 3
58 #define FRONT_DOOR_UP 20
59 #define FRONT_DOOR_DOWN 251
60 #define INNER_DOOR_UP 255
61 #define INNER_DOOR_DOWN 1
62 #define BACK_DOOR_UP 180
63 #define BACK_DOOR_DOWN 1
64 #define TOP_DOOR_UP 255
65 #define TOP_DOOR_DOWN 1
66 #define TRANSPORTER_OFF 127
67 #define FRONT_LAUNCH_LOCK 195
68 #define FRONT_LAUNCH_OPEN 66
70 #define MOTOR_LIMIT 10000.0
78 /* callback functions */
80 void dummy_publisher_callback(const ORTESendInfo *info,
81 void *vinstance, void *arg);
82 void sendMotorCallBack(const ORTESendInfo *info,
83 void *vinstance, void *arg);
84 void sendSharpLongsCallBack(const ORTESendInfo *info,
85 void *vinstance, void *arg);
86 void sendSharpShortsCallBack(const ORTESendInfo *info,
87 void *vinstance, void *arg);
88 void sendPowerControlCallBack(const ORTESendInfo *info,
89 void *vinstance, void *arg);
91 void receiveMotionStatusCallBack(const ORTERecvInfo *info,
92 void *vinstance, void *arg);
93 void receiveActualPositionCallBack(const ORTERecvInfo *info,
94 void *vinstance, void *arg);
95 void receiveEstimatedPositionCallBack(const ORTERecvInfo *info,
96 void *vinstance, void *arg);
97 void receiveSharpLongsCallBack(const ORTERecvInfo *info,
98 void *vinstance, void *arg);
99 void receiveSharpShortsCallBack(const ORTERecvInfo *info,
100 void *vinstance, void *arg);
101 void receiveSharpsCallBack(const ORTERecvInfo *info,
102 void *vinstance, void *arg);
103 void receiveIRCallBack(const ORTERecvInfo *info,
104 void *vinstance, void *arg);
105 void receiveDICallBack(const ORTERecvInfo *info,
106 void *vinstance, void *arg);
107 void receiveLaserCallBack(const ORTERecvInfo *info,
108 void *vinstance, void *arg);
109 void receiveAccelerometerCallBack(const ORTERecvInfo *info,
110 void *vinstance, void *arg);
111 void receiveAccumulatorCallBack(const ORTERecvInfo *info,
112 void *vinstance, void *arg);
113 void receivePowerVoltageCallBack(const ORTERecvInfo *info,
114 void *vinstance, void *arg);
115 void receiveActuatorStatusCallBack(const ORTERecvInfo *info,
116 void *vinstance, void *arg);
117 void rcv_motion_irc_cb(const ORTERecvInfo *info,
118 void *vinstance, void *arg);
119 void rcv_fsm_main_cb(const ORTERecvInfo *info,
120 void *vinstance, void *arg);
121 void rcv_fsm_act_cb(const ORTERecvInfo *info,
122 void *vinstance, void *arg);
123 void rcv_fsm_motion_cb(const ORTERecvInfo *info,
124 void *vinstance, void *arg);
125 void generic_rcv_cb(const ORTERecvInfo *info, void *vinstance, void *arg);
127 #endif /* ROBOMON_ORTE_H */