Index: sources/canbus/caninterface.cpp =================================================================== diff -u -r805119c460b4a266d6401c8705f4427e7fbe270f -r057d3ef4e29c63235040c5cfe8c6421ef7787d6a --- sources/canbus/caninterface.cpp (.../caninterface.cpp) (revision 805119c460b4a266d6401c8705f4427e7fbe270f) +++ sources/canbus/caninterface.cpp (.../caninterface.cpp) (revision 057d3ef4e29c63235040c5cfe8c6421ef7787d6a) @@ -25,8 +25,6 @@ // stl #include -#define FrameCount_MAX UINT64_MAX - // namespace using namespace Can; @@ -113,7 +111,7 @@ this , SLOT (onFrameError (QCanBusDevice::CanBusError))); connect(_canDevice, SIGNAL( framesWritten(qint64)), - this , SLOT (onFrameWrittern(qint64))); + this , SLOT (onFrameWritten (qint64))); } connect(&_FrameInterface, SIGNAL(didFrameTransmit(QCanBusFrame)), this , SLOT( onFrameTransmit(QCanBusFrame))); @@ -269,13 +267,9 @@ * \details count received frames up the size of the FrameCount type size * \return frame count */ -CanInterface::FrameCount CanInterface::rxCount() +FrameCount CanInterface::rxCount() { - if ( _rxFrameCount <= FrameCount_MAX ) { - ++_rxFrameCount; - } else { - _rxFrameCount = 1; - } + Types::safeIncrement(_rxFrameCount); return _rxFrameCount; } @@ -284,17 +278,24 @@ * \details count transmitted frames up the size of the FrameCount type size * \return frame count */ -CanInterface::FrameCount CanInterface::txCount() +FrameCount CanInterface::txCount() { - if ( _txFrameCount <= FrameCount_MAX ) { - ++_txFrameCount; - } else { - _txFrameCount = 1; - } + Types::safeIncrement(_txFrameCount); return _txFrameCount; } /*! + * \brief CanInterface::erCount + * \details count errors happened + * \return error count + */ +FrameCount CanInterface::erCount() +{ + Types::safeIncrement(_erFrameCount); + return _erFrameCount; +} + +/*! * \brief frameFlags * \details CANBUS message frame type as flags * \param vFrame - CANBUS message frame @@ -321,32 +322,37 @@ */ void CanInterface::onFrameError(QCanBusDevice::CanBusError vError) { + erCount(); switch (vError) { case QCanBusDevice::ReadError: case QCanBusDevice::WriteError: case QCanBusDevice::ConnectionError: case QCanBusDevice::ConfigurationError: case QCanBusDevice::UnknownError: _canStatus = _canDevice->errorString(); + LOG_ERROR(QString("%1 - %2").arg(_erFrameCount).arg(_canStatus)); break; + default: break; + } emit didFrameError(_canStatus); } /*! - * \brief CanInterface::onFrameWrittern + * \brief CanInterface::onFrameWritten * \details This is the slot connected to the signal * which is emitted every time a payload of frames * has been written to the CANBUS bus. * \param vFramesCount - The framesCount argument is set to the number of frames * that were written in this payload. */ -void CanInterface::onFrameWrittern(qint64 /*vFramesCount*/) +void CanInterface::onFrameWritten(qint64 vFramesCount) { - //_txFrameCount = vFramesCount; - //qDebug() << "onFrameWrittern::FramesCount : " << vFramesCount; + static FrameCount mFrameCount = 0; + Types::safeIncrement(mFrameCount, vFramesCount); + emit didFrameWritten(vFramesCount); } /*!