Rabbit Remote Control 0.1.0-de
Loading...
Searching...
No Matches
ParameterSerialPort.cpp
1// Author: Kang Lin <kl222@126.com>
2
3#include <QLoggingCategory>
4#include "ParameterSerialPort.h"
5#include "ParameterPlugin.h"
6
7static Q_LOGGING_CATEGORY(log, "SerialPort.Parameter")
8
10 CParameterOperate *parent, const QString &szPrefix)
11 : CParameterTerminalBase{parent, szPrefix}
12 , m_nSerialPort(-1)
13 , m_nBaudRate(9600)
14 , m_DataBits(QSerialPort::DataBits::Data8)
15 , m_Parity(QSerialPort::NoParity)
16 , m_StopBits(QSerialPort::OneStop)
17 , m_FlowControl(QSerialPort::HardwareControl)
18{}
19
20int CParameterSerialPort::OnLoad(QSettings &set)
21{
22 set.beginGroup("SerialPort");
23 SetSerialPort(set.value("Index", GetSerialPort()).toInt());
24 SetSerialPortName(set.value("Name", GetSerialPortName()).toString());
25 SetBaudRate(set.value("BaudRate", GetBaudRate()).toInt());
26 SetDataBits((QSerialPort::DataBits)set.value("DataBits", (int)GetDataBits()).toInt());
27 SetParity((QSerialPort::Parity)set.value("Parity", (int)GetParity()).toInt());
28 SetStopBits((QSerialPort::StopBits)set.value("StopBits", (int)GetStopBits()).toInt());
29 SetFlowControl((QSerialPort::FlowControl)set.value("FlowControl", (int)GetFlowControl()).toInt());
30 set.endGroup();
31 return CParameterTerminalBase::OnLoad(set);
32}
33
34int CParameterSerialPort::OnSave(QSettings &set)
35{
36 set.beginGroup("SerialPort");
37 set.setValue("Index", GetSerialPort());
38 set.setValue("Name", GetSerialPortName());
39 set.setValue("BaudRate", GetBaudRate());
40 set.setValue("DataBits", (int)GetDataBits());
41 set.setValue("Parity", (int)GetParity());
42 set.setValue("StopBits", (int)GetStopBits());
43 set.setValue("FlowControl", (int)GetFlowControl());
44 set.endGroup();
45 return CParameterTerminalBase::OnSave(set);
46}
47
48int CParameterSerialPort::GetSerialPort() const
49{
50 return m_nSerialPort;
51}
52
53void CParameterSerialPort::SetSerialPort(int index)
54{
55 if(m_nSerialPort == index)
56 return;
57 m_nSerialPort = index;
58 SetModified(true);
59}
60
61const QString CParameterSerialPort::GetSerialPortName() const
62{
63 return m_szSerialPortName;
64}
65
66void CParameterSerialPort::SetSerialPortName(const QString &szName)
67{
68 if(m_szSerialPortName == szName)
69 return;
70 m_szSerialPortName = szName;
71 SetModified(true);
72}
73
74qint32 CParameterSerialPort::GetBaudRate() const
75{
76 return m_nBaudRate;
77}
78
79void CParameterSerialPort::SetBaudRate(qint32 rate)
80{
81 if(m_nBaudRate == rate)
82 return;
83 m_nBaudRate = rate;
84 SetModified(true);
85}
86
87QSerialPort::Parity CParameterSerialPort::GetParity() const
88{
89 return m_Parity;
90}
91
92void CParameterSerialPort::SetParity(const QSerialPort::Parity &newParity)
93{
94 if(m_Parity == newParity)
95 return;
96 m_Parity = newParity;
97 SetModified(true);
98}
99
100QSerialPort::DataBits CParameterSerialPort::GetDataBits() const
101{
102 return m_DataBits;
103}
104
105void CParameterSerialPort::SetDataBits(const QSerialPort::DataBits &newDataBits)
106{
107 if(m_DataBits == newDataBits)
108 return;
109 m_DataBits = newDataBits;
110 SetModified(true);
111}
112
113QSerialPort::StopBits CParameterSerialPort::GetStopBits() const
114{
115 return m_StopBits;
116}
117
118void CParameterSerialPort::SetStopBits(const QSerialPort::StopBits &newStopBits)
119{
120 if(m_StopBits == newStopBits)
121 return;
122 m_StopBits = newStopBits;
123 SetModified(true);
124}
125
126QSerialPort::FlowControl CParameterSerialPort::GetFlowControl() const
127{
128 return m_FlowControl;
129}
130
131void CParameterSerialPort::SetFlowControl(const QSerialPort::FlowControl &newFlowControl)
132{
133 if(m_FlowControl == newFlowControl)
134 return;
135 m_FlowControl = newFlowControl;
136 SetModified(true);
137}
Operational parameter interface.
Terminal base parameter.
int SetModified(bool bModified=true)
When setting parameters, if there is a modification, it is called.