Skip to content

Commit fb3e710

Browse files
committed
Remove serial port usage in main thread
1 parent c1c1eed commit fb3e710

File tree

1 file changed

+1
-21
lines changed

1 file changed

+1
-21
lines changed

qt/programmer.cpp

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,11 @@ int Programmer::connect()
8080

8181
if (serialPortConnect())
8282
return -1;
83+
serialPortDisconnect();
8384

8485
QObject::connect(&reader, SIGNAL(result(int)), this,
8586
SLOT(connectCb(int)));
8687

87-
/* Serial port object cannot be used in other thread */
88-
serialPortDisconnect();
8988
writeData.clear();
9089
writeData.append(reinterpret_cast<const char *>(&cmd), sizeof(cmd));
9190
reader.init(usbDevName, SERIAL_PORT_SPEED,
@@ -99,7 +98,6 @@ int Programmer::connect()
9998

10099
void Programmer::disconnect()
101100
{
102-
serialPortDisconnect();
103101
isConn = false;
104102
}
105103

@@ -131,7 +129,6 @@ void Programmer::setSkipBB(bool skip)
131129
void Programmer::readChipIdCb(int ret)
132130
{
133131
emit readChipIdCompleted(ret);
134-
serialPortConnect();
135132
QObject::disconnect(&reader, SIGNAL(result(int)), this,
136133
SLOT(readChipIdCb(int)));
137134
}
@@ -143,8 +140,6 @@ void Programmer::readChipId(ChipId *chipId)
143140
QObject::connect(&reader, SIGNAL(result(int)), this,
144141
SLOT(readChipIdCb(int)));
145142

146-
/* Serial port object cannot be used in other thread */
147-
serialPortDisconnect();
148143
writeData.clear();
149144
writeData.append(reinterpret_cast<const char *>(&cmd), sizeof(cmd));
150145
reader.init(usbDevName, SERIAL_PORT_SPEED,
@@ -158,7 +153,6 @@ void Programmer::eraseChipCb(int ret)
158153
{
159154
QObject::disconnect(&reader, SIGNAL(result(int)), this,
160155
SLOT(eraseChipCb(int)));
161-
serialPortConnect();
162156
emit eraseChipCompleted(ret);
163157
}
164158

@@ -171,8 +165,6 @@ void Programmer::eraseChip(uint32_t addr, uint32_t len)
171165
QObject::connect(&reader, SIGNAL(result(int)), this,
172166
SLOT(eraseChipCb(int)));
173167

174-
/* Serial port object cannot be used in other thread */
175-
serialPortDisconnect();
176168
writeData.clear();
177169
writeData.append(reinterpret_cast<const char *>(&eraseCmd),
178170
sizeof(eraseCmd));
@@ -185,7 +177,6 @@ void Programmer::eraseChip(uint32_t addr, uint32_t len)
185177
void Programmer::readCb(int ret)
186178
{
187179
QObject::disconnect(&reader, SIGNAL(result(int)), this, SLOT(readCb(int)));
188-
serialPortConnect();
189180
emit readChipCompleted(ret);
190181
}
191182

@@ -198,8 +189,6 @@ void Programmer::readChip(uint8_t *buf, uint32_t addr, uint32_t len,
198189

199190
QObject::connect(&reader, SIGNAL(result(int)), this, SLOT(readCb(int)));
200191

201-
/* Serial port object cannot be used in other thread */
202-
serialPortDisconnect();
203192
writeData.clear();
204193
writeData.append(reinterpret_cast<const char *>(&readCmd), sizeof(readCmd));
205194
reader.init(usbDevName, SERIAL_PORT_SPEED, buf, len,
@@ -212,7 +201,6 @@ void Programmer::readChip(uint8_t *buf, uint32_t addr, uint32_t len,
212201
void Programmer::writeCb(int ret)
213202
{
214203
QObject::disconnect(&writer, SIGNAL(result(int)), this, SLOT(writeCb(int)));
215-
serialPortConnect();
216204
emit writeChipCompleted(ret);
217205
}
218206

@@ -221,8 +209,6 @@ void Programmer::writeChip(uint8_t *buf, uint32_t addr, uint32_t len,
221209
{
222210
QObject::connect(&writer, SIGNAL(result(int)), this, SLOT(writeCb(int)));
223211

224-
/* Serial port object cannot be used in other thread */
225-
serialPortDisconnect();
226212
writer.init(usbDevName, SERIAL_PORT_SPEED, buf, addr, len, pageSize,
227213
skipBB);
228214
writer.start();
@@ -232,7 +218,6 @@ void Programmer::readChipBadBlocksCb(int ret)
232218
{
233219
QObject::disconnect(&reader, SIGNAL(result(int)), this,
234220
SLOT(readChipBadBlocksCb(int)));
235-
serialPortConnect();
236221
emit readChipBadBlocksCompleted(ret);
237222
}
238223

@@ -243,8 +228,6 @@ void Programmer::readChipBadBlocks()
243228
QObject::connect(&reader, SIGNAL(result(int)), this,
244229
SLOT(readChipBadBlocksCb(int)));
245230

246-
/* Serial port object cannot be used in other thread */
247-
serialPortDisconnect();
248231
writeData.clear();
249232
writeData.append(reinterpret_cast<const char *>(&cmd), sizeof(cmd));
250233
reader.init(usbDevName, SERIAL_PORT_SPEED, nullptr, 0,
@@ -257,7 +240,6 @@ void Programmer::confChipCb(int ret)
257240
{
258241
QObject::disconnect(&reader, SIGNAL(result(int)), this,
259242
SLOT(confChipCb(int)));
260-
serialPortConnect();
261243
emit confChipCompleted(ret);
262244
}
263245

@@ -283,8 +265,6 @@ void Programmer::confChip(ChipInfo *chipInfo)
283265
QObject::connect(&reader, SIGNAL(result(int)), this,
284266
SLOT(confChipCb(int)));
285267

286-
/* Serial port object cannot be used in other thread */
287-
serialPortDisconnect();
288268
writeData.clear();
289269
writeData.append(reinterpret_cast<const char *>(&confCmd), sizeof(confCmd));
290270
reader.init(usbDevName, SERIAL_PORT_SPEED, nullptr, 0,

0 commit comments

Comments
 (0)