-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmotorsModule.h
More file actions
55 lines (46 loc) · 1.22 KB
/
motorsModule.h
File metadata and controls
55 lines (46 loc) · 1.22 KB
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
#ifndef MOTORSMODULE_H
#define MOTORSMODULE_H
#include <QObject>
struct motion {
qreal leadIn;
qreal leadOut;
qreal acceleration;
qreal deceleration;
qreal travelTime;
qreal prevLeadIn;
qreal prevAcceleration;
qreal prevDeceleration;
qreal prevTravelTime;
quint8 prevMicrostep;
// Set default values
motion() {
leadIn = 0;
acceleration = 0.333333;
deceleration = 0.333333;
travelTime = 1;
leadOut = 0;
prevLeadIn = -1;
prevAcceleration = -1;
prevDeceleration = -1;
prevTravelTime = -1;
prevMicrostep = 0xFF;
}
};
class motorsModule : public QObject
{
Q_OBJECT
public:
explicit motorsModule(QObject *root, QObject *parent = 0);
motion motorMotion(unsigned char address, unsigned char motor) const {
return m_motions[address][motor - 1];
}
private:
QObject *m_pRootItem;
motion m_motions[255][3];
unsigned char m_validatingMotor;
private slots:
void validateProgram(int address = -1, int motor = -1);
void motionChanged(int address, int motor, qreal p1, qreal p2, qreal p3, qreal p4);
void validateMotorFinished(const QByteArray &data);
};
#endif // MOTORSMODULE_H