Esempio n. 1
0
void CarPI::_elm327PidChanged(int pid, QVector<int> data) {
    switch(pid) {
        case 0x04: { /* Obciążenie silnika */
            if (data.size() == 1) {
                emit dialValueChanged(dialEngineLoad, data.at(0) * 100 / 255);
            }
            else {
                emit dialValueChanged(dialEngineLoad, 0);
            }
            break;
        }
        case 0x05: { /* Temperatura płynu chłodzącego */
            if (data.size() == 1) {
                emit dialValueChanged(dialCoolantTemp, data.at(0) - 40);
            }
            break;
        }
        case 0x0B: { /* Ciśnienie absolutne w kolektorze dolotowym */
            if (data.size() == 1) {
                /* OBD II podaje ciśnienie absolutne, jeżeli odejmiemy ciśnienie atmosferyczne uzyskamy nad/pod ciśnienie w kolektorze ssącym w kPa.
                 * Kolejnym krokiem jest przeliczenie jednostki, używamy PSI */
                emit dialValueChanged(dialBoost, (data.at(0) - _atmosphericPressure) * 0.145037738);
            }
            else {
                emit dialValueChanged(dialBoost, 0);
            }
            break;
        }
        case 0x0F: {
            if (data.size() == 1) {
                emit dialValueChanged(dialIntakeTemp, data.at(0) - 40);
            }

            break;
        }
        case 0x23: { /* Ciśnienie w listwie common-rail */
            if (data.size() == 2) {
                emit dialValueChanged(dialFuelPressure, (((data.at(0) * 256) + data.at(1)) * 10) / 1000);
            }
            else {
                emit dialValueChanged(dialFuelPressure, 0);
            }
            break;
        }
    }
}
Esempio n. 2
0
QGraphicsItem *DialNode::guiItem()
{
	DialWidget		*GUI = new DialWidget();

	if( GUI )
	{
		GUI->setValue( mValOutputValue->variant().toReal() );

		connect( this, SIGNAL(valueChanged(qreal)), GUI, SLOT(setValue(qreal)) );

		connect( GUI, SIGNAL(valueChanged(qreal)), this, SLOT(dialValueChanged(qreal)) );
	}

	return( GUI );
}
Esempio n. 3
0
void CarPI::_elm327VoltageChanged(double voltage) {
    emit dialValueChanged(dialVoltage, voltage);
}