mirror of
https://github.com/intrepidcs/libicsneo.git
synced 2026-09-20 16:08:37 +02:00
Device: Add ISO-15765 hardware acceleration
This commit is contained in:
committed by
Kyle Schwarz
parent
34875129ee
commit
3a6501d116
+125
-25
@@ -1,33 +1,133 @@
|
||||
#ifndef _J2534_H
|
||||
#define _J2534_H
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace icsneo {
|
||||
|
||||
//J2534 Commands
|
||||
#define J1534_NUM_PERIOD_TX_MSGS 128
|
||||
#define J1534_NUM_PERIOD_RX_MSGS 128
|
||||
#define J2534NVCMD_SetISJ2534 0
|
||||
#define J2534NVCMD_SetISO5Baud 1
|
||||
#define J2534NVCMD_SetISOFastInit 2
|
||||
#define J2534NVCMD_SetISOCheckSum 3
|
||||
#define J2534NVCMD_SetISO9141Parms 4
|
||||
#define J2534NVCMD_GetISO9141Parms 5
|
||||
#define J2534NVCMD_ISO9141APIChkSum 6
|
||||
#define J2534NVCMD_SetNetworkBaudRate 7
|
||||
#define J2534NVCMD_GetNetworkBaudRate 8
|
||||
#define J2534NVCMD_EnableTransmitEvent 9
|
||||
#define J2534NVCMD_SetTransmitEvent 10
|
||||
#define J2534NVCMD_BlueEnableStopFilters 11
|
||||
#define J2534NVCMD_Blue15765HWSupport 12
|
||||
#define J2534NVCMD_GetTXBufferInfo 13
|
||||
#define J2534NVCMD_GetEncryptionKey 14
|
||||
#define J2534NVCMD_SetMiscIOForVBATT 15
|
||||
#define J2534NVCMD_EnableISO_KW_Network 16
|
||||
#define J2534NVCMD_SetJ1708CheckSum 17
|
||||
#define J2534NVCMD_GetTimestamp 18
|
||||
#define J2534NVCMD_GetCANFDRate 19
|
||||
#define J2534NVCMD_SetCANFDRate 20
|
||||
#define J2534NVCMD_GetCANFDTermination 21
|
||||
#define J2534NVCMD_SetCANFDTermination 22
|
||||
#define J2534NVCMD_GetCANFDFormat 23
|
||||
#define J2534NVCMD_SetCANFDFormat 24
|
||||
|
||||
enum class J2534Command : uint8_t {
|
||||
SetISJ2534 = 0,
|
||||
SetISO5Baud = 1,
|
||||
SetISOFastInit = 2,
|
||||
SetISOCheckSum = 3,
|
||||
SetISO9141Parms = 4,
|
||||
GetISO9141Parms = 5,
|
||||
ISO9141APIChkSum = 6,
|
||||
SetNetworkBaudRate = 7,
|
||||
GetNetworkBaudRate = 8,
|
||||
EnableTransmitEvent = 9,
|
||||
SetTransmitEvent = 10,
|
||||
BlueEnableStopFilters = 11,
|
||||
Blue15765HWSupport = 12,
|
||||
GetTXBufferInfo = 13,
|
||||
GetEncryptionKey = 14,
|
||||
SetMiscIOForVBATT = 15,
|
||||
EnableISO_KW_Network = 16,
|
||||
SetJ1708CheckSum = 17,
|
||||
GetTimestamp = 18,
|
||||
GetCANFDRate = 19,
|
||||
SetCANFDRate = 20,
|
||||
GetCANFDTermination = 21,
|
||||
SetCANFDTermination = 22,
|
||||
GetCANFDFormat = 23,
|
||||
SetCANFDFormat = 24
|
||||
};
|
||||
|
||||
#pragma pack(push)
|
||||
#pragma pack(1)
|
||||
|
||||
/**
|
||||
* SubFrame Commands
|
||||
*/
|
||||
enum class J2534SubCommand : uint8_t {
|
||||
Enable = 0,
|
||||
SetupIso15765RxFilter = 1,
|
||||
SetupIso15765TxMessageProperties = 2,
|
||||
SetupIso15765TxMessageDataBytes = 3,
|
||||
SetupCanRxFilter = 4,
|
||||
SetupClearCanRxFilters = 5,
|
||||
EnableFiltering = 6
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint16_t uiFilterMask0;
|
||||
uint16_t uiFilterID0;
|
||||
uint16_t uiFilterMask1;
|
||||
uint16_t uiFilterID1;
|
||||
uint16_t uiFilterMask2;
|
||||
uint16_t uiFilterID2;
|
||||
union {
|
||||
/** Mask and value words if rx filter is datalink filter*/
|
||||
struct
|
||||
{
|
||||
uint16_t uiFilterMask3;
|
||||
uint16_t uiFilterID3;
|
||||
uint16_t uiFilterMask4;
|
||||
uint16_t uiFilterID4;
|
||||
uint16_t uiFilterMask5;
|
||||
uint16_t uiFilterID5;
|
||||
uint16_t uiFilterMask6;
|
||||
uint16_t uiFilterID6;
|
||||
} datalink;
|
||||
/** Mask and value bytes if rx filter is datalink filter*/
|
||||
struct
|
||||
{
|
||||
uint8_t uiFilterMask_DB0;
|
||||
uint8_t uiFilterMask_DB1;
|
||||
uint8_t uiFilterID_DB0;
|
||||
uint8_t uiFilterID_DB1;
|
||||
uint8_t uiFilterMask_DB2;
|
||||
uint8_t uiFilterMask_DB3;
|
||||
uint8_t uiFilterID_DB2;
|
||||
uint8_t uiFilterID_DB3;
|
||||
uint8_t uiFilterMask_DB4;
|
||||
uint8_t uiFilterMask_DB5;
|
||||
uint8_t uiFilterID_DB4;
|
||||
uint8_t uiFilterID_DB5;
|
||||
uint8_t uiFilterMask_DB6;
|
||||
uint8_t uiFilterMask_DB7;
|
||||
uint8_t uiFilterID_DB6;
|
||||
uint8_t uiFilterID_DB7;
|
||||
} datalinkBytes;
|
||||
/** Mask and value bytes if rx filter is Iso15765-2*/
|
||||
struct
|
||||
{
|
||||
uint8_t uiFilterMask_DB0;
|
||||
uint8_t uiFilterID_DB0;
|
||||
uint8_t uiFilterMask_DB1;
|
||||
uint8_t uiFilterID_DB1;
|
||||
uint8_t uiFilterMask_DB2;
|
||||
uint8_t uiFilterID_DB2;
|
||||
uint8_t uiFilterMask_DB3;
|
||||
uint8_t uiFilterID_DB3;
|
||||
uint8_t uiFilterMask_DB4;
|
||||
uint8_t uiFilterID_DB4;
|
||||
uint8_t uiFilterMask_DB5;
|
||||
uint8_t uiFilterID_DB5;
|
||||
uint8_t uiFilterMask_DB6;
|
||||
uint8_t uiFilterID_DB6;
|
||||
uint8_t uiFilterMask_DB7;
|
||||
uint8_t uiFilterID_DB7;
|
||||
} iso15Bytes;
|
||||
} args;
|
||||
} MessageFilterBytes;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint16_t idx;
|
||||
uint16_t enabled;
|
||||
uint16_t filterCount;
|
||||
MessageFilterBytes fb;
|
||||
uint16_t networkId;
|
||||
} J2534_RxCanFilter;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
} // namespace icsneo
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user