Ejemplo n.º 1
0
void *monitor_init_process(int *argc, char **argv, void *data) {

	printf("#### init sampling driver - Pid is %i #### \n", getpid());

	assingContinuousThreadId();
	initShadowStack();

	initMeasurement();
	printResultsHeader();

	// warmup libtiming
	startMeasurement();
	stopMeasurement();
//	printResults("warmup");
	startMeasurement();
	stopMeasurement();
//	printResults("warmup");
	startMeasurement();
	stopMeasurement();
//	printResults("warmup");

	startMeasurement();


	return NULL;
}
Ejemplo n.º 2
0
void LevellingUtil::accelMeasurementsUpdated(UAVObject *obj)
{
    QMutexLocker locker(&m_measurementMutex);

    if(m_receivedAccelUpdates < m_accelMeasurementCount) {
        ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
        UAVObjectManager * uavObjectManager = pm->getObject<UAVObjectManager>();
        Q_ASSERT(uavObjectManager);

        Accels * accels = Accels::GetInstance(uavObjectManager);
        Accels::DataFields accelsData = accels->getData();

        m_accelerometerX += accelsData.x;
        m_accelerometerY += accelsData.y;
        m_accelerometerZ += accelsData.z;

        m_receivedAccelUpdates++;
        emit progress(m_receivedGyroUpdates + m_receivedAccelUpdates, m_gyroMeasurementCount + m_accelMeasurementCount);
    }
    else if (m_receivedAccelUpdates >= m_accelMeasurementCount &&
             m_receivedGyroUpdates >= m_gyroMeasurementCount && m_isMeasuring) {
        stopMeasurement();
        emit done(calculateLevellingData());
    }
}
Ejemplo n.º 3
0
void LevellingUtil::timeout()
{
    QMutexLocker locker(&m_measurementMutex);

    stopMeasurement();
    emit timeout(tr("Calibration timed out before receiving required updates."));
}
Ejemplo n.º 4
0
void LevellingUtil::abort()
{
    if(m_isMeasuring) {
        stopMeasurement();
    }
}
Ejemplo n.º 5
0
void monitor_fini_process(int how, void* data) {

	stopMeasurement();
	printResults("target");
}