-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmutil_process.h.autosave
65 lines (51 loc) · 988 Bytes
/
mutil_process.h.autosave
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef ASSEMBLY_LINE_H
#define ASSEMBLY_LINE_H
#include <QThread>
#include <QMutex>
#include <QMutexLocker>
#include <QDomDocument>
class MultiProcess
{
public:
MultiProcess();
void parse_xml(QString name);
};
class ShareMemory
{
public:
QString device;
QString action;
float joint[6];
float axis[3];
};
class AssemblyLine : public QThread
{
Q_OBJECT
enum SubState
{
sub_state0,
sub_state1,
sub_state2,
sub_state3,
sub_state4,
sub_state5,
sub_state6
};
public:
AssemblyLine(QDomElement assembly_line);
void run();
void do_work();
void set_state(int state);
int get_state();
int assembly_line_state;
QDomElement assembly_line;
QDomElement process;
QMutex mutex;
SubState sub_state;
quint16 count;
ShareMemory share_memory;
QMutex share_memory_mutex;
void acquire();
void release();
};
#endif // ASSEMBLY_LINE_H