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 :
#include <QApplication>
#include <QDebug>
#include<unistd.h>
extern "C"
{
#include "embeddedDev.h"
}
int main(int argc, char *argv[])
{
int iodev = iodev_open();
(iodev == 0) ? qDebug()<<"===>IODEV Open Success<===" : qDebug()<<"===>IODEV Open Failed<===";
int wifi = wifi_cntrl(1);
sleep(3);
(wifi == 0) ? qDebug()<<"===>WiFi Power_On Success<===" : qDebug()<<"===>WiFi Power_On Failed<===";
wifi = wifi_cntrl(0); // [B]It's stucks here, Device is getting hanged.[/B]
(wifi == 0) ? qDebug()<<"===>WiFi Power_OFF Success<===" : qDebug()<<"===>WiFi Power_OFF Failed<===";
iodev = iodev_close();
(iodev == 0) ? qDebug()<<"===>IODEV close Success<===" : qDebug()<<"===>IODEV close Failed<===";
return a.exec();
}
#include <QApplication>
#include <QDebug>
#include<unistd.h>
extern "C"
{
#include "embeddedDev.h"
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
int iodev = iodev_open();
(iodev == 0) ? qDebug()<<"===>IODEV Open Success<===" : qDebug()<<"===>IODEV Open Failed<===";
int wifi = wifi_cntrl(1);
sleep(3);
(wifi == 0) ? qDebug()<<"===>WiFi Power_On Success<===" : qDebug()<<"===>WiFi Power_On Failed<===";
wifi = wifi_cntrl(0); // [B]It's stucks here, Device is getting hanged.[/B]
(wifi == 0) ? qDebug()<<"===>WiFi Power_OFF Success<===" : qDebug()<<"===>WiFi Power_OFF Failed<===";
iodev = iodev_close();
(iodev == 0) ? qDebug()<<"===>IODEV close Success<===" : qDebug()<<"===>IODEV close Failed<===";
return a.exec();
}
To copy to clipboard, switch view to plain text mode
Non-GUI-Qt Application :
#include <QtCore>
#include <QDebug>
#include<unistd.h>
extern "C"
{
#include "embeddedDev.h"
}
int main(int argc, char *argv[])
{
int iodev = iodev_open();
(iodev == 0) ? qDebug()<<"===>IODEV Open Success<===" : qDebug()<<"===>IODEV Open Failed<===";
int wifi = wifi_cntrl(1);
sleep(3);
(wifi == 0) ? qDebug()<<"===>WiFi Power_On Success<===" : qDebug()<<"===>WiFi Power_On Failed<===";
wifi = wifi_cntrl(0);
(wifi == 0) ? qDebug()<<"===>WiFi Power_OFF Success<===" : qDebug()<<"===>WiFi Power_OFF Failed<===";
iodev = iodev_close();
(iodev == 0) ? qDebug()<<"===>IODEV close Success<===" : qDebug()<<"===>IODEV close Failed<===";
return a.exec();
}
#include <QtCore>
#include <QDebug>
#include<unistd.h>
extern "C"
{
#include "embeddedDev.h"
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
int iodev = iodev_open();
(iodev == 0) ? qDebug()<<"===>IODEV Open Success<===" : qDebug()<<"===>IODEV Open Failed<===";
int wifi = wifi_cntrl(1);
sleep(3);
(wifi == 0) ? qDebug()<<"===>WiFi Power_On Success<===" : qDebug()<<"===>WiFi Power_On Failed<===";
wifi = wifi_cntrl(0);
(wifi == 0) ? qDebug()<<"===>WiFi Power_OFF Success<===" : qDebug()<<"===>WiFi Power_OFF Failed<===";
iodev = iodev_close();
(iodev == 0) ? qDebug()<<"===>IODEV close Success<===" : qDebug()<<"===>IODEV close Failed<===";
return a.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks