1 changed files with 247 additions and 0 deletions
@ -0,0 +1,247 @@ |
|||||
|
#ifndef _COMMON_DEF_FOR_A2L_ |
||||
|
#define _COMMON_DEF_FOR_A2L_ |
||||
|
#include <list> |
||||
|
#include <stdio.h> |
||||
|
#include <stdint.h> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
enum A2L_BYTE_ORDER_MSB_TYPE { |
||||
|
BYTE_ORDER_MSB_LAST = 0, |
||||
|
BYTE_ORDER_MSB_FIRST = 1 |
||||
|
}; |
||||
|
|
||||
|
enum A2L_ADDRESS_GRANULARITY_TYPE { |
||||
|
ADDRESS_GRANULARITY_BYTE = 1, |
||||
|
ADDRESS_GRANULARITY_WORD = 2, |
||||
|
ADDRESS_GRANULARITY_DWORD = 4 |
||||
|
}; |
||||
|
|
||||
|
enum A2L_OPTIONAL_COMMAND_TYPE { |
||||
|
GET_COMM_MODE_INFO = 0xFB, |
||||
|
GET_ID = 0xFA, |
||||
|
SET_REQUEST = 0xF9, |
||||
|
GET_SEED = 0xF8, |
||||
|
UNLOCK = 0xF7, |
||||
|
SET_MTA = 0xF6, |
||||
|
UPLOAD = 0xF5, |
||||
|
SHORT_UPLOAD = 0xF4, |
||||
|
BUILD_CHECKSUM = 0xF3, |
||||
|
TRANSPORT_LAYER_CMD = 0xF2, |
||||
|
USER_CMD = 0xF1, |
||||
|
DOWNLOAD = 0xF0, |
||||
|
DOWNLOAD_NEXT = 0xEF, |
||||
|
DOWNLOAD_MAX = 0xEE, |
||||
|
SHORT_DOWNLOAD = 0xED, |
||||
|
MODIFY_BITS = 0xEC, |
||||
|
SET_CAL_PAGE = 0xEB, |
||||
|
GET_CAL_PAGE = 0xEA, |
||||
|
GET_PAG_PROCESSOR_INFO = 0xE9, |
||||
|
GET_SEGMENT_INFO = 0xE8, |
||||
|
GET_PAGE_INFO = 0xE7, |
||||
|
SET_SEGMENT_MODE = 0xE6, |
||||
|
GET_SEGMENT_MODE = 0xE5, |
||||
|
COPY_CAL_PAGE = 0xE4, |
||||
|
CLEAR_DAQ_LIST = 0xE3, |
||||
|
SET_DAQ_PTR = 0xE2, |
||||
|
WRITE_DAQ = 0xE1, |
||||
|
SET_DAQ_LIST_MODE = 0xE0, |
||||
|
GET_DAQ_LIST_MODE = 0xDF, |
||||
|
START_STOP_DAQ_LIST = 0xDE, |
||||
|
START_STOP_SYNCH = 0xDD, |
||||
|
GET_DAQ_CLOCK = 0xDC, |
||||
|
READ_DAQ = 0xDB, |
||||
|
GET_DAQ_PROCESSOR_INFO = 0xDA, |
||||
|
GET_DAQ_RESOLUTION_INFO = 0xD9, |
||||
|
GET_DAQ_LIST_INFO = 0xD8, |
||||
|
GET_DAQ_EVENT_INFO = 0xD7, |
||||
|
FREE_DAQ = 0xD6, |
||||
|
ALLOC_DAQ = 0xD5, |
||||
|
ALLOC_ODT = 0xD4, |
||||
|
ALLOC_ODT_ENTRY = 0xD3, |
||||
|
PROGRAM_START = 0xD2, |
||||
|
PROGRAM_CLEAR = 0xD1, |
||||
|
PROGRAM = 0xD0, |
||||
|
PROGRAM_RESET = 0xCF, |
||||
|
GET_PGM_PROCESSOR_INFO = 0xCE, |
||||
|
GET_SECTOR_INFO = 0xCD, |
||||
|
PROGRAM_PREPARE = 0xCC, |
||||
|
PROGRAM_FORMAT = 0xCB, |
||||
|
PROGRAM_NEXT = 0xCA, |
||||
|
PROGRAM_MAX = 0xC9, |
||||
|
PROGRAM_VERIFY = 0xC8, |
||||
|
WRITE_DAQ_MULTIPLE = 0xC7 |
||||
|
}; |
||||
|
|
||||
|
enum A2L_DAQ_MODE_TYPE { |
||||
|
STATIC = 0, |
||||
|
DYNAMIC = 1 |
||||
|
}; |
||||
|
|
||||
|
enum A2L_DAQ_OPTIMISATION_TYPE { |
||||
|
OPTIMISATION_TYPE_DEFAULT = 0, |
||||
|
OPTIMISATION_TYPE_ODT_TYPE_16 = 1, |
||||
|
OPTIMISATION_TYPE_ODT_TYPE_32 = 2, |
||||
|
OPTIMISATION_TYPE_ODT_TYPE_64 = 3, |
||||
|
OPTIMISATION_TYPE_ODT_TYPE_ALIGNMENT = 4, |
||||
|
OPTIMISATION_TYPE_MAX_ENTRY_SIZE = 5 |
||||
|
}; |
||||
|
|
||||
|
enum A2L_DAQ_ADDRESS_EXTENSION { |
||||
|
ADDRESS_EXTENSION_FREE = 0, |
||||
|
ADDRESS_EXTENSION_ODT = 1, |
||||
|
ADDRESS_EXTENSION_DAQ = 3, |
||||
|
}; |
||||
|
|
||||
|
enum A2L_DAQ_IDENTIFICATION_FIELD_TYPE { |
||||
|
IDENTIFICATION_FIELD_TYPE_ABSOLUTE = 0, |
||||
|
IDENTIFICATION_FIELD_TYPE_RELATIVE_BYTE = 1, |
||||
|
IDENTIFICATION_FIELD_TYPE_RELATIVE_WORD = 2, |
||||
|
IDENTIFICATION_FIELD_TYPE_RELATIVE_WORD_ALIGNED = 3 |
||||
|
}; |
||||
|
enum A2L_DAQ_GRANULARITY_ODT_ENTRY_SIZE { |
||||
|
GRANULARITY_ODT_ENTRY_SIZE_DAQ_BYTE = 1, |
||||
|
GRANULARITY_ODT_ENTRY_SIZE_DAQ_WORD = 2, |
||||
|
GRANULARITY_ODT_ENTRY_SIZE_DAQ_DWORD = 4, |
||||
|
GRANULARITY_ODT_ENTRY_SIZE_DAQ_DLONG = 8 |
||||
|
}; |
||||
|
|
||||
|
enum A2L_OverloadIndication { |
||||
|
NO_OVERLOAD_INDICATION = 0, |
||||
|
OVERLOAD_INDICATION_PID = 1, |
||||
|
OVERLOAD_INDICATION_EVENT = 2 |
||||
|
}; |
||||
|
|
||||
|
enum A2L_GranularityOdtEntrySizeStim{ |
||||
|
GRANULARITY_ODT_ENTRY_SIZE_STIM_BYTE = 1, |
||||
|
GRANULARITY_ODT_ENTRY_SIZE_STIM_WORD = 2, |
||||
|
GRANULARITY_ODT_ENTRY_SIZE_STIM_DWORD = 4, |
||||
|
GRANULARITY_ODT_ENTRY_SIZE_STIM_DLONG = 8 |
||||
|
}; |
||||
|
enum A2L_TimestampSupportedSize{ |
||||
|
NO_TIME_STAMP = 0, |
||||
|
SIZE_BYTE = 1, |
||||
|
SIZE_WORD = 2, |
||||
|
SIZE_DWORD = 4 |
||||
|
}; |
||||
|
|
||||
|
enum A2L_TimestampSupportedUnit { |
||||
|
UNIT_1NS = 0, |
||||
|
UNIT_10NS = 1, |
||||
|
UNIT_100NS = 2, |
||||
|
UNIT_1US = 3, |
||||
|
UNIT_10US = 4, |
||||
|
UNIT_100US = 5, |
||||
|
UNIT_1MS = 6, |
||||
|
UNIT_10MS = 7, |
||||
|
UNIT_100MS = 8, |
||||
|
UNIT_1S = 9 |
||||
|
}; |
||||
|
|
||||
|
enum A2L_DaqListType { |
||||
|
DAQ = 1, |
||||
|
STIM = 2, |
||||
|
DAQ_STIM = 3 |
||||
|
}; |
||||
|
|
||||
|
struct A2L_CommunicatonModeSupported { |
||||
|
bool m_bIsBlockMode; |
||||
|
unsigned char m_cMaster_MAX_BS; // MAX_BS
|
||||
|
unsigned char m_cMaster_MIN_ST; // MIN_ST
|
||||
|
unsigned char m_cInterleaved; // QUEUE_SIZE
|
||||
|
}; |
||||
|
|
||||
|
|
||||
|
struct A2L_Protocol_Layer { |
||||
|
uint32_t m_nXCPProtocolVersion; /* XCP protocol layer version, current 0x100 */ |
||||
|
uint32_t m_nTimeout_T1; /* T1 [ms] */ |
||||
|
uint32_t m_nTimeout_T2; /* T2 [ms] */ |
||||
|
uint32_t m_nTimeout_T3; /* T3 [ms] */ |
||||
|
uint32_t m_nTimeout_T4; /* T4 [ms] */ |
||||
|
uint32_t m_nTimeout_T5; /* T5 [ms] */ |
||||
|
uint32_t m_nTimeout_T6; /* T6 [ms] */ |
||||
|
uint32_t m_nTimeout_T7; /* T7 [ms] */ |
||||
|
unsigned char m_cMAX_CTO; /* MAX_CTO */ |
||||
|
uint32_t m_nMAX_DTO; /* MAX_DTO */ |
||||
|
|
||||
|
A2L_BYTE_ORDER_MSB_TYPE m_nByteOrderMSBType; |
||||
|
A2L_ADDRESS_GRANULARITY_TYPE m_nAddressGranularityType; |
||||
|
|
||||
|
std::list < unsigned char > m_nOptionalCommandList; |
||||
|
|
||||
|
A2L_CommunicatonModeSupported m_stCommunicationModeSupported; |
||||
|
|
||||
|
std::string m_strSeedAndKeyExternalFunction; // Name of the Seed&Key function
|
||||
|
/*
|
||||
|
"COMMUNICATION_MODE_SUPPORTED" taggedunion { |
||||
|
"BLOCK" taggedstruct { |
||||
|
"SLAVE"; |
||||
|
"MASTER" struct { |
||||
|
uchar; // MAX_BS
|
||||
|
uchar; // MIN_ST
|
||||
|
}; |
||||
|
}; |
||||
|
"INTERLEAVED" uchar; // QUEUE_SIZE
|
||||
|
}; |
||||
|
"SEED_AND_KEY_EXTERNAL_FUNCTION" char[256]; // Name of the Seed&Key function
|
||||
|
}; |
||||
|
*/ |
||||
|
}; |
||||
|
|
||||
|
struct A2L_StimBlock { |
||||
|
bool m_bIsUse; |
||||
|
A2L_GranularityOdtEntrySizeStim m_nGranularityOdtEntrySizeStim; |
||||
|
unsigned char m_cMaxOdtEntrySizeStim; |
||||
|
|
||||
|
}; |
||||
|
|
||||
|
struct A2l_DaqTimeStampSupported { |
||||
|
bool m_bIsUse; |
||||
|
uint32_t m_nTimestampTicks; |
||||
|
A2L_TimestampSupportedSize m_nTimestampSupportedSize; |
||||
|
A2L_TimestampSupportedUnit m_nTimestampSupportedUnit; |
||||
|
}; |
||||
|
|
||||
|
struct A2L_ODTEntry { |
||||
|
unsigned char m_cOdtEntryNumber; |
||||
|
unsigned long m_lElementAddress; |
||||
|
unsigned char m_cExtenstionElementAddress; |
||||
|
unsigned char m_cElementSize; |
||||
|
unsigned char m_cBitOffset; |
||||
|
}; |
||||
|
struct A2L_DaqListPredefined { |
||||
|
unsigned char m_cOdtNumber; |
||||
|
std::list < A2L_ODTEntry> m_OdtEntryList; |
||||
|
}; |
||||
|
|
||||
|
struct A2L_DaqList { |
||||
|
uint32_t m_nDaqListNumber; |
||||
|
A2L_DaqListType m_nDatListType; |
||||
|
unsigned char m_cMaxOdt; |
||||
|
unsigned char m_cMaxOdtEntries; |
||||
|
unsigned char m_cFirstPid; |
||||
|
uint32_t m_nEventFixed; |
||||
|
std::list < A2L_DaqListPredefined> m_PredefinedList; |
||||
|
|
||||
|
|
||||
|
}; |
||||
|
|
||||
|
struct A2L_Daq { |
||||
|
A2L_DAQ_MODE_TYPE m_nDaqMode; |
||||
|
uint32_t m_nMaxDaq; /* MAX_DAQ */ |
||||
|
uint32_t m_nMaxEventChannel; /* MAX_EVENT_CHANNEL */ |
||||
|
unsigned char m_cMinDaq; /* MIN_DAQ */ |
||||
|
A2L_DAQ_OPTIMISATION_TYPE m_nOptimisationType; |
||||
|
A2L_DAQ_ADDRESS_EXTENSION m_nAddressExtention; |
||||
|
A2L_DAQ_IDENTIFICATION_FIELD_TYPE m_nIdentificationFieldType; |
||||
|
A2L_DAQ_GRANULARITY_ODT_ENTRY_SIZE m_nGranularityOdtSize; |
||||
|
unsigned char m_cMaxOdtEntrySize; /* MAX_ODT_ENTRY_SIZE_DAQ */ |
||||
|
A2L_OverloadIndication m_nOverloadIndication; |
||||
|
A2L_StimBlock m_nStimBlock; |
||||
|
A2l_DaqTimeStampSupported m_nTimeStampSupported; |
||||
|
std::list <A2L_DaqList> m_nDaqList; |
||||
|
|
||||
|
}; |
||||
|
|
||||
|
#endif |
||||
Loading…
Reference in new issue