-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackend.h
123 lines (93 loc) · 2.67 KB
/
backend.h
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#ifndef BACKEND_H
#define BACKEND_H
#include "modbusmodule.h"
#include "writebox.h"
class Backend : public QObject
{
Q_OBJECT
public:
explicit Backend(QObject *parent = nullptr);
QString userName();
void setUserName(const QString &userName);
private:
int fsm();
int ComPing();
int ComSweep();
void genStableCommands();
void genMutableCommands();
//facilitate information flow between comm and modb
signals:
void deviceConnected();
void createPage(QString qmlString);
void cleanUp();
void createTab(QString qmlString, QString tabTitle);
void spawnStableTabs(QList<QString> pageList, QList<QString> titleList, int pageCount);
void spawnMutableTabs(QList<QString> pageList, QList<QString> titleList, int pageCount);
void spawnButtonPanel(QString qmlString);
//update values to/from UI
void upChildVal(int box, int card, QString value);
void getChildVal(int box, int card);
void upWriteStatus(int status);
//manual serial port
void portList(QList<QString> list, int size);
void manReport(QString pname, bool result);
void manClosed(bool result);
public slots:
//reset
void ark_reset();
void promptClean();
//fsm
void EXEfsm();
void pauseComm();
//update card transients
void upTransient(int boxToken, int cardCount, QString ftransient);
void upButtonTransient(int boxToken, int cardCount);
void flushButtonTransients();
void promptWrite();
void fauxWrite();
void fauxUpValues();
//modb slots
void startSweep();
void refresh_statics();
//component-loading check
void incrementComponents();
//file io
void loadSetupFile(QString path);
void altloadSetupFile(QString path);
void loadConfigFile(QString path);
void saveConfigFile(QString path);
//Manual Serial Port
void refreshPorts();
void openCOMPort(QString portN, QString baudR,
QString parity, QString stopB);
void closeCOMPort();
private:
ParamWarehouse *storage;
ModbusModule *modb;
//State Holders
int bkState;
//true if page config loaded
bool paged;
bool writeTime;
bool writeButtonTime;
bool loadConfigTime;
//0 -> nothing
//1 -> try to connect
//2 -> connected
int connstat;
bool pauseCommunication;
//the next ParameterBox to query
int liftIndex;
//lift static params (as well as dynamic) if true
bool refresh;
int refreshCount = 0;
//timer to iterate backend fsm
QTimer *timer;
//test
int oneTime;
bool lockFSM;
//Component Completion checkers
int componentCount;
int componentComplete;
};
#endif // BACKEND_H