-
Notifications
You must be signed in to change notification settings - Fork 0
/
XBeeAPIReaderDialog.h
71 lines (51 loc) · 2.54 KB
/
XBeeAPIReaderDialog.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
#ifndef XBEEAPIREADERDIALOG_H
#define XBEEAPIREADERDIALOG_H
#include <QQueue>
#include <QDialog>
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
#define XBEE_API_FRAME_AT_COMMAND 0x08 /* AT Command */
#define XBEE_API_FRAME_AT_COMMAND_QUEUE_PARAM_VALUE 0x09 /* AT Command - Queue Parameter Value */
#define XBEE_API_FRAME_ZB_XMT_RQST 0x10 /* ZigBee Transmit Request */
#define XBEE_API_FRAME_XPLICIT_ADDR_ZB_CMD_FRAME 0x11 /* Explicit Addressing ZigBee Command Frame */
#define XBEE_API_FRAME_REMOTE_CMD_RQST 0x17 /* Remote Command Request*/
#define XBEE_API_FRAME_CREATE_SRC_ROUTE 0x21 /* Create Source Route */
#define XBEE_API_FRAME_AT_CMD_RESP 0x88 /* AT Command Response */
#define XBEE_API_FRAME_MODEM_STATUS 0x8A /* Modem Status */
#define XBEE_API_FRAME_ZB_XMT_STATUS 0x8B /* ZigBee Transmit Status */
#define XBEE_API_FRAME_ZB_RECV_PKT_AO_0 0x90 /* ZigBee Receive Packet (AO=0) */
#define XBEE_API_FRAME_ZB_XPLICIT_RX_IND_AO_1 0x91 /* ZigBee Explicit Rx Indicator (AO=1) */
#define XBEE_API_FRAME_ZB_IO_DATA_SAMP_RX_IND 0x92 /* ZigBee IO Data Sample Rx Indicator */
#define XBEE_API_FRAME_XB_SENSOR_RD_IND 0x94 /* XBee Sensor Read Indicator (AO=0) */
#define XBEE_API_FRAME_NODE_ID_IND_AO_0 0x95 /* Node Identification Indicator (AO=0) */
#define XBEE_API_FRAME_REMOTE_CMD_RESP 0x97 /* Remote Command Response */
#define XBEE_API_FRAME_OVER_AIR_FW_UPDATE_STATUS 0xA0 /* Over-the-Air Firmware Update Status */
#define XBEE_API_FRAME_ROUTE_RECORD_IND 0xA1 /* Route Record Indicator */
namespace Ui {
class Dialog;
}
class XBeeAPIReaderDialog : public QDialog
{
Q_OBJECT
public:
explicit XBeeAPIReaderDialog(QWidget *parent = 0);
~XBeeAPIReaderDialog();
private slots:
void on_connectButton_clicked();
void on_serialPortComboBox_currentIndexChanged(int index);
void readResponse( );
void on_disconnectButton_clicked();
void on_debugDataButton_clicked();
private:
Ui::Dialog *ui;
QSerialPort m_serialPort;
QList<QSerialPortInfo> m_serialPortInfoList;
void handleXBeeSerialData( QByteArray& data );
void unescapeSerialData( QByteArray& data );
void dumpByteArray( QByteArray& data );
QQueue< QByteArray > m_ZBFrameQueue;
void handleDataFrames( );
void decodeZBAPIFrame( QByteArray& completeFrame );
QByteArray m_frameInProgress;
};
#endif // XBEEAPIREADERDIALOG_H