]> rtime.felk.cvut.cz Git - eurobot/public.git/blob - src/robomon/RobomonTuning.h
robomon: adapted sources to new robottype types, employed actlib function calls
[eurobot/public.git] / src / robomon / RobomonTuning.h
1 /*
2  * RobomonTuning.h                      07/10/31
3  *
4  * Robot's visualization and control GUI for robot of the
5  * Eurobot 2008 competition (Mission to Mars).
6  *
7  * Copyright: (c) 2008 DCE Eurobot Dragon Team
8  *            CTU FEE - Department of Control Engineering
9  * Authors: Martin Zidek, Michal Sojka, Tran Duy Khanh
10  * License: GNU GPL v.2
11  */
12
13 #ifndef ROBOMON_TUNING_H
14 #define ROBOMON_TUNING_H
15
16 #include <QDialog>
17
18 #include <sharp.h>
19 #include <trgen.h>
20 #include "PlaygroundScene.h"
21 #include "Robot.h"
22 #include "robomon_orte.h"
23 #include <roboorte_robottype.h>
24 #include <roboorte.h>
25
26 class QHBoxLayout;
27 class QVBoxLayout;
28 class QGridLayout;
29 class QGroupBox;
30 class QGraphicsView;
31 class QLabel;
32 class QPushButton;
33 class QCheckBox;
34 class QLineEdit;
35 class QTextEdit;
36 class QDial;
37 class QSlider;
38 class QProgressBar;
39 class QFont;
40
41
42 class RobomonTuning : public QWidget
43 {
44         Q_OBJECT
45
46 public:
47         RobomonTuning(QWidget *parent = 0);
48
49 protected:
50         bool event(QEvent *event);
51         void keyPressEvent(QKeyEvent *event);
52         void keyReleaseEvent(QKeyEvent *event);
53         void closeEvent(QCloseEvent *event);
54
55 signals:
56
57 private slots:
58         /************************************************************
59          * GUI actions 
60          ************************************************************/
61         void setServos(int value);
62         void setMotors(int state);
63         void setPwrAlert(int state);
64         void setCanMsg();
65
66         /************************************************************
67          * ORTE 
68          ************************************************************/
69 private:
70         /************************************************************
71          * GUI
72          ************************************************************/
73         void createLeftLayout();
74         void createRightLayout();
75
76         void createMotorsGroupBox();
77         void createServosGroupBox();
78         void createPwrGroupBox();
79         void createCanGroupBox();
80
81         void createActions();
82
83         QGroupBox *enginesGroupBox;
84         QGroupBox *servosGroupBox;
85         QGroupBox *pwrGroupBox;
86         QGroupBox *canGroupBox;
87
88         QVBoxLayout *leftLayout;
89         QVBoxLayout *rightLayout;
90
91         /* motors control */
92         QDial *brushLeft;
93         QDial *brushRight;
94         QDial *liftPos;
95         QDial *pusher;
96         
97         QLineEdit *brushLeftLEdit;
98         QLineEdit *brushRightLEdit;
99         QLineEdit *liftPosLEdit;
100         QLineEdit *pusherLEdit;
101
102         /* servos control */
103         QDial *servoBrushLeft;
104         QDial *servoBrushRight;
105         QDial *servoHolder;
106         QDial *servoReserve;
107
108         QLineEdit *servoBrushLeftLEdit;
109         QLineEdit *servoBrushRightLEdit;
110         QLineEdit *servoHolderLEdit;
111         QLineEdit *servoReserveLEdit;
112
113         QLineEdit *canData1;
114         QLineEdit *canData2;
115         QLineEdit *canData3;
116         QLineEdit *canData4;
117         QLineEdit *canData5;
118         QLineEdit *canData6;
119         QLineEdit *canData7;
120         QLineEdit *canData8;
121         QLineEdit *canMsgLen;
122         QLineEdit *canId;
123         QPushButton *canSendPButton;
124
125         QCheckBox *pwrAlertCBox;
126
127         /************************************************************
128          * ORTE 
129          ************************************************************/
130         void createOrte();
131
132         struct robottype_orte_data orte;
133 };
134
135 #endif /* ROBOMON_TUNING_H */