Hi,

I am using WiFi API(which is written in C) in my GUI based Qt application for my embedded device but it is getting hanged.

When i am using same API in non-GUI based Qt Application then it is working fine.

I am using Qt-5.5.1 version in my target embedded device.

GUI-Qt Application Code :

Qt Code:
  1. #include <QApplication>
  2. #include <QDebug>
  3. #include<unistd.h>
  4. extern "C"
  5. {
  6. #include "embeddedDev.h"
  7. }
  8. int main(int argc, char *argv[])
  9. {
  10. QApplication a(argc, argv);
  11.  
  12. int iodev = iodev_open();
  13. (iodev == 0) ? qDebug()<<"===>IODEV Open Success<===" : qDebug()<<"===>IODEV Open Failed<===";
  14.  
  15. int wifi = wifi_cntrl(1);
  16. sleep(3);
  17. (wifi == 0) ? qDebug()<<"===>WiFi Power_On Success<===" : qDebug()<<"===>WiFi Power_On Failed<===";
  18.  
  19. wifi = wifi_cntrl(0); // [B]It's stucks here, Device is getting hanged.[/B]
  20. (wifi == 0) ? qDebug()<<"===>WiFi Power_OFF Success<===" : qDebug()<<"===>WiFi Power_OFF Failed<===";
  21.  
  22. iodev = iodev_close();
  23. (iodev == 0) ? qDebug()<<"===>IODEV close Success<===" : qDebug()<<"===>IODEV close Failed<===";
  24.  
  25. return a.exec();
  26. }
To copy to clipboard, switch view to plain text mode 


Non-GUI-Qt Application :

Qt Code:
  1. #include <QtCore>
  2. #include <QDebug>
  3. #include<unistd.h>
  4. extern "C"
  5. {
  6. #include "embeddedDev.h"
  7. }
  8. int main(int argc, char *argv[])
  9. {
  10. QCoreApplication a(argc, argv);
  11.  
  12. int iodev = iodev_open();
  13. (iodev == 0) ? qDebug()<<"===>IODEV Open Success<===" : qDebug()<<"===>IODEV Open Failed<===";
  14.  
  15. int wifi = wifi_cntrl(1);
  16. sleep(3);
  17. (wifi == 0) ? qDebug()<<"===>WiFi Power_On Success<===" : qDebug()<<"===>WiFi Power_On Failed<===";
  18.  
  19. wifi = wifi_cntrl(0);
  20. (wifi == 0) ? qDebug()<<"===>WiFi Power_OFF Success<===" : qDebug()<<"===>WiFi Power_OFF Failed<===";
  21.  
  22. iodev = iodev_close();
  23. (iodev == 0) ? qDebug()<<"===>IODEV close Success<===" : qDebug()<<"===>IODEV close Failed<===";
  24.  
  25. return a.exec();
  26. }
To copy to clipboard, switch view to plain text mode