#include "CANSignal.h" #include "defines.h" CCANSignal::CCANSignal() { mEncoding = CAN_SIGNAL_ENCODING_INVALID; } int CCANSignal::ComputeNewSignalValue(quint64 MotorolaValue, quint64 IntelValue) { if(mEncoding == CAN_SIGNAL_ENCODING_INTEL) { mRawValue = IntelValue; } else if(mEncoding == CAN_SIGNAL_ENCODING_MOTOROLA) { mRawValue = MotorolaValue; } else { return RET_GENERAL_ERROR; } mRawValue >>= mStartBit; quint64 mask = ((1 << mSignalSize)-1); mRawValue &= mask; mPhysicalValue = ((double) mRawValue * mValueFactor) + mValueOffset; }