Subversion Repositories Code-Repo

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
352 Kevin 1
#ifndef SERIALHELPER_H
2
#define SERIALHELPER_H
3
 
4
#include "GlobalDefines.h"
5
#include <QtSerialPort>
6
 
7
#define SERIAL_NEWLINE_CHAR "\n"
8
#define SERIAL_BUFFER_SIZE	32
9
 
10
class SerialHelper : public QObject
11
{
12
        Q_OBJECT
13
    public:
14
        SerialHelper(QObject *parent = 0);
15
        ~SerialHelper();
16
 
17
        bool connected;
18
 
19
    public slots:
20
        // Inbound from SerialController
21
        void Serial_QueryParameters(void);
22
        void Serial_Connect(QString port, QString speed, QString dataBits,
23
                            QString stopBits, QString parity, QString flowControl);
353 Kevin 24
        void Serial_Disconnect(bool errored = false);
352 Kevin 25
        void Serial_TransmitString(QString string);
354 Kevin 26
        void Serial_TransmitByteArray(QByteArray data);
352 Kevin 27
 
28
        // Local processing of received data
29
        void Serial_ProcessIncomingData(void);
30
        void Serial_ProcessError(QSerialPort::SerialPortError error);
31
 
32
    signals:
33
        // Outbound to SerialController
34
        void Serial_UpdateParameters(QStringList ports, QStringList speeds, QStringList dataBits,
35
                                     QStringList stopBits, QStringList parity, QStringList flowControl);
36
        void Serial_ReceivedByte(char byte);
37
        void Serial_Connected(void);
38
        void Serial_Disconnected(void);
39
        void UpdateStatus(QString string);
40
 
41
    private:
42
        QSerialPort *serialPort;
43
        QStringList speeds;
44
        QStringList dataBits;
45
        QStringList stopBits;
46
        QStringList parity;
47
        QStringList flowControl;
48
 
49
        char bufferIn[SERIAL_BUFFER_SIZE];
50
        int bufferInIndex;
51
        bool bufferInOverflow;
52
        QString currString;
53
};
54
 
55
#endif // SERIALHELPER_H