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,
42 class OrteCallbackInfo {
47 OrteCallbackInfo(QObject *areceiver, enum robomon_qev aqev) :
48 receiver(areceiver), qev(aqev) {};
55 #define FRONT_LAUNCH 5
56 #define TRANSPORTER_FRONT 2
57 #define TRANSPORTER_INNER 3
59 #define FRONT_DOOR_UP 20
60 #define FRONT_DOOR_DOWN 251
61 #define INNER_DOOR_UP 255
62 #define INNER_DOOR_DOWN 1
63 #define BACK_DOOR_UP 180
64 #define BACK_DOOR_DOWN 1
65 #define TOP_DOOR_UP 255
66 #define TOP_DOOR_DOWN 1
67 #define TRANSPORTER_OFF 127
68 #define FRONT_LAUNCH_LOCK 195
69 #define FRONT_LAUNCH_OPEN 66
71 #define MOTOR_LIMIT 10000.0
79 /* callback functions */
81 void dummy_publisher_callback(const ORTESendInfo *info,
82 void *vinstance, void *arg);
83 void sendMotorCallBack(const ORTESendInfo *info,
84 void *vinstance, void *arg);
85 void sendSharpLongsCallBack(const ORTESendInfo *info,
86 void *vinstance, void *arg);
87 void sendSharpShortsCallBack(const ORTESendInfo *info,
88 void *vinstance, void *arg);
89 void sendPowerControlCallBack(const ORTESendInfo *info,
90 void *vinstance, void *arg);
92 void receiveMotionStatusCallBack(const ORTERecvInfo *info,
93 void *vinstance, void *arg);
94 void receiveActualPositionCallBack(const ORTERecvInfo *info,
95 void *vinstance, void *arg);
96 void receiveEstimatedPositionCallBack(const ORTERecvInfo *info,
97 void *vinstance, void *arg);
98 void receiveSharpLongsCallBack(const ORTERecvInfo *info,
99 void *vinstance, void *arg);
100 void receiveSharpShortsCallBack(const ORTERecvInfo *info,
101 void *vinstance, void *arg);
102 void receiveSharpsCallBack(const ORTERecvInfo *info,
103 void *vinstance, void *arg);
104 void receiveIRCallBack(const ORTERecvInfo *info,
105 void *vinstance, void *arg);
106 void receiveDICallBack(const ORTERecvInfo *info,
107 void *vinstance, void *arg);
108 void receiveLaserCallBack(const ORTERecvInfo *info,
109 void *vinstance, void *arg);
110 void receiveAccelerometerCallBack(const ORTERecvInfo *info,
111 void *vinstance, void *arg);
112 void receiveAccumulatorCallBack(const ORTERecvInfo *info,
113 void *vinstance, void *arg);
114 void receivePowerVoltageCallBack(const ORTERecvInfo *info,
115 void *vinstance, void *arg);
116 void receiveActuatorStatusCallBack(const ORTERecvInfo *info,
117 void *vinstance, void *arg);
118 void rcv_motion_irc_cb(const ORTERecvInfo *info,
119 void *vinstance, void *arg);
120 void rcv_fsm_main_cb(const ORTERecvInfo *info,
121 void *vinstance, void *arg);
122 void rcv_fsm_act_cb(const ORTERecvInfo *info,
123 void *vinstance, void *arg);
124 void rcv_fsm_motion_cb(const ORTERecvInfo *info,
125 void *vinstance, void *arg);
126 void generic_rcv_cb(const ORTERecvInfo *info, void *vinstance, void *arg);
128 #endif /* ROBOMON_ORTE_H */