コード例 #1
0
UdpServer::UdpServer(QObject *parent) :
    QObject(parent)
{
    mUdpSocket = new QUdpSocket(this);
    mSerialPort = new SerialPort(this);
    mTimer = new QTimer(this);
    mTimer->setInterval(10);
    mTimer->start();

    mPortPath = "/dev/ttyO2";
    mUdpPort = 27800;
    mBaudrate = 115200;
    mSendArray.clear();

    mPayloadLength = 0;
    mRxDataPtr = 0;
    mCrcLow = 0;
    mCrcHigh = 0;

    connect(mUdpSocket, SIGNAL(readyRead()),
            this, SLOT(readPendingDatagrams()));
    connect(mSerialPort, SIGNAL(serial_port_error(int)), this, SLOT(serialPortError(int)));
    connect(mSerialPort, SIGNAL(serial_data_available()), this, SLOT(serialDataAvilable()));
    connect(mTimer, SIGNAL(timeout()), this, SLOT(timerSlot()));
}
コード例 #2
0
ファイル: magcal.cpp プロジェクト: wellrun/rise_sdvp
MagCal::MagCal(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MagCal)
{
    ui->setupUi(this);
    layout()->setContentsMargins(0, 0, 0, 0);

    ui->magSampXyPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);
    ui->magSampXzPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);
    ui->magSampYzPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);

    ui->magSampXyPlot->yAxis->setLabel("XY");
    ui->magSampXyPlot->addGraph();
    ui->magSampXyPlot->graph()->setPen(QPen(Qt::red));
    ui->magSampXyPlot->graph()->setName("Uncompensated");
    ui->magSampXyPlot->graph()->setLineStyle(QCPGraph::lsNone);
    ui->magSampXyPlot->graph()->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCross, 4));
    ui->magSampXyPlot->addGraph();
    ui->magSampXyPlot->graph()->setPen(QPen(Qt::blue));
    ui->magSampXyPlot->graph()->setName("Compensated");
    ui->magSampXyPlot->graph()->setLineStyle(QCPGraph::lsNone);
    ui->magSampXyPlot->graph()->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCross, 4));

    ui->magSampXzPlot->yAxis->setLabel("XZ");
    ui->magSampXzPlot->addGraph();
    ui->magSampXzPlot->graph()->setPen(QPen(Qt::red));
    ui->magSampXzPlot->graph()->setName("Uncompensated");
    ui->magSampXzPlot->graph()->setLineStyle(QCPGraph::lsNone);
    ui->magSampXzPlot->graph()->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCross, 4));
    ui->magSampXzPlot->addGraph();
    ui->magSampXzPlot->graph()->setPen(QPen(Qt::blue));
    ui->magSampXzPlot->graph()->setName("Compensated");
    ui->magSampXzPlot->graph()->setLineStyle(QCPGraph::lsNone);
    ui->magSampXzPlot->graph()->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCross, 4));

    ui->magSampYzPlot->yAxis->setLabel("YZ");
    ui->magSampYzPlot->addGraph();
    ui->magSampYzPlot->graph()->setPen(QPen(Qt::red));
    ui->magSampYzPlot->graph()->setName("Uncompensated");
    ui->magSampYzPlot->graph()->setLineStyle(QCPGraph::lsNone);
    ui->magSampYzPlot->graph()->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCross, 4));
    ui->magSampYzPlot->addGraph();
    ui->magSampYzPlot->graph()->setPen(QPen(Qt::blue));
    ui->magSampYzPlot->graph()->setName("Compensated");
    ui->magSampYzPlot->graph()->setLineStyle(QCPGraph::lsNone);
    ui->magSampYzPlot->graph()->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCross, 4));

    mTimer = new QTimer(this);
    mTimer->start(20);
    mMagReplot = false;

    connect(mTimer, SIGNAL(timeout()), this, SLOT(timerSlot()));
}
コード例 #3
0
DefaultMainWindow::DefaultMainWindow(const char* title) : QWidget(NULL, NULL) {
  setWindowTitle(title);

  // create a timer waking us regularly
  timer.reset(new QTimer(this));
  timer->connect(timer.get(), SIGNAL(timeout()),
                 this, SLOT(timerSlot()));
  timerIntervalMS = 0;
  timer->start(timerIntervalMS);

  //ImageDisplayManagerWidget* manager =
      //new ImageDisplayManagerWidget(this, "image manager");
}
コード例 #4
0
ファイル: timeline.cpp プロジェクト: reyoung/qlink-up
TimeLine::TimeLine(QWidget *parent) :
    QLabel(parent)
{
    this->setMaximumSize(640,20);
    this->setMinimumSize(640,20);
    this->privateData = new TimeLine::TimeLinePrivate;
    this->privateData->isPause = false;
    this->privateData->currentTime = -1;
    QTimer* timer;
    timer = new QTimer(this);
    this->connect(timer,SIGNAL(timeout()),this,SLOT(timerSlot()));
    timer->start(1000);
}
コード例 #5
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    mJoystick = new Joystick(this);

    mTimer = new QTimer(this);
    mTimer->setInterval(30);
    mTimer->start();
    connect(mTimer, SIGNAL(timeout()), this, SLOT(timerSlot()));

    mCopterItemModel = new QStandardItemModel(0, 3, this);
    mCopterItemModel->setHorizontalHeaderItem(0, new QStandardItem("ID"));
    mCopterItemModel->setHorizontalHeaderItem(1, new QStandardItem("Actual pos"));
    mCopterItemModel->setHorizontalHeaderItem(2, new QStandardItem("Perceived pos"));

    ui->copterTableView->setModel(mCopterItemModel);
    on_connectJoystickButton_clicked();

    mRollKey = 0.0;
    mPitchKey = 0.0;
    mYawKey = 0.0;

    // Add line segments to the copter simulator map
    int segcnt = 1000;
    mCopterSim.addLineSegment(segcnt++, -5, -5, 5, -5);
    mCopterSim.addLineSegment(segcnt++, 5, -5, 8, 0);
    mCopterSim.addLineSegment(segcnt++, 8, 0, 5, 5);
    mCopterSim.addLineSegment(segcnt++, -5, 5, 5, 5);
    mCopterSim.addLineSegment(segcnt++, -5, -5, -8, 0);
    mCopterSim.addLineSegment(segcnt++, -8, 0, -5, 5);

    // Add some anchors
    mCopterSim.addAnchor(0, -8.0, -5.0, 1.0);
    mCopterSim.addAnchor(1, -8.0, 5.0, 1.0);
    mCopterSim.addAnchor(2, 8.0, 5.0, 1.0);
    mCopterSim.addAnchor(3, 8.0, -5.0, 1.0);

    qApp->installEventFilter(this);
}
コード例 #6
0
bool ZmdUpdaterCore::qt_invoke( int _id, QUObject* _o )
{
    switch ( _id - staticMetaObject()->slotOffset() ) {
    case 0: catalogData((const QValueList<QVariant>&)*((const QValueList<QVariant>*)static_QUType_ptr.get(_o+1)),(const QVariant&)static_QUType_QVariant.get(_o+2)); break;
    case 1: identityData((const QValueList<QVariant>&)*((const QValueList<QVariant>*)static_QUType_ptr.get(_o+1)),(const QVariant&)static_QUType_QVariant.get(_o+2)); break;
    case 2: catalogSubData((const QValueList<QVariant>&)*((const QValueList<QVariant>*)static_QUType_ptr.get(_o+1)),(const QVariant&)static_QUType_QVariant.get(_o+2)); break;
    case 3: serviceData((const QValueList<QVariant>&)*((const QValueList<QVariant>*)static_QUType_ptr.get(_o+1)),(const QVariant&)static_QUType_QVariant.get(_o+2)); break;
    case 4: updateData((const QValueList<QVariant>&)*((const QValueList<QVariant>*)static_QUType_ptr.get(_o+1)),(const QVariant&)static_QUType_QVariant.get(_o+2)); break;
    case 5: patchData((const QValueList<QVariant>&)*((const QValueList<QVariant>*)static_QUType_ptr.get(_o+1)),(const QVariant&)static_QUType_QVariant.get(_o+2)); break;
    case 6: lockData((const QValueList<QVariant>&)*((const QValueList<QVariant>*)static_QUType_ptr.get(_o+1)),(const QVariant&)static_QUType_QVariant.get(_o+2)); break;
    case 7: infoData((const QValueList<QVariant>&)*((const QValueList<QVariant>*)static_QUType_ptr.get(_o+1)),(const QVariant&)static_QUType_QVariant.get(_o+2)); break;
    case 8: faultData((int)static_QUType_int.get(_o+1),(const QString&)static_QUType_QString.get(_o+2),(const QVariant&)static_QUType_QVariant.get(_o+3)); break;
    case 9: transactData((const QValueList<QVariant>&)*((const QValueList<QVariant>*)static_QUType_ptr.get(_o+1)),(const QVariant&)static_QUType_QVariant.get(_o+2)); break;
    case 10: timerSlot(); break;
    case 11: timerData((const QValueList<QVariant>&)*((const QValueList<QVariant>*)static_QUType_ptr.get(_o+1)),(const QVariant&)static_QUType_QVariant.get(_o+2)); break;
    case 12: abortData((const QValueList<QVariant>&)*((const QValueList<QVariant>*)static_QUType_ptr.get(_o+1)),(const QVariant&)static_QUType_QVariant.get(_o+2)); break;
    default:
	return QObject::qt_invoke( _id, _o );
    }
    return TRUE;
}
コード例 #7
0
ファイル: console.cpp プロジェクト: maidmaid/maiday
Console::Console(QObject *parent, Datas *datas) :
    QObject(parent)
{
    //Affectation
    this->datas = datas;

    //Création des widget
    liste = new QListWidget();
    line = new QLineEdit();

    //Layout des widget
    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(liste);
    layout->addWidget(line);

    //Widget contenant le tout
    QWidget *contenuDock = new QWidget;
    contenuDock->setLayout(layout);

    //Création du dock
    dock = new QDockWidget();
    dock->setWidget(contenuDock);

    connect(line, SIGNAL(returnPressed()), this, SLOT(commande()));
    connect(this, SIGNAL(newItem(QListWidgetItem*)), liste, SLOT(scrollToBottom()));

    //Configuration de base
    log_client = false;
    log_serveur = false;
    log_main = false;
    log_collision = false;
    log_collision_latence = false;
    log_avion = false;
    log_horloge = false;

    logCollisionLatenceItem = new QListWidgetItem();

    timerTest = new QTimer(this);
    connect(timerTest, SIGNAL(timeout()), this, SLOT(timerSlot()));
}
コード例 #8
0
ファイル: packetinterface.cpp プロジェクト: bchiu/bldc-tool
PacketInterface::PacketInterface(QObject *parent) :
    QObject(parent)
{
    mSendBuffer = new quint8[mMaxBufferLen + 20];

    mRxState = 0;
    mRxTimer = 0;

    mSendCan = false;
    mCanId = 0;
    mIsLimitedMode = false;

    // Packet state
    mPayloadLength = 0;
    mRxDataPtr = 0;
    mCrcLow = 0;
    mCrcHigh = 0;

    // Firmware state
    mFirmwareIsUploading = false;
    mFirmwareState = 0;
    mFimwarePtr = 0;
    mFirmwareTimer = 0;
    mFirmwareRetries = 0;
    mFirmwareUploadStatus = "FW Upload Status";

    mTimer = new QTimer(this);
    mTimer->setInterval(10);
    mTimer->start();

    mHostAddress = QHostAddress("0.0.0.0");
    mUdpPort = 0;
    mUdpSocket = new QUdpSocket(this);

    connect(mUdpSocket, SIGNAL(readyRead()),
            this, SLOT(readPendingDatagrams()));
    connect(mTimer, SIGNAL(timeout()), this, SLOT(timerSlot()));
}
コード例 #9
0
ファイル: watercycle.cpp プロジェクト: GorgedeLoup/WaterCycle
WaterCycle::WaterCycle(QObject *parent) : QObject(parent)
{
    m_time = new QTime;
    m_timer = new QTimer;

    QSerialPort *serialPort = checkPort();

    if (serialPort)
    {
        m_serialPort = serialPort;
        if (!m_serialPort->isOpen())
            m_serialPort->open(QIODevice::ReadWrite);
        //connect(m_serialPort,SIGNAL(error(QSerialPort::SerialPortError)),SLOT(handleError(QSerialPort::SerialPortError)));
    }
    else
    {
        qDebug() << "Open serial port failed !";
    }

    m_bytesRead = "";
    m_queryOrder = 1;

    connect(m_timer, SIGNAL(timeout()), this, SLOT(timerSlot()));
}
コード例 #10
0
KviIrcConnectionRequestQueue::~KviIrcConnectionRequestQueue()
{
	disconnect(&m_timer, SIGNAL(timeout()), this, SLOT(timerSlot()));
}
コード例 #11
0
KviIrcConnectionRequestQueue::KviIrcConnectionRequestQueue()
{
	m_curType = Mode;
	connect(&m_timer, SIGNAL(timeout()), this, SLOT(timerSlot()));
}
コード例 #12
0
ファイル: logger.cpp プロジェクト: lmhtz/bldc-logger
Logger::Logger(QObject *parent) :
    QObject(parent)
{
    mPort = new SerialPort(this);
    mPacketInterface = new PacketInterface(this);

    mValueFile = new QFile("Data/BLDC_Values");
    mPrintFile = new QFile("Data/BLDC_Print");

    mValueFile->open(QIODevice::WriteOnly | QIODevice::Text);
    mPrintFile->open(QIODevice::WriteOnly | QIODevice::Text);

    mValueStream = new QTextStream(mValueFile);
    mPrintStream = new QTextStream(mPrintFile);

    mPort->openPort("/dev/ttyACM0");

    // Video
    mVidW = 1280;
    mVidH = 720;
    mVidFps = 25.0;
    mFAudioSamp = 44100;

    mFrameGrabber = new FrameGrabber(mVidW, mVidH, mVidFps, 0, this);
    mFrameGrabber->start(QThread::InheritPriority);
    mPlotter = new FramePlotter(this);
    mPlotter->start(QThread::InheritPriority);

    mCoder = new VideoCoder(mVidW, mVidH, mVidFps, "Data/v_video.avi", this);
    mCoder->start(QThread::InheritPriority);

    // Audio recording
    mTimer = 0;
    mAudio = 0;

    if (QAudioDeviceInfo::availableDevices(QAudio::AudioInput).size() > 0) {
        mAudioFile.setFileName("Data/v_audio.raw");
        mAudioFile.open(QIODevice::WriteOnly | QIODevice::Truncate);

        QAudioFormat format;
        // Set up the desired format, for example:
        format.setSampleRate(mFAudioSamp);
        format.setChannelCount(1);
        format.setSampleSize(8);
        format.setCodec("audio/pcm");
        format.setByteOrder(QAudioFormat::LittleEndian);
        format.setSampleType(QAudioFormat::UnSignedInt);

        QAudioDeviceInfo info = QAudioDeviceInfo::defaultInputDevice();
        if (!info.isFormatSupported(format)) {
            qWarning() << "Default format not supported, trying to use the nearest.";
            format = info.nearestFormat(format);
        }

        mAudio = new QAudioInput(format, this);
        mAudio->setNotifyInterval(1000 / mVidFps);
        mAudio->start(&mAudioFile);
    } else {
        mTimer = new QTimer(this);
        mTimer->setInterval(1000 / mVidFps);
        mTimer->start();
    }

    mConsoleReader = new ConsoleReader(this);

    connect(mConsoleReader, SIGNAL(textReceived(QString)),
            this, SLOT(consoleLineReceived(QString)));

    connect(mPort, SIGNAL(serial_data_available()),
            this, SLOT(serialDataAvailable()));

    if (mTimer != 0) {
        connect(mTimer, SIGNAL(timeout()), this, SLOT(timerSlot()));
    }

    if (mAudio != 0) {
        connect(mAudio, SIGNAL(notify()),
                this, SLOT(audioNotify()));

        // Lower the volume to avoid clipping. This seems to be passed to
        // pulseaudio.
        mAudio->setVolume(0.1);
    }

    connect(mPacketInterface, SIGNAL(dataToSend(QByteArray&)),
            this, SLOT(packetDataToSend(QByteArray&)));
    connect(mPacketInterface, SIGNAL(valuesReceived(PacketInterface::MC_VALUES)),
            this, SLOT(mcValuesReceived(PacketInterface::MC_VALUES)));
    connect(mPacketInterface, SIGNAL(printReceived(QString)),
            this, SLOT(printReceived(QString)));
    connect(mPacketInterface, SIGNAL(samplesReceived(QByteArray)),
            this, SLOT(samplesReceived(QByteArray)));
    connect(mPacketInterface, SIGNAL(rotorPosReceived(double)),
            this, SLOT(rotorPosReceived(double)));
    connect(mPacketInterface, SIGNAL(experimentSamplesReceived(QVector<double>)),
            this, SLOT(experimentSamplesReceived(QVector<double>)));

    connect(mPlotter, SIGNAL(frameReady(QImage)),
            mCoder, SLOT(setNextFrame(QImage)));
}