robomon.h

00001 #ifndef ROBOMON_H
00002 #define ROBOMON_H
00003 
00004 #include <QWidget>
00005 #include <QTimer>
00006 #include <QMouseEvent>
00007 #include "ui_robomon.h"
00008 #include "robot.h"
00009 #include "mapthread.h"
00010 #include <queue>
00011 #include <cstdlib>
00012 #include <sys/shm.h>
00013 #include <sys/stat.h>
00014 
00015 
00016 #include <sys/socket.h>
00017 #include <netinet/in.h>
00018 #include <arpa/inet.h>
00019 #include <stdio.h>
00020 #include <unistd.h>
00021 
00022 #include <RobotType.h>
00023 #include <trgen.h>
00024 #include "playgroundscene.h"
00025 
00026 #include <orte.h>
00027 
00028 #include <map.h>
00029 
00030 #define RES_FACTOR 5
00031 #define RES_X 300 / RES_FACTOR
00032 #define RES_Y 210 / RES_FACTOR
00033 
00034 #define PG_X 600
00035 #define PG_Y 420
00036 
00037 #define TOP_LEFT QPointF(10,0)
00038 #define TOP_LEFT_X 10
00039 #define TOP_LEFT_Y 0
00040 #define TOP_MIDDLE QPointF(310,0)
00041 #define TOP_RIGHT QPointF(610,0)
00042 #define BOTTOM_LEFT QPointF(10,420)
00043 #define BOTTOM_MIDDLE QPointF(310,420)
00044 #define BOTTOM_RIGHT QPointF(610,420)
00045 #define BIN_LEFT_BOTTLE_START QPointF(5,320)
00046 #define BIN_LEFT_BOTTLE_END QPointF(5,420)
00047 #define BIN_LEFT_CAN_START QPointF(10,425)
00048 #define BIN_LEFT_CAN_END QPointF(110,425)
00049 #define BIN_RIGHT_BOTTLE_START QPointF(615,320)
00050 #define BIN_RIGHT_BOTTLE_END QPointF(615,420)
00051 #define BIN_RIGHT_CAN_START QPointF(510,425)
00052 #define BIN_RIGHT_CAN_END QPointF(610,425)
00053 
00054 #define FRONT_DOOR 1
00055 #define INNER_DOOR 4
00056 #define BACK_DOOR 0
00057 #define FRONT_LAUNCH 5
00058 #define TRANSPORTER_FRONT 2
00059 #define TRANSPORTER_INNER 3
00060 
00061 #define FRONT_DOOR_UP 20
00062 #define FRONT_DOOR_DOWN 251
00063 #define INNER_DOOR_UP 255
00064 #define INNER_DOOR_DOWN 1
00065 #define BACK_DOOR_UP 180
00066 #define BACK_DOOR_DOWN 1
00067 #define TRANSPORTER_OFF 127
00068 #define FRONT_LAUNCH_LOCK 195
00069 #define FRONT_LAUNCH_OPEN 66
00070 
00071 #define MOTOR_LIMIT 10000.0
00072 
00073 #define EVENT_POS (QEvent::Type)(QEvent::User)
00074 #define EVENT_IR (QEvent::Type)(QEvent::User+1)
00075 #define EVENT_SHARP (QEvent::Type)(QEvent::User+2)
00076 #define EVENT_DI (QEvent::Type)(QEvent::User+3)
00077 #define EVENT_MAP (QEvent::Type)(QEvent::User+4)
00078 
00080 
00084 class robomon : public QWidget, private Ui::Form
00085 {
00086   Q_OBJECT
00087 
00088 public:
00090 
00093         int shared_segment_size;
00094         
00096 
00100         int segment_id;
00101         
00103 
00106     PlaygroundScene* scene;
00107         
00109 
00112         robot *rob;
00113         
00115 
00118         sharpShorts sharpyLahve;
00119         
00121 
00124         sharpLongs sharpySouper;
00125         
00127 
00130         QTimer *timer;
00131         
00133 
00136         _Map *map;      
00137         
00139 
00144         int size;
00145 
00147 
00150         robomon(QWidget* parent = 0, Qt::WFlags fl = 0);
00151         
00153 
00156         ~robomon();
00157         
00159 
00163         bool event(QEvent *evet);
00164         
00166 
00170         void setDI(stateDigIn);
00171         
00173 
00177         void setSharp();
00178         
00179         
00180 public slots:
00181   /*$PUBLIC_SLOTS$*/
00182         void moveServo(int value);
00183         void frontDoor(int value);
00184         void innerDoor(int value);
00185         void backDoor(int value);
00186         void launchFront(int value);
00187 
00188         void stopDopravnikFront();
00189         void stopDopravnikBack();
00190         void setDO(int x);
00191         void setIR(unsigned short int);
00192         void setMotor(int);
00193         void setSimul(int);
00194         void setSharpVal(int);
00195         void stopMotors(void);
00196     void changeObstacle(QPointF pos);
00197         
00199 
00202         void showMap(void);
00203         void paintMap(void);
00204 
00205 protected:
00206   /*$PROTECTED_FUNCTIONS$*/
00207 
00208 protected slots:
00209   /*$PROTECTED_SLOTS$*/
00210     void obstackleSimulation(int state);
00211     void simulateObstackles();
00212 
00213 protected:
00214     QTimer * obstSimTimer;
00215     Point simulatedObstacle;
00216 };
00217 
00218 #endif
00219 

Generated on Thu Sep 13 11:28:28 2007 for DCE-Eurobot by  doxygen 1.5.3