Browse Source

Added a qDebug() message handler for windows installs that have no debug helpers. Hunting bug in Mode change in UASView

QGC4.4
Mariano Lizarraga 14 years ago
parent
commit
a3db5ec5f7
  1. 3
      qgroundcontrol.pri
  2. 3
      src/Core.cc
  3. 21
      src/main.cc
  4. 2
      src/uas/UAS.cc

3
qgroundcontrol.pri

@ -380,7 +380,8 @@ win32-g++ { @@ -380,7 +380,8 @@ win32-g++ {
message(Building for Windows Platform (32bit))
# Special settings for debug
#CONFIG += CONSOLE
CONFIG += CONSOLE
OUTPUT += CONSOLE
INCLUDEPATH += $$BASEDIR/lib/sdl/include \
$$BASEDIR/lib/opal/include #\ #\

3
src/Core.cc

@ -65,8 +65,11 @@ This file is part of the QGROUNDCONTROL project @@ -65,8 +65,11 @@ This file is part of the QGROUNDCONTROL project
* @param argv The string array of parameters
**/
Core::Core(int &argc, char* argv[]) : QApplication(argc, argv)
{
// Set application name
this->setApplicationName(QGC_APPLICATION_NAME);
this->setApplicationVersion(QGC_APPLICATION_VERSION);

21
src/main.cc

@ -39,6 +39,21 @@ This file is part of the QGROUNDCONTROL project @@ -39,6 +39,21 @@ This file is part of the QGROUNDCONTROL project
#undef main
#endif
// Install a message handler so you do not need
// the MSFT debug tools installed to se
// qDebug(), qWarning(), qCritical and qAbort
#ifdef Q_OS_WIN
void msgHandler( QtMsgType type, const char* msg )
{
const char symbols[] = { 'I', 'E', '!', 'X' };
QString output = QString("[%1] %2").arg( symbols[type] ).arg( msg );
std::cerr << output.toStdString() << std::endl;
if( type == QtFatalMsg ) abort();
}
#endif
/**
* @brief Starts the application
*
@ -46,9 +61,15 @@ This file is part of the QGROUNDCONTROL project @@ -46,9 +61,15 @@ This file is part of the QGROUNDCONTROL project
* @param argv Commandline arguments
* @return exit code, 0 for normal exit and !=0 for error cases
*/
int main(int argc, char *argv[])
{
// install the message handler
#ifdef Q_OS_WIN
qInstallMsgHandler( msgHandler );
#endif
Core core(argc, argv);
return core.exec();
}

2
src/uas/UAS.cc

@ -264,6 +264,8 @@ void UAS::receiveMessage(LinkInterface* link, mavlink_message_t message) @@ -264,6 +264,8 @@ void UAS::receiveMessage(LinkInterface* link, mavlink_message_t message)
stateAudio = " changed status to " + uasState;
}
qDebug() << "Remote Mode: " << state.mode;
qDebug() << "Loclal Mode: " << this->mode;
if (this->mode != static_cast<unsigned int>(state.mode))
{
modechanged = true;

Loading…
Cancel
Save