From cb561f1599212fca5ac3bd8f5ed807f45776962a Mon Sep 17 00:00:00 2001 From: ian Date: Fri, 20 Feb 2026 18:43:58 +0900 Subject: [PATCH] add files --- TestLibDlg/IncSourceTestDlg/common_def.h | 247 +++++++++++++++++++++++ 1 file changed, 247 insertions(+) create mode 100644 TestLibDlg/IncSourceTestDlg/common_def.h diff --git a/TestLibDlg/IncSourceTestDlg/common_def.h b/TestLibDlg/IncSourceTestDlg/common_def.h new file mode 100644 index 0000000..521aa21 --- /dev/null +++ b/TestLibDlg/IncSourceTestDlg/common_def.h @@ -0,0 +1,247 @@ +#ifndef _COMMON_DEF_FOR_A2L_ +#define _COMMON_DEF_FOR_A2L_ +#include +#include +#include + + + + +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 m_nDaqList; + +}; + +#endif \ No newline at end of file