@@ -80,12 +80,11 @@ int Programmer::connect()
80
80
81
81
if (serialPortConnect ())
82
82
return -1 ;
83
+ serialPortDisconnect ();
83
84
84
85
QObject::connect (&reader, SIGNAL (result (int )), this ,
85
86
SLOT (connectCb (int )));
86
87
87
- /* Serial port object cannot be used in other thread */
88
- serialPortDisconnect ();
89
88
writeData.clear ();
90
89
writeData.append (reinterpret_cast <const char *>(&cmd), sizeof (cmd));
91
90
reader.init (usbDevName, SERIAL_PORT_SPEED,
@@ -99,7 +98,6 @@ int Programmer::connect()
99
98
100
99
void Programmer::disconnect ()
101
100
{
102
- serialPortDisconnect ();
103
101
isConn = false ;
104
102
}
105
103
@@ -131,7 +129,6 @@ void Programmer::setSkipBB(bool skip)
131
129
void Programmer::readChipIdCb (int ret)
132
130
{
133
131
emit readChipIdCompleted (ret);
134
- serialPortConnect ();
135
132
QObject::disconnect (&reader, SIGNAL (result (int )), this ,
136
133
SLOT (readChipIdCb (int )));
137
134
}
@@ -143,8 +140,6 @@ void Programmer::readChipId(ChipId *chipId)
143
140
QObject::connect (&reader, SIGNAL (result (int )), this ,
144
141
SLOT (readChipIdCb (int )));
145
142
146
- /* Serial port object cannot be used in other thread */
147
- serialPortDisconnect ();
148
143
writeData.clear ();
149
144
writeData.append (reinterpret_cast <const char *>(&cmd), sizeof (cmd));
150
145
reader.init (usbDevName, SERIAL_PORT_SPEED,
@@ -158,7 +153,6 @@ void Programmer::eraseChipCb(int ret)
158
153
{
159
154
QObject::disconnect (&reader, SIGNAL (result (int )), this ,
160
155
SLOT (eraseChipCb (int )));
161
- serialPortConnect ();
162
156
emit eraseChipCompleted (ret);
163
157
}
164
158
@@ -171,8 +165,6 @@ void Programmer::eraseChip(uint32_t addr, uint32_t len)
171
165
QObject::connect (&reader, SIGNAL (result (int )), this ,
172
166
SLOT (eraseChipCb (int )));
173
167
174
- /* Serial port object cannot be used in other thread */
175
- serialPortDisconnect ();
176
168
writeData.clear ();
177
169
writeData.append (reinterpret_cast <const char *>(&eraseCmd),
178
170
sizeof (eraseCmd));
@@ -185,7 +177,6 @@ void Programmer::eraseChip(uint32_t addr, uint32_t len)
185
177
void Programmer::readCb (int ret)
186
178
{
187
179
QObject::disconnect (&reader, SIGNAL (result (int )), this , SLOT (readCb (int )));
188
- serialPortConnect ();
189
180
emit readChipCompleted (ret);
190
181
}
191
182
@@ -198,8 +189,6 @@ void Programmer::readChip(uint8_t *buf, uint32_t addr, uint32_t len,
198
189
199
190
QObject::connect (&reader, SIGNAL (result (int )), this , SLOT (readCb (int )));
200
191
201
- /* Serial port object cannot be used in other thread */
202
- serialPortDisconnect ();
203
192
writeData.clear ();
204
193
writeData.append (reinterpret_cast <const char *>(&readCmd), sizeof (readCmd));
205
194
reader.init (usbDevName, SERIAL_PORT_SPEED, buf, len,
@@ -212,7 +201,6 @@ void Programmer::readChip(uint8_t *buf, uint32_t addr, uint32_t len,
212
201
void Programmer::writeCb (int ret)
213
202
{
214
203
QObject::disconnect (&writer, SIGNAL (result (int )), this , SLOT (writeCb (int )));
215
- serialPortConnect ();
216
204
emit writeChipCompleted (ret);
217
205
}
218
206
@@ -221,8 +209,6 @@ void Programmer::writeChip(uint8_t *buf, uint32_t addr, uint32_t len,
221
209
{
222
210
QObject::connect (&writer, SIGNAL (result (int )), this , SLOT (writeCb (int )));
223
211
224
- /* Serial port object cannot be used in other thread */
225
- serialPortDisconnect ();
226
212
writer.init (usbDevName, SERIAL_PORT_SPEED, buf, addr, len, pageSize,
227
213
skipBB);
228
214
writer.start ();
@@ -232,7 +218,6 @@ void Programmer::readChipBadBlocksCb(int ret)
232
218
{
233
219
QObject::disconnect (&reader, SIGNAL (result (int )), this ,
234
220
SLOT (readChipBadBlocksCb (int )));
235
- serialPortConnect ();
236
221
emit readChipBadBlocksCompleted (ret);
237
222
}
238
223
@@ -243,8 +228,6 @@ void Programmer::readChipBadBlocks()
243
228
QObject::connect (&reader, SIGNAL (result (int )), this ,
244
229
SLOT (readChipBadBlocksCb (int )));
245
230
246
- /* Serial port object cannot be used in other thread */
247
- serialPortDisconnect ();
248
231
writeData.clear ();
249
232
writeData.append (reinterpret_cast <const char *>(&cmd), sizeof (cmd));
250
233
reader.init (usbDevName, SERIAL_PORT_SPEED, nullptr , 0 ,
@@ -257,7 +240,6 @@ void Programmer::confChipCb(int ret)
257
240
{
258
241
QObject::disconnect (&reader, SIGNAL (result (int )), this ,
259
242
SLOT (confChipCb (int )));
260
- serialPortConnect ();
261
243
emit confChipCompleted (ret);
262
244
}
263
245
@@ -283,8 +265,6 @@ void Programmer::confChip(ChipInfo *chipInfo)
283
265
QObject::connect (&reader, SIGNAL (result (int )), this ,
284
266
SLOT (confChipCb (int )));
285
267
286
- /* Serial port object cannot be used in other thread */
287
- serialPortDisconnect ();
288
268
writeData.clear ();
289
269
writeData.append (reinterpret_cast <const char *>(&confCmd), sizeof (confCmd));
290
270
reader.init (usbDevName, SERIAL_PORT_SPEED, nullptr , 0 ,
0 commit comments