@@ -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
10099void Programmer::disconnect ()
101100{
102- serialPortDisconnect ();
103101 isConn = false ;
104102}
105103
@@ -131,7 +129,6 @@ void Programmer::setSkipBB(bool skip)
131129void 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)
185177void 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,
212201void 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