summaryrefslogtreecommitdiffstats
path: root/src/plugins/canbus/peakcan
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2017-09-19 13:02:48 +0200
committerAndré Hartmann <aha_1980@gmx.de>2017-10-05 14:37:33 +0000
commitec2edbc0fd072dd80d3465fda3d86febb98c4a5a (patch)
tree532adbacd48e12b00cdb1759cb7b4c6a42bf0d43 /src/plugins/canbus/peakcan
parenteabebbf66fe7f2ea324fafd8bb25b385c458c1cb (diff)
PeakCAN: Fix Clang Semantic Warnings
261:45: warning: implicit conversion loses integer precision: 'int' to 'quint16' (aka 'unsigned short') 261:59: warning: implicit conversion loses integer precision: 'const int' to 'quint16' (aka 'unsigned short') 358:39: warning: implicit conversion changes signedness: 'int' to 'quint32' (aka 'unsigned int') qcompilerdetection.h:241:49: note: expanded from macro 'Q_UNLIKELY' 379:27: warning: implicit conversion loses integer precision: 'int' to 'quint8' (aka 'unsigned char') 419:70: warning: implicit conversion changes signedness: 'const quint64' (aka 'const unsigned long long') to 'qint64' (aka 'long long') Change-Id: Ib380145cd8775659bf0145053ac6420b3feb635e Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/plugins/canbus/peakcan')
-rw-r--r--src/plugins/canbus/peakcan/peakcan_symbols_p.h1
-rw-r--r--src/plugins/canbus/peakcan/peakcanbackend.cpp16
-rw-r--r--src/plugins/canbus/peakcan/peakcanbackend_p.h4
3 files changed, 11 insertions, 10 deletions
diff --git a/src/plugins/canbus/peakcan/peakcan_symbols_p.h b/src/plugins/canbus/peakcan/peakcan_symbols_p.h
index ab17129..c5e8c2d 100644
--- a/src/plugins/canbus/peakcan/peakcan_symbols_p.h
+++ b/src/plugins/canbus/peakcan/peakcan_symbols_p.h
@@ -234,6 +234,7 @@ extern "C"
#define PCAN_BAUD_20K 0x532F // 20 kBit/s
#define PCAN_BAUD_10K 0x672F // 10 kBit/s
#define PCAN_BAUD_5K 0x7F7F // 5 kBit/s
+#define PCAN_BAUD_INVALID 0xFFFF // unknown or invalid baudrate
#define PCAN_TYPE_ISA 0x01 // PCAN-ISA 82C200
#define PCAN_TYPE_ISA_SJA 0x09 // PCAN-ISA SJA1000
diff --git a/src/plugins/canbus/peakcan/peakcanbackend.cpp b/src/plugins/canbus/peakcan/peakcanbackend.cpp
index 376cd2f..45610d0 100644
--- a/src/plugins/canbus/peakcan/peakcanbackend.cpp
+++ b/src/plugins/canbus/peakcan/peakcanbackend.cpp
@@ -214,7 +214,7 @@ PeakCanBackendPrivate::PeakCanBackendPrivate(PeakCanBackend *q)
struct BitrateItem
{
int bitrate;
- int code;
+ TPCANBaudrate code;
};
struct BitrateLessFunctor
@@ -225,7 +225,7 @@ struct BitrateLessFunctor
}
};
-static int bitrateCodeFromBitrate(int bitrate)
+static TPCANBaudrate bitrateCodeFromBitrate(int bitrate)
{
static const BitrateItem bitratetable[] = {
{ 5000, PCAN_BAUD_5K },
@@ -248,7 +248,7 @@ static int bitrateCodeFromBitrate(int bitrate)
const BitrateItem item = { bitrate , 0 };
const BitrateItem *where = std::lower_bound(bitratetable, endtable, item, BitrateLessFunctor());
- return where != endtable ? where->code : -1;
+ return where != endtable ? where->code : PCAN_BAUD_INVALID;
}
bool PeakCanBackendPrivate::open()
@@ -256,7 +256,7 @@ bool PeakCanBackendPrivate::open()
Q_Q(PeakCanBackend);
const int bitrate = q->configurationParameter(QCanBusDevice::BitRateKey).toInt();
- const int bitrateCode = bitrateCodeFromBitrate(bitrate);
+ const TPCANBaudrate bitrateCode = bitrateCodeFromBitrate(bitrate);
const TPCANStatus st = ::CAN_Initialize(channelIndex, bitrateCode, 0, 0, 0);
if (Q_UNLIKELY(st != PCAN_ERROR_OK)) {
@@ -352,7 +352,7 @@ void PeakCanBackendPrivate::setupDefaultConfigurations()
q->setConfigurationParameter(QCanBusDevice::BitRateKey, 500000);
}
-QString PeakCanBackendPrivate::systemErrorString(int errorCode)
+QString PeakCanBackendPrivate::systemErrorString(TPCANStatus errorCode)
{
QByteArray buffer(256, 0);
if (Q_UNLIKELY(::CAN_GetErrorText(errorCode, 0, buffer.data()) != PCAN_ERROR_OK))
@@ -376,7 +376,7 @@ void PeakCanBackendPrivate::startWrite()
::memset(&message, 0, sizeof(message));
message.ID = frame.frameId();
- message.LEN = payload.size();
+ message.LEN = static_cast<quint8>(payload.size());
message.MSGTYPE = frame.hasExtendedFrameFormat() ? PCAN_MESSAGE_EXTENDED : PCAN_MESSAGE_STANDARD;
if (frame.frameType() == QCanBusFrame::RemoteRequestFrame)
@@ -416,7 +416,7 @@ void PeakCanBackendPrivate::startRead()
QCanBusFrame frame(message.ID, QByteArray(reinterpret_cast<const char *>(message.DATA), int(message.LEN)));
const quint64 millis = timestamp.millis + Q_UINT64_C(0xFFFFFFFF) * timestamp.millis_overflow;
const quint64 micros = Q_UINT64_C(1000) * millis + timestamp.micros;
- frame.setTimeStamp(QCanBusFrame::TimeStamp::fromMicroSeconds(micros));
+ frame.setTimeStamp(QCanBusFrame::TimeStamp::fromMicroSeconds(static_cast<qint64>(micros)));
frame.setExtendedFrameFormat(message.MSGTYPE & PCAN_MESSAGE_EXTENDED);
frame.setFrameType((message.MSGTYPE & PCAN_MESSAGE_RTR) ? QCanBusFrame::RemoteRequestFrame : QCanBusFrame::DataFrame);
@@ -436,7 +436,7 @@ bool PeakCanBackendPrivate::verifyBitRate(int bitrate)
return false;
}
- if (Q_UNLIKELY(bitrateCodeFromBitrate(bitrate) == -1)) {
+ if (Q_UNLIKELY(bitrateCodeFromBitrate(bitrate) == PCAN_BAUD_INVALID)) {
q->setError(PeakCanBackend::tr("Unsupported bitrate value"),
QCanBusDevice::ConfigurationError);
return false;
diff --git a/src/plugins/canbus/peakcan/peakcanbackend_p.h b/src/plugins/canbus/peakcan/peakcanbackend_p.h
index a6c6458..2dc8197 100644
--- a/src/plugins/canbus/peakcan/peakcanbackend_p.h
+++ b/src/plugins/canbus/peakcan/peakcanbackend_p.h
@@ -75,7 +75,7 @@ public:
bool setConfigurationParameter(int key, const QVariant &value);
void setupChannel(const QByteArray &interfaceName);
void setupDefaultConfigurations();
- QString systemErrorString(int errorCode);
+ QString systemErrorString(TPCANStatus errorCode);
void startWrite();
void startRead();
bool verifyBitRate(int bitrate);
@@ -83,7 +83,7 @@ public:
PeakCanBackend * const q_ptr;
bool isOpen = false;
- int channelIndex = PCAN_NONEBUS;
+ TPCANHandle channelIndex = PCAN_NONEBUS;
QTimer *writeNotifier = nullptr;
#if defined(Q_OS_WIN32)