Subversion Repositories Code-Repo

Rev

Rev 348 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 348 Rev 351
Line 1... Line 1...
1
#ifndef SERIALCONTROLLER_H
1
#ifndef SERIALCONTROLLER_H
2
#define SERIALCONTROLLER_H
2
#define SERIALCONTROLLER_H
3
 
3
 
4
#include "GlobalDefines.h"
4
#include "GlobalDefines.h"
5
#include <QtSerialPort>
5
#include "SerialHelper.h"
6
 
6
 
7
#define SERIAL_NEWLINE_CHAR "\n"
-
 
8
#define SERIAL_BUFFER_SIZE	32
-
 
9
 
-
 
10
class SerialController : public QObject
7
class SerialController : public QWidget
11
{
8
{
12
        Q_OBJECT
9
        Q_OBJECT
13
    public:
10
    public:
14
        SerialController(QObject *parent = 0);
11
        SerialController(QWidget *parent = 0);
15
        ~SerialController();
12
        ~SerialController();
16
 
13
 
17
        bool connected;
-
 
18
 
-
 
19
    public slots:
14
    public slots:
-
 
15
        // Inbound from SerialHelper
-
 
16
        void Serial_UpdateParameters(QStringList ports, QStringList speeds, QStringList dataBits,
-
 
17
                                     QStringList stopBits, QStringList parity, QStringList flowControl);
-
 
18
 
-
 
19
        // Local GUI processing
-
 
20
        void Serial_ConnectToggleBtn(void);
-
 
21
        void Serial_LocalConnected(void);
-
 
22
        void Serial_LocalDisconnected(void);
-
 
23
 
-
 
24
    signals:
-
 
25
        // Outbound to SerialHelper
20
        void Serial_QueryParameters(void);
26
        void Serial_QueryParameters(void);
21
        void Serial_Connect(QString port, QString speed, QString dataBits,
27
        void Serial_Connect(QString port, QString speed, QString dataBits,
22
                            QString stopBits, QString parity, QString flowControl);
28
                            QString stopBits, QString parity, QString flowControl);
23
        void Serial_Disconnect(void);
29
        void Serial_Disconnect(void);
24
        void Serial_TransmitString(QString string);
30
        void Serial_TransmitString(QString string);
25
        void Serial_ProcessIncomingData(void);
31
        void Serial_TransmitByteArray(QByteArray buffer);
26
 
32
 
27
    signals:
33
        // Outbound to MainWindow
28
        void Serial_UpdateParameters(QStringList ports, QStringList speeds, QStringList dataBits,
-
 
29
                                     QStringList stopBits, QStringList parity, QStringList flowControl);
-
 
30
        void Serial_ReceivedString(QString string);
34
        void Serial_ReceivedByte(char byte);
31
        void Serial_Connected(void);
35
        void Serial_Connected(void);
32
        void Serial_Disconnected(void);
36
        void Serial_Disconnected(void);
-
 
37
        void UpdateStatus(QString string);
33
 
38
 
34
    private:
39
    private:
35
        QSerialPort *serialPort;
40
        SerialHelper *serialHelper;
36
        QStringList speeds;
41
        QThread *serialThread;
-
 
42
 
-
 
43
        QPushButton *btnSerialConnect;
-
 
44
        QPushButton *btnSerialRefresh;
-
 
45
        QLabel *labelSerialPort;
-
 
46
        QLabel *labelSerialSpeed;
37
        QStringList dataBits;
47
        QLabel *labelSerialDataBits;
38
        QStringList stopBits;
48
        QLabel *labelSerialStopBits;
39
        QStringList parity;
49
        QLabel *labelSerialParity;
40
        QStringList flowControl;
50
        QLabel *labelSerialFlowControl;
41
 
-
 
42
        char bufferIn[SERIAL_BUFFER_SIZE];
51
        QComboBox *cboxSerialPort;
43
        int bufferInIndex;
52
        QComboBox *cboxSerialSpeed;
-
 
53
        QComboBox *cboxSerialDataBits;
44
        bool bufferInOverflow;
54
        QComboBox *cboxSerialStopBits;
45
        QString currString;
55
        QComboBox *cboxSerialParity;
-
 
56
        QComboBox *cboxSerialFlowControl;
46
};
57
};
47
 
58
 
48
#endif // SERIALCONTROLLER_H
59
#endif // SERIALCONTROLLER_H