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