diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2015-09-06 13:06:31 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2015-09-07 17:03:05 +0000 |
commit | 8ac3bbbbad1a806d4e64a73bc5f5d49937e67868 (patch) | |
tree | 2643f2b6030e09b26ef32c240a1d116ba2a7f2b4 /src/plugins/canbus/tinycan | |
parent | 7cb0710a4b3ac452e9aab37f12490e23afa37f90 (diff) |
Update the symbols header for the TinyCan plugin
We need to update the header, according to the latest API
version (v 401):
http://www.mhs-elektronik.de/index.php?module=download&action=list
Change-Id: I7a75d17d345e570819667865f260aa0938ed6fd0
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'src/plugins/canbus/tinycan')
-rw-r--r-- | src/plugins/canbus/tinycan/tinycan_symbols_p.h | 50 | ||||
-rw-r--r-- | src/plugins/canbus/tinycan/tinycanbackend.cpp | 4 |
2 files changed, 35 insertions, 19 deletions
diff --git a/src/plugins/canbus/tinycan/tinycan_symbols_p.h b/src/plugins/canbus/tinycan/tinycan_symbols_p.h index 02b6e23..5ad149c 100644 --- a/src/plugins/canbus/tinycan/tinycan_symbols_p.h +++ b/src/plugins/canbus/tinycan/tinycan_symbols_p.h @@ -71,6 +71,8 @@ extern "C" #define DRV_CALLBACK_TYPE #endif +#define INDEX_INVALID 0xFFFFFFFF + #define INDEX_FIFO_PUFFER_MASK 0x0000FFFF #define INDEX_SOFT_FLAG 0x02000000 #define INDEX_RXD_TXT_FLAG 0x01000000 @@ -86,24 +88,29 @@ extern "C" #define MsgRTR Flags.Flag.RTR #define MsgEFF Flags.Flag.EFF #define MsgTxD Flags.Flag.TxD +#define MsgErr Flags.Flag.Error +#define MsgSource Flags.Flag.Source #define MsgData Data.Bytes struct TCanFlagsBits { - unsigned Len:4; // Dlc - unsigned TxD:1; // TxD -> 1 = Tx CAN Message, 0 = Rx CAN Message - unsigned Res:1; // Reserved - unsigned RTR:1; // remote transmit request bit - unsigned EFF:1; // extended frame bit - unsigned Res2:8; + unsigned Len:4; // DLC -> data length 0 - 8 byte + unsigned TxD:1; // TxD -> 1 = Tx CAN Message, 0 = Rx CAN Message + unsigned Error:1; // Error -> 1 = bus CAN error message + unsigned RTR:1; // Remote Transmission Request bit -> If message RTR marks + unsigned EFF:1; // Extended Frame Format bit -> 1 = 29 Bit Id's, 0 = 11 Bit Id's + unsigned Source:8; // Source of the message (Device) }; +#pragma pack(push, 1) union TCanFlags { struct TCanFlagsBits Flag; quint32 Long; }; +#pragma pack(pop) +#pragma pack(push, 1) union TCanData { char Chars[8]; @@ -111,13 +118,17 @@ union TCanData quint16 Words[4]; quint32 Longs[2]; }; +#pragma pack(pop) +#pragma pack(push, 1) struct TTime { quint32 Sec; quint32 USec; }; +#pragma pack(pop) +#pragma pack(push, 1) struct TCanMsg { quint32 Id; @@ -125,9 +136,11 @@ struct TCanMsg union TCanData Data; struct TTime Time; }; +#pragma pack(pop) // CAN Message Filter Type #define FilFlags Flags.Long +#define FilRTR Flags.Flag.RTR #define FilEFF Flags.Flag.EFF #define FilMode Flags.Flag.Mode #define FilIdMode Flags.Flag.IdMode @@ -136,33 +149,33 @@ struct TCanMsg struct TMsgFilterFlagsBits { // 1. byte - unsigned Len:4; // dlc - unsigned Res:2; // reserved - unsigned RTR:1; // remote transmit request bit - unsigned EFF:1; // extended frame bit + unsigned Len:4; // DLC + unsigned Res:2; // Reserved + unsigned RTR:1; // Remote Transmit Request bit + unsigned EFF:1; // Extended Frame Format bit // 2. byte - unsigned IdMode:2; // 0 = Mask & Code - // 1 = start & stop - // 2 = single id + unsigned IdMode:2; // 0 = Mask & Code; 1 = Start & Sstop; 2 = Single Id unsigned DLCCheck:1; unsigned DataCheck:1; unsigned Res1:4; // 3. byte unsigned Res2:8; // 4. byte - unsigned Type:4; // 0 = single buffer + unsigned Type:4; // 0 = Single buffer unsigned Res3:2; - unsigned Mode:1; // 0 = Delete message - // 1 = Don't delete message - unsigned Enable:1; + unsigned Mode:1; // 0 = Delete message; 1 = Don't delete message + unsigned Enable:1; // 0 = Close filter; 1 = Release filter }; +#pragma pack(push, 1) union TMsgFilterFlags { struct TMsgFilterFlagsBits Flag; quint32 Long; }; +#pragma pack(pop) +#pragma pack(push, 1) struct TMsgFilter { quint32 Maske; @@ -170,6 +183,7 @@ struct TMsgFilter union TMsgFilterFlags Flags; union TCanData Data; }; +#pragma pack(pop) // CAN speed #define CAN_10K_BIT 10 // 10 kBit/s @@ -241,12 +255,14 @@ struct TMsgFilter #define EVENT_DISABLE_RX_MESSAGES 0x0800 #define EVENT_DISABLE_ALL 0xFF00 +#pragma pack(push, 1) struct TDeviceStatus { quint32 DrvStatus; quint8 CanStatus; quint8 FifoStatus; }; +#pragma pack(pop) typedef void (DRV_CALLBACK_TYPE *CanPnPEventCallback)( quint32 index, diff --git a/src/plugins/canbus/tinycan/tinycanbackend.cpp b/src/plugins/canbus/tinycan/tinycanbackend.cpp index e22d35b..e882a5e 100644 --- a/src/plugins/canbus/tinycan/tinycanbackend.cpp +++ b/src/plugins/canbus/tinycan/tinycanbackend.cpp @@ -112,7 +112,7 @@ static void DRV_CALLBACK_TYPE canRxEventCallback(quint32 index, TCanMsg *frame, TinyCanBackendPrivate::TinyCanBackendPrivate(TinyCanBackend *q) : q_ptr(q) , isOpen(false) - , channelIndex(-1) + , channelIndex(INDEX_INVALID) { startupDriver(); @@ -255,7 +255,7 @@ static int channelIndexFromName(const QString &interfaceName) else if (interfaceName == QStringLiteral("channelb")) return INDEX_CAN_KANAL_B; else - return -1; + return INDEX_INVALID; } void TinyCanBackendPrivate::setupChannel(const QString &interfaceName) |