Purpose

Performs a request to save session and device information to non-volatile memory. Format

mcTypeStatus mcXCPSetRequest(
mcTypeTaskRef ECURefNum,
u8 Mode,
u16 SessionID);

Input

ECURefNum

ECURefNum is the task reference which links to the selected ECU. This reference is originally returned from .

Mode

Mode is a bit mask described below:

Bit Description
0 Request to store calibration data in non-volatile memory.
1 Unused.
2 Request to save all DAQ lists, which have been selected with START_STOP_DAQ_LIST(Select) into non-volatile memory.

The slave also must store the session configuration ID in non-volatile memory.

Upon saving, the slave first must clear any DAQ list configuration that might already be stored in non-volatile memory.

3 Request to clear all DAQ lists in non-volatile memory. All ODT entries reset to address=0, extension=0, size=0 and bit_offset=FF. Session configuration ID reset to 0.
4 Unused.
5 Unused.
6 Unused.
7 Unused.

SessionID

SessionID is a session configuration ID that is stored in non-volatile memory together with the information requested by the Mode parameter. Output

Return Value

The return value indicates the status of the function call as a signed 32-bit integer. Zero means the function executed successfully. A negative value specifies an error, which means the function did not perform the expected behavior. A positive value specifies a warning, which means the function performed as expected, but a condition arose that may require attention.

Use the function of the ECU M&C API to obtain a descriptive string for the return value.

Description

implements the XCP command SET_REQUEST and is used to save session configuration information into non-volatile memory in the ECU.

Refer to the ASAM XCP Part 2 Protocol Layer Specification for more information on how to setup a request.