⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dp256.a2l

📁 can 总线的应用程序
💻 A2L
📖 第 1 页 / 共 4 页
字号:
/begin PROJECT dp256 ""

  /begin MODULE CPP ""

    /begin A2ML

      block "IF_DATA" taggedunion if_data {


        "CANAPE_EXT" struct {
          int;             /* version number */
          taggedstruct {
            "LINK_MAP" struct {
              char[256];   /* segment name */
              long;        /* base address of the segment */
              uint;        /* address extension of the segment */
              uint;        /* flag: address is relative to DS */
              long;        /* offset of the segment address */
              uint;        /* datatypValid */
              uint;        /* enum datatyp */
              uint;        /* bit offset of the segment */
            };
            "DISPLAY" struct {
              long;        /* display color */
              double;      /* minimal display value (phys)*/
              double;      /* maximal display value (phys)*/
            };
            "VIRTUAL_CONVERSION" struct {
              char[256];   /* name of the conversion formula */
            };
          };
        };
        "CANAPE_INI" taggedstruct {
          block "TP_BLOB" taggedstruct {
            ("PARAMETER" struct {
                char[50];     /* Kategorie */
                char[50];     /* Name des Parameters */
                char[256];    /* Wert des Parameters */
            })*;
          };
        };

        /*********************************************************/
        /*   CCP AML   Blob-Version  V2.4, 27.04.1999            */
        /*********************************************************/
        "ASAP1B_CCP" taggedstruct {
            /* Description of the DAQ-Lists */
            (block "SOURCE" struct {
              struct {
                char [101];   /* Name of the DAQ-List (data acquisition list),
                                 measurement source .        */
                              /* If the DAQ-Liste only supports one fixed ECU
                                 sampling rate, it can be declared below
                                 to achieve compatibility with the ASAP2 standard.
                                 Otherwise description of the possible ECU
                                 sampling rates in QP_BLOB      */
                int;          /* Period definition : Basic scaling unit in
                                 CSE defined in ASAP1b (CSE=Code for Scaling Unit) */
                long;         /* Period definition : Rate in Scaling Units */
              };
              taggedstruct {
                "DISPLAY_IDENTIFIER" char[32];
                block "QP_BLOB" struct {
                  uint;	               /* Number of the DAQ-List 0..n               */
                  taggedstruct {
                    "LENGTH" uint;     /* Length of the DAQ-Liste, maximum number of
                                          the useable ODTs                          */
                    "CAN_ID_VARIABLE"; /* CAN-Message-ID is variable                */
                    "CAN_ID_FIXED" ulong;
                                       /* CAN-Message-ID of the DTOs is fixed,
                                          Default DTO
                                          Bit31 = 1: extended Identifier
                                          Bit31 = 0: standard Identifier            */
                                       /* Not applied if the ECU uses the DTM-Id    */
                    ("RASTER" uchar )*;
                                       /* Supported CCP Event Channel Names
                                          of this DAQ List */
                    ("EXCLUSIVE" int )*;
                                       /* Exclusion of other DAQ-Lists              */
                    "REDUCTION_ALLOWED";
                                       /* Data reduction possible                   */
                    "FIRST_PID" uchar; /* First Packet ID (PID) of the DAQ List     */
                  };
                };
              };
            } )*;
            /* Description of the available ECU Sampling Rates (Event Channels)      */
            (block "RASTER" struct {
               char [101];   /* CCP Event Channel Name                               */
               char [9];     /* Short Display Name of the Event Channel Name         */
               uchar;        /* Event Channel No., used for CCP START_STOP)          */
               int;          /* Period definition :  basic scaling unit in CSE
                                as defined in ASAP1b                                 */
               long;         /* ECU sample rate of the event channel,
                                period definition based on the basic scaling unit    */
               taggedstruct {
                 ("EXCLUSIVE" uchar )*;
                             /* Exclusion of other CCP Event Channels                */
               };
            })*;
            /* Group several event channels to form one combined event */
            /* e.g. group all cylinder synchronous events to one combined element */
            (block "EVENT_GROUP" struct {
               char [101];   /* Event group name */
               char [9];     /* Short name for the event group */
               taggedstruct {
                 ("RASTER" uchar )*;
               };
                             /* all event channels beloging to group
                                (CCP Event Channel Numbers for START_STOP)               */
            })*;
            /* Description of the authentification process */
            block "SEED_KEY" struct {
               char[256];    /* Name of the Seed&Key DLL for CAL Priviledge,
                                including file-Extension without path */
               char[256];    /* Name of the Seed&Key DLL for DAQ Priviledge,
                                including file-Extension without path */
               char[256];    /* Name of the Seed&Key DLL for PGM Priviledge,
                                including file-Extension without path */
            };
            /* Description of the checksum calculation process */
            block "CHECKSUM" struct {
               char[256];    /* Name of the Checksum DLL representing the ECU Algorithm,
                                including file-Extension without path */
            };
            block "TP_BLOB" struct {
               uint;	  /* CCP Version,       High Byte: Version
                                             Low Byte : subversion (dec.)            */
               uint;	  /* Blob-Version,      High Byte: Version
                                             Low Byte : subversion (dec.)            */
               ulong;	  /* CAN-Message ID for 'Transmitting to ECU (CRM)'
                                             Bit31 = 1: extended Identifier
                                             Bit31 = 0: standard Identifier          */
               ulong;	  /* CAN-Message ID for 'Receiving from ECU (DTM)'
                                             Bit31 = 1: extended Identifier
                                             Bit31 = 0: standard Identifier          */
               uint;	  /* Logical CCP-Address of the (station address)           */
               uint;	  /* Byte order of Multiple-byte-items
                                             1 = high Byte first, 2 = low byte first */
               taggedstruct {
                 block "CAN_PARAM" struct {
                   uint;                  /* Quartz freq. of the elec. control unit  */
                   uchar;                 /* BTR0                                    */
                   uchar;                 /* BTR1                                    */
                 };
                 "BAUDRATE" ulong;        /* Baud rate in Hz.                        */
                 "SAMPLE_POINT" uchar;    /* sampling point of time in percent       */
                 "SAMPLE_RATE" uchar;     /* number of samples per Bit (1 oder 3)    */
                 "BTL_CYCLES" uchar;      /* number of BTL-cycles                    */
                 "SJW" uchar;             /* SJW-parameter in BTL-cycles             */
                 "SYNC_EDGE" enum {
                    "SINGLE" = 0,         /* Synchronisation only on fallende edge   */
                    "DUAL" = 1            /* Synchr. on falling and rising edge      */
                 };
                 "DAQ_MODE" enum {        /* mode of cylcic data acquisition         */
                    "ALTERNATING" = 0,    /* ECU is sending one ODT per cycle        */
                    "BURST" = 1           /* ECU is sending a complete DAQ           */
                 };
                 "BYTES_ONLY";            /* ECU supports max. elements of one Byte size */
                                          /* otherwise ECU supports different dataTypes  */
                 "RESUME_SUPPORTED";      /* ECU supports the Resume function            */
                 "STORE_SUPPORTED";       /* ECU supports the Store function             */
                 "CONSISTENCY" enum {
                    "DAQ" = 0,            /* consistency of a complete DAQ ist guaranteed */
                    "ODT" = 1             /* consistency of a complete ODT ist guaranteed */
                 };
                 "ADDRESS_EXTENSION" enum {  /* address extension                      */
                    "DAQ" = 0,               /* ECU supports only one Address extension
                                                within an DAQ                    */
                    "ODT" = 1                /* ECU supports only one Address extension
                                                within an ODT                    */
                 };
                 block "CHECKSUM_PARAM" struct {
                   uint;	           /* checksum calculation procedure
                                        standard types not yet defined,
                                        if greater of equal 1000 : manufacturer specific  */
                   ulong;               /* Maximum block length used by an ASAP1a-CCP
                                           command, for checksum calculation procedure  */
                   taggedstruct {
                     "CHECKSUM_CALCULATION" enum {
                        "ACTIVE_PAGE" = 0,
                        "BIT_OR_WITH_OPT_PAGE" = 1
                     };
                   };
                 };
                 (block "DEFINED_PAGES" struct {
                    struct {
                       uint;            /* Logical No. of the memory page (1,2,..)   */
                       char[101];       /* Name of the memory page                   */
                       uint;            /* Adress-Extension of the memory page (only
                                           Low Byte significant)                     */
                       ulong;           /* Base address of the memory page           */
                       ulong;           /* Length of the memory page in Bytes        */
                    };
                    taggedstruct {
                      "RAM";              /* memory page in RAM */
                      "ROM";              /* memory page in ROM */
                      "FLASH";            /* memory page in FLASH */
                      "EEPROM";           /* memory page in EEPROM */
                      "RAM_INIT_BY_ECU";  /* memory page is initialised by ECU start-up */
                      "RAM_INIT_BY_TOOL"; /* RAM- memory page is initialised by the MCS */
                      "AUTO_FLASH_BACK";  /* RAM memory page is automatically flashed back */
                      "FLASH_BACK";       /* feature available to flash back the RAM memory page */
                      "DEFAULT";          /* memory page is standard (fallback mode) */
                    };
                 } ) *;
                 ( "OPTIONAL_CMD"  uint )*; /* CCP-Code of the optional command available
                                               in the ECU. It is recommended to declare all
                                               non-standard ECU commands here */
               };
            };
            /* for CHARACTERISTIC and AXIS_PTS and MEMORY_LAYOUT */
            "DP_BLOB" struct {
               uint;	/* Address extension of the calibration data
                           (only Low Byte significant) */
               ulong;	/* Base address of the calibration data */
               ulong;	/* Number of Bytes belonging to the calibration data  */
            };
            /* for MEASUREMENT */
            "KP_BLOB" struct {
               uint;	/* Address extension of the online data
                            (only Low Byte significant) */
               ulong;	/* Base address of the online data   */
               ulong;	/* Number of Bytes belonging to the online data (1,2 or 4) */
               taggedstruct {
                  ("RASTER" uchar )*;
                         /* Array of event channel initialization values */
               };
            };
        };

        /*********************************************************/
        /*   ASAP1B_KWP2000    BlobVersion 1.01                  */
        /*********************************************************/
        "ASAP1B_KWP2000" taggedstruct {
          ("ADDR_MAPPING" struct {
            ulong;
            ulong;
            ulong;
          })*;
          ("SEED_KEY" char[256])*;
          (block "SOURCE" struct {
            struct {
              char[100];
              int;
              long;
            };
            taggedstruct {
              "QP_BLOB" struct {
                uint;
                enum {
                  "ADDRESSMODE" = 1,
                  "BLOCKMODE" = 2
                };
                uint;
                uint;
                uint;
              };
            };
          })*;
          block "TP_BLOB" struct {
            uint;
            uint;
            uint;
            enum {
              "WuP" = 1,
              "5Baud" = 2
            };
            enum {
              "MSB_FIRST" = 1,
              "MSB_LAST" = 2
            };
            uint;
            taggedstruct {
              "DATA_ACCESS" struct {
                ulong;
                ulong;
                uint;
                uint;
                uint;
                uint;
              };
              block "CHECKSUM" struct {
                ulong;
                uint;
                uint;
                enum {
                  "RequestRoutineResults" = 0,
                  "StartRoutine" = 1,
                  "CodedResult" = 2
                };
                taggedstruct {
                  "RNC_RESULT" (uchar )*;
                };
              };
              block "FLASH_COPY" struct {
                enum {
                  "NOFLASHBACK" = 0x00,
                  "AUTOFLASHBACK" = 0x40,
                  "TOOLFLASHBACK" = 0x80
                };
                uint;
                enum {
                  "RequestRoutineResults" = 0,
                  "StartRoutine" = 1,
                  "CodedResult" = 2
                };
                enum {
                  "RAM_InitByECU" = 0x10,
                  "RAM_InitByTool" = 0x20
                };
                uint;
                taggedstruct {
                  "COPY_FRAME" (uchar )*;
                  "RNC_RESULT" (uchar )*;
                  "COPY_PARA" (uchar )*;
                };
              };
              (block "DIAG_BAUD" struct {
                ulong;
                uint;
                taggedstruct {
                  "BD_PARA" (uchar)*;
                };
              })*;
              ("TIME_DEF" struct {
                uint;
                uint;
                uint;
                uint;
                uint;
                uint;
              })*;
              ("SECURITY_ACCESS" struct {
                uint;
                uint;
                uint;
              })*;
              block "PAGE_SWITCH" struct {
                enum {
                  "ESCAPE_CODE"   = 0x80,
                  "LOCAL_ROUTINE" = 0x31
                };
                taggedstruct {
                  "ESCAPE_CODE_PARA"  ( uchar )*;
                  block "ROUTINE_PARA" struct {
                    uint;
                    enum {
                      "RequestRoutineResults"	= 0,
                      "StartRoutine"		= 1,
                      "CodedResult"		= 2
                    };
                    taggedstruct {
                      "RNC_RESULT" ( uchar )*;
                    };
                  };
                  "PAGE_CODE" ( uchar )*;
                };
              };
            };
          };
          "DP_BLOB" struct {
            ulong;
            ulong;
          };
          "KP_BLOB" struct {
            ulong;
            enum {
              "INTERN" = 0,
              "EXTERN" = 1
            };
            uint;
          };
        };


        /*********************************************************/
        /*   CNP_KWPONCAN                                        */
        /*********************************************************/
        "CNP_KWPONCAN" taggedstruct {
          block "TP_BLOB" taggedstruct {
            block "KWP" struct {
              ulong;     /* size (blob version 331) */
              ulong;     /* BlockDelay              */
              ulong;     /* MaxBlock                */
              ulong;     /* Timeout                 */
              ulong;     /* ExtTimeout              */
              ulong;     /* DelayTesterPresent      */
              long;      /* SecurityAccess          */
              char[260]; /* SeedKey                 */
              uchar;     /* SeedKeyDiagnosticMode   */
              uchar;     /* DynamicallyDefLocalId   */
              uchar;     /* ReadIdOption            */
              uchar;     /* ReadIdResultOffset      */
              uchar;     /* ReadIdResultSize        */
              uchar;     /* ExtendedMode            */
              ulong;     /* RxId                    */
              ulong;     /* TxId                    */
              long;      /* BodyCan                 */
              ulong;     /* GlbTxId                 */
              uchar;     /* TargetAddr              */
              uchar;     /* TesterAddr              */
              ulong;     /* BaseAddr                */
              long;      /* DelayAutoDisconnect     */
              long;      /* ZeroPadding             */
              ulong;     /* CyclicTesterPresent     */
              uchar;     /* ModeConnect             */
              uchar;     /* ModeDisconnect          */
              uchar;     /* ModeCalibration         */
            };
            block "DLL" struct {
              ulong;     /* size (blob version 7) */
              uchar;     /* CalramOffline         */
              uchar;     /* CalramCache           */
              uchar;     /* CalramWriteOpt        */
              taggedstruct {
                ("CAL_RAM" struct {
                  ulong;  /* CalramSectorAddr */
                  ulong;})*;  /* CalramSectorSize */
              };
            };
            block "CAN" struct {
              ulong;     /* size (blob version 282) */
              ulong;     /* CHANNEL                 */
              uchar;     /* BTR0                    */
              uchar;     /* BTR1                    */
              ulong;     /* RX_QUEUE_SIZE           */
              char[256]; /* HOST                    */
              long;      /* PORT                    */
              long;      /* PROTOCOL_TYPE           */
              long;      /* SOCKET_TYPE             */
            };
            block "CNP_INI" struct {
              ulong;     /* size (blob version 14) */
              char[10];  /* CNP_INI Plausibilt鋞spr黤ung beim Einlesen  */
              taggedstruct {
                ("PARAMETER" struct {
                  char[50];         /* Kategorie */
                  char[50];         /* Name des Parameters */
                  char[256];})*;    /* Wert des Parameters */
              };
            };
          };
          "DP_BLOB" struct {
              ulong;     /* size (blob version 6)       */
              uint;	    /* Address extension of the calibration data */
                         /* (only Low Byte significant) */
          };
          "KP_BLOB" struct {
              ulong;     /* size (blob version 6)       */
              uint;	    /* Address extension of the calibration data */
                         /* (only Low Byte significant) */
          };
        };

        /*********************************************************/
        /*   ETK               BlobVersion 1.01                  */
        /*********************************************************/
        "ETK" taggedstruct {
            ("ADDR_MAPPING" struct {
              ulong;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -