0% found this document useful (0 votes)
633 views277 pages

API Dokumentation

This document describes several methods for initializing, starting, stopping, checking, and controlling actuator and basic setting diagnostics. The methods initialize diagnostics with specified actuators or basic settings, start, stop, check, switch, and wait for diagnostics processes to finish or switch to the next setting.

Uploaded by

Oleksiy Osiychuk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
633 views277 pages

API Dokumentation

This document describes several methods for initializing, starting, stopping, checking, and controlling actuator and basic setting diagnostics. The methods initialize diagnostics with specified actuators or basic settings, start, stop, check, switch, and wait for diagnostics processes to finish or switch to the next setting.

Uploaded by

Oleksiy Osiychuk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 277

Method Summary

void
actuatorDiagnostics2Init(IConnectio
nHandle connectionHandle,
List<IDiagDescriptor2WithParametersA
ndMeasureme
nts> actuators, 62
List<IDiagMeasurementDescriptor>
measurements)

Initializes the actuator diagnosis with the specified


actuators.
void
actuatorDiagnosticsAbort(IConnectio
nHandle connectionHandle)
61
Stops all running actuators and terminates the
actuator diagnosis.
List<IDiagResultStatus>
actuatorDiagnosticsCheck(IConnectio
nHandle connectionHandle, List<String>
actuators)

Reads the status information and the 62


measurement values for the specified actuators (UDS
control units) or the actuator specified in
actuatorDiagnosticsInit (KWP control
units).
void
actuatorDiagnosticsInit(IConnection
Handle connectionHandle,
List<IDiagDescriptorWithParametersAn
dMeasuremen 63
ts> actuators, List<String> measurements)

Initializes the actuator diagnosis with the specified


actuators.
List<IDiagResultStatus>
actuatorDiagnosticsNext(IConnection
Handle connectionHandle)
63
Switches to the next configured actuator.
List<IDiagResultStatus>
actuatorDiagnosticsStart(IConnectio
nHandle connectionHandle, List<String>
actuators)

Starts the actuator diagnosis for the specified


64
actuators (UDS control units) or the actuator specified in
actuatorDiagnosticsInit (KWP control
units).
List<IDiagResultStatus>
actuatorDiagnosticsStop(IConnection
Handle connectionHandle, List<String>
actuators)

Stops the actuator diagnosis for the specified


64
actuators (UDS control units) or the actuator specified in
actuatorDiagnosticsInit (KWP control
units).
List<IDiagResultStatus>
actuatorDiagnosticsWaitUntilNotRunn
ing(IConnect
ionHandle connectionHandle, List<String>
actuators, long timeout) 65

Controls the process of reading status and


Measurands.
void
basicSetting2Init(IConnectionHandle
connectionHandle,
List<IDiagDescriptor2WithParametersA
ndMeasureme
nts> basicSettings, 92
List<IDiagMeasurementDescriptor>
measurements)

Initializes the basic setting diagnosis with the


specified settings.
void
basicSettingAbort(IConnectionHandle
connectionHandle)
91
Stops all running basic settings and terminates the
basic setting diagnosis.
List<IDiagResultStatus>
basicSettingCheck(IConnectionHandle
connectionHandle, List<String> basicSettings)
91
Starts the basic setting diagnosis check for:
the specified settings (UDS control units).
void
basicSettingInit(IConnectionHandle
connectionHandle,
List<IDiagDescriptorWithParametersAn
dMeasuremen
92
ts> basicSettings, List<String> measurements)

Initializes the basic setting diagnosis with the


specified settings.
List<IDiagResultStatus>
basicSettingNext(IConnectionHandle
connectionHandle)
94
Switches to the next configured basic setting.
List<IDiagResultStatus>
basicSettingStart(IConnectionHandle
connectionHandle, List<String> basicSettings)
93
Starts the basic setting diagnosis for:
the specified settings (UDS control units).
List<IDiagResultStatus>
basicSettingStop(IConnectionHandle
connectionHandle, List<String> basicSettings)
93
Stops the basic setting diagnosis for:
the specified settings (UDS control units).
List<IDiagResultStatus>
basicSettingSwitch(IConnectionHandl
e connectionHandle)
94
Switches the mode of operation for basic setting.
List<IDiagResultStatus>
basicSettingWaitUntilNotRunning(ICo
nnectionHand
le connectionHandle, List<String>
basicSettings, long timeout) 95

Controls the process of reading status and


measurands.
List<IDiagResultPreCondition>
checkFlashPreConditions(IConnection
Handle connectionHandle)
85
Checks the flashing preconditions for the current
control unit and delivers the list of unfulfilled conditions.
boolean
checkFlashProgramming(IConnectionHa
ndle connectionHandle)
84
Checks if the current control unit is in principle
flashable.
boolean
checkFlashProgrammingWithFlashConta
iner(IConnec
tionHandle connectionHandle, String
containerFileName, String sessionName) 85

Checks if the current control unit is flashable with


the containerFileName content.
String
checkVciState() 12
Returns the current VCI state.
5
void
clearAdaptationChannels(IConnection
Handle connectionHandle)
61
Resets all adaptation channels to their default
values.
void
closeConnection(IConnectionHandle
connectionHandle)

Closes the connection to the current control unit 83


and switches to
CLOSE_CONNECTION_BEHAVIOUR.
void
configureSetting(String paramKey, String
paramValue)
79
Configures a setting of the tester with a key value
combination.
IDiagResultConnectEcu
connectToEcu(int ecuAddress)

38
Opens a diagnostic connection to the control unit
specified by the address.
IDiagResultConnectEcu
connectToEcuAndOpenConnection(int
ecuAddress)

Opens the diagnostic connection to the control 38


unit specified by the address and switches to
STAY_CONNECTED_BEHAVIOUR.
IDiagResultConnectEcu
connectToEcuWithLogicalLink(String
logicalLinkname)
39
Opens a diagnostic connection to the control unit
specified by logical link name.
IDiagDescriptorWithParametersAndMeasurements
createBasicSetting(String
basicSettingName, Map<String,String>
parameters, List<String> measurements)
90
Creates a basic setting object that can be used to
initialize the basic setting diagnosis.
IDiagDescriptor2WithParametersAndMeasurements
createBasicSetting2(String
basicSettingName, Map<String,String>
parameters,
List<IDiagMeasurementDescriptor>
90
measurements)

Creates a basic setting object that can be used to


initialize the basic setting diagnosis.
IDiagComponentListEntry
createComponentListEntry(int ecuId,
boolean isCoded)
10
Creates an component list entry for writing the 0
gateway component list.
IDiagComponentListEntry
createComponentListEntry(int ecuId, int
listPosition, long nodeId, boolean isCoded)
10
Creates an component list entry for writing the 0
gateway component list.
IDiagDescriptorWithParametersAndMeasurements
createDiagActuator(String actuatorName,
Map<String,String> parameters, List<String>
measurementValues)
66
Creates an actuator object that can be used to
initialize the actuator diagnosis.
IDiagDescriptor2WithParametersAndMeasurements
createDiagActuator2(String actuatorName,
Map<String,String> parameters,
List<IDiagMeasurementDescriptor>
measurementValues) 65

Creates an actuator object that can be used to


initialize the actuator diagnosis.
IDiagMeasurementDescriptor
createDiagMeasurementDescriptor(long
ecuAddress, String measurementGroup, String
measurementParam) 69

Creates a descriptor for measurements.


IDiagFlashSessionDescriptor
createFlashSessionDescriptor(int
ecuAddress, String containerFilePath, String
sessionName, Boolean checkSessionWithEcu)
86
Creates a descriptor for a flash session that can
be used to flash a given control unit with the specified
flash session.
IDiagMultiAdaptionDescriptor
createMultilinkAdaptationDescriptor
(IMultilinkE
cuHandle ecuHandle, String adaptationName) 43

Creates a multilink descriptor for a adaptation.


IDiagMultiAdaptionValueDescriptor
createMultilinkAdaptationValueDescr
iptor(IDiagM
ultiAdaptionDescriptor
adaptationDescriptor, Map<String,String> 45
adaptationValues)

Creates a multilink descriptor for writing


adaptation values.
IDiagMultiCodingValueDescriptor
createMultilinkCodingDescriptor(IMu
ltilinkEcuHa
ndle ecuHandle, String systemName,
Map<String,String> textCoding, String
byteCoding, IDiagResultValue.ValueType 45
byteCodingType, Boolean ecuReset)

Creates a multilink descriptor for writing coding


values.
IMultilinkEcuHandle
createMultilinkHandleByAddress(Long
ecuAddress)
39
Creates a handle for a multilink call to represent
an ecu.
IMultilinkEcuHandle
createMultilinkHandleByLogicalLink(
String logicalLinkname)
40
Creates a handle for a multilink call to represent
an ecu.
IDiagMultiMeasurementDescriptor
createMultilinkMeasurementDescripto
r(IMultilink
EcuHandle ecuHandle, String measurementName) 42

Creates a multilink descriptor for a measurement.


String
createProtocolVDSBZD(String vin, String
vehicleNumber, boolean readEventMemory, String
userName, String measuringLocation, String
measuringType, Long mileage,
ITotalSystemsInterface.MileageUnit 10
mileageUnit, List<String> adaptationPresets,
List<String> measurementPresets, List<String>
8
identificationPresets, List<String>
additionalPresets)

Creates VDS/BZD protocol.


String
createProtocolVDSBZD(String vin, String
vehicleNumber, boolean readEventMemory, String
userName, String measuringLocation, String
measuringType, Long mileage,
ITotalSystemsInterface.MileageUnit
mileageUnit, List<String> adaptationPresets, 10
List<String> measurementPresets, List<String> 9
identificationPresets, List<String>
additionalPresets, Boolean
useGatewayComponentList)

Creates VDS/BZD protocol.


IDiagMultiSoftwareCompositionComponentCodingDescripto
r
createSoftwareCompositionComponentC
odingDescrip
tor(IMultilinkEcuHandle controlUnit,
List<IDiagSoftwareCompositionCompone 10
ntListEntry 3
> compositionComponents)

Creates an coding descriptor to code software


composition components with multilink.
IDiagSoftwareCompositionComponentListEntry
createSoftwareCompositionComponentL
istEntry(Str
ing listNumber, boolean isCoded)
99
Creates a software composition component list
entry for writing the software composition component list.
IDiagSoftwareCompositionComponentListEntry
createSoftwareCompositionComponentL
istEntry(Str
ing listNumber, int listPosition, long nodeId,
boolean isCoded) 99

Creates a software composition component list


entry for writing the software composition component list.
IDiagResultDatasetDownload
dataSetDownload(IConnectionHandle
connectionHandle, String xmlFilePath)
98
Writing of a data set with XML content or zip-
archive into the current control unit.
void
disableTransportMode()
84
Reactivation of a vehicle after a long time of
idleness e.g. storage or transport.
void
discardProtocol() 12
Discards protocol.
8
String
echo(String text)

26
Conveniant method to check the availability of the
web service.
void
enableTransportMode()
84
Deactivation of a vehicle in order to minimize
energy consumption.
List<IDiagResultStatus>
engineGroupCheck()
12
Starts the engine group diagnosis check for 6
the setting specified in enginGroupInit.
List<IDiagResultStatus>
engineGroupStart()
12
Starts the engine group diagnosis for 6
the setting specified in enginGroupInit.
List<IDiagResultStatus>
engineGroupStop()
12
Stops the engine group diagnosis for: 7
the setting specified in enginGroupInit.
List<IDiagResultStatus>
engineGroupSwitch() 12
Switches the mode of operation for engine group.
6
void
enginGroupInit(String basicSettingName)
12
Initializes the engine diagnosis with the specified 5
settings.
boolean
executeMacro(String macroName)
12
Executes a macro.
8
void
exit()
28
Returns immediately and closes the application in
a separate thread.
String
exportDevEventMemorySnapshots(IConn
ectionHandle connectionHandle, List<String>
memorySelections, String targetFilePath)
34
Exportes the snapshot records of all developer dtc
event codes from the selected control unit into the
specified target file.
String
exportEventMemorySnapshots(IConnect
ionHandle connectionHandle, String
targetFilePath)
32
Exportes the snapshot records of all dtc event
codes from the selected control unit into the specified
target file.
IDiagResultFlashSession
flashProgramming(IConnectionHandle
connectionHandle, String containerFileName,
String sessionName, Boolean
checkSessionWithEcu)
86

Update programming with an update container.


IDiagResultFlashProgramming
flashProgrammingCoordinated(List<IDi
agFlashSess
ionDescriptor> flashSessionDescriptors,
String coordinationFile) 88

Starts the coordinated update programming of the


specified flash sessions.
IDiagResultFlashProgramming
flashProgrammingCoordinated(List<IDi
agFlashSess
ionDescriptor> flashSessionDescriptors,
List<String> coordinationFiles) 87

Starts the coordinated update programming of the


specified flash sessions.
IDiagResultFlashProgramming
flashProgrammingCoordinatedByZipArc
hive(String coordinationZipFilePath)
88
Starts the coordinated update programming with
the zip archive content.
IDiagResultFlashProgramming
flashProgrammingParallel(List<IDiagF
lashSession
Descriptor> flashSessionDescriptors) 87
Starts the parallel update programming of the
specified flash sessions.
IDiagResultFlashProgramming
flashProgrammingSequence(String
flashControlFilePath, Boolean
checkExpectedIdents)
89
Starts a parallel update programming sequence,
which is defined in the control file.
String
getAutomationApiVersion()
27
Delivers the automation API version number.
List<String>
getAvailableAdaptationPresets() 11
Gets the list of available adaptation presets.
0
List<String>
getAvailableAdditionalPresets()
111
Gets the list of available addtional presets.
List<String>
getAvailableIdentificationPresets()
111
Gets the list of available identification presets.
List<String>
getAvailableMeasurementPresets() 11
Gets the list of available measurement presets.
0
List<String>
getAvailableProtocols() 11
Gets a list of generated protocols.
0
String
getClamp15State() 12
Returns the current clamp 15 (ignition) state.
4
String
getClamp30State() 12
Returns the current clamp 30 (battery) state.
5
IDiagResultCommParam
getCommParam(IConnectionHandle
connectionHandle, String name)
11
Gets the current communication parameter of an 5
opened logical link.
IDiagResultCommParam
getCommParamConfig(String logicalLink,
String name)
11
Gets the modified value of the specified 8
communication parameter and logical link.
IDiagResultCommParam
getCommParamDefault(String logicalLink,
String name)
11
Gets the default value of the specified 6
communication parameter and logical link from the odx
database.
List<IDiagResultCommParam>
getCommParamGroup(IConnectionHandle
connectionHandle, List<String> paramNames)
11
Gets the current communication parameters of an 6
opened logical link.
List<IDiagResultCommParam>
getCommParamGroupConfig(String
logicalLink, List<String> paramNames)
11
Gets the modified value of the specified 8
communication parameters and logical link.
List<IDiagResultCommParam>
getCommParamGroupDefault(String
logicalLink, List<String> paramNames)
11
Gets the default value of the specified 7
communication parameters and logical link from the odx
database.
List<IDiagResultCommParam>
getCommParams(IConnectionHandle
connectionHandle)
11
Gets the current communication parameters of an 5
opened logical link.
List<IDiagResultCommParam>
getCommParamsConfig(String logicalLink)
11
Gets the modified communication parameters for 8
the specified logical link.
List<IDiagResultCommParam>
getCommParamsDefault(String logicalLink)

11
Gets the default values of all communication
parameters for the specified logical link from the odx
7
database.
List<IDoIPVCI>
getDoIPVCIs() 12
Gets the current DoIP VCIs without refreshing.
1
String[]
getFlashSessions(IConnectionHandle
connectionHandle, String containerFileName,
Boolean checkSessionWithEcu)
89
Returns the names of all flash sessions contained
in the specified flash container.
List<IConnectionHandle>
getLockedConnections() 12
Returns currently locked connections.
0
Integer
getNumberOfDevEventMemorySnapshots(
IConnectionH
andle connectionHandle, List<String>
memorySelections, Integer eventCode) 34
Determines the number of existing snapshot
records for the specified developer dtc event code and
selected control unit.
Integer
getNumberOfEventMemorySnapshots(ICo
nnectionHand
le connectionHandle, Integer eventCode)
31
Determines the number of existing snapshot
records for the specified dtc event code and selected
control unit.
List<IDiagResultODXVersion>
getODXVersions()
82
Returns a list of all MCD projects with project
information of the current project path.
List<Integer>
getProjectEcuAddressList()
53
Retrieves a list holding the addresses of all control
units in the current project.
List<String>
getShortNamesOfAccessModes(IConnect
ionHandle connectionHandle)
53
Returns the ODX-ShortNames of all available
access modes for UDS control units.
List<String>
getShortNamesOfActuators(IConnectio
nHandle connectionHandle)
67
Returns the ODX short names of all available
actuators from the currently selected control unit.
List<String>
getShortNamesOfAdaptationChannels(I
ConnectionHa
ndle connectionHandle) 58
Returns the ODX short names of all available
adaptation channels for UDS control units.
List<String>
getShortNamesOfAdaptationValues(ICo
nnectionHand
le connectionHandle, String adaptationChannel) 59

Returns the ODX short names of all available


adaptation values from an adaptation channel.
List<String>
getShortNamesOfBasicSettings(IConne
ctionHandle connectionHandle)
95
Returns the ODX short names of all available
basic settings from the currently selected control unit.
List<String>
getShortNamesOfCodingValues(IConnec
tionHandle connectionHandle)
47
Reads the coding names from the active control
unit.
List<String>
getShortNamesOfDiagnosticSessions(I
ConnectionHa
ndle connectionHandle) 54
Returns the ODX-ShortName list of all available
diagnostic sessions for UDS control units.
List<String>
getShortNamesOfIdentificationDatas(
IConnectionH
andle connectionHandle, String subsytem) 71
Returns the ODX short names of all identification
values for the specified subsystem.
List<String>
getShortNamesOfImmediateRoutines(IC
onnectionHan
dle connectionHandle)
98
Returns the ODX short names of all available
immediate routines from the currently selected control
unit.
List<String>
getShortNamesOfMeasurementGroups(IC
onnectionHan
dle connectionHandle)
68
Returns a list of ODX short names of all available
measurement groups for the currently selected control
unit.
List<String>
getShortNamesOfMeasurements(IConnec
tionHandle connectionHandle, String
measurementGroup)
68
Returns ODX short names of all available
measurements of the specified measurement group.For
KWP control unit this function throws an exception.
List<String>
getShortNamesOfMeasurementsForActua
torDiagnosti
cs(IConnectionHandle connectionHandle) 67
Returns the ODX short names of all
measurements for the actuator diagnosis.
List<String>
getShortNamesOfMeasurementsForBasic
Settings(ICo
nnectionHandle connectionHandle) 96
Returns the ODX short names of all
measurements for the basic setting.
List<IDiagResultIdentificationShortName>
getShortNamesOfSoftwareCompositions
(IConnection
Handle connectionHandle)
70
Returns the ODX short names of all identification
values for the software compositions and software
components.
List<String>
getShortNamesOfStartParametersForAc
tuator(IConn
ectionHandle connectionHandle, String
actuatorName) 67

Returns the ODX short names of all available


parameters from the specified actuator.
List<String>
getShortNamesOfStartParametersForBa
sicSettings(
IConnectionHandle connectionHandle,
String basicSettingName) 96

Returns the ODX short names of all available


parameters from the specified basic setting.
List<String>
getShortNamesOfStartParametersForIm
mediateRouti
ne(IConnectionHandle connectionHandle,
String immediateRoutineName) 97

Returns the ODX short names of all available start


parameters from the specified immediate routine.
List<String>
getShortNamesOfSubSystems(IConnecti
onHandle connectionHandle)
46
Returns a list of subsystem shortnames of the
active control unit.
IDiagResultVersions
getVersions()
82
Returns the versions of the used modules.
IDiagResultStatus
immediateRoutineExecution(IConnecti
onHandle connectionHandle, String
immediateRoutineName, Map<String,String>
immediateRoutineParameters) 97

Starts the immediate routine with the provided


parameters for the specified control unit.
void
initProtocol() 12
Inits protocol.
7
void
lockConnection(IConnectionHandle
connectionHandle) 12
0
Sets a lock for the specified connection.
void
loginService42(String user, String
password)
111
Login to the Volkswagen-Integration-Infrastructure
(DMS-BB) via diagnostic session service.
void
logoutService42()
11
Logout from the Volkswagen-Integration- 2
Infrastructure (DMS-BB) via diagnostic session service.
void
openConnection(IConnectionHandle
connectionHandle)
83
Opens the connection to the current control unit
and switches to STAY_CONNECTED_BEHAVIOUR.
IDiagResultAdaptation
readAdaptation(IConnectionHandle
connectionHandle, String adaptationChannel)

Reads the adaptation values of the specified


59
adaptation channel from the currently selected control
unit.
List<IDiagResultEventMemory>
readAllEventMemories()
28
Reads the event memories of all conrol units in
the vehicle.
List<String>
readAvailableCarportBrands()

Read teh available brands that may be used when 11


sending protocols to carport (see 2
ITotalSystemsInterface.sendProtocolsToCarport(L
ist, String, String)).
List<String>
readAvailableDevEventMemorySelectio
n(IConnectio
nHandle connectionHandle) 32
Reads the available memory selections for
developer event memories from the selected control unit.
List<IDiagResultCoding>
readCoding(IConnectionHandle
connectionHandle)
47
Reads the coding value from the active control
unit.
IDiagResultEventMemory
readDevEventMemory(IConnectionHandl
e connectionHandle, List<String>
memorySelections, Long dtcStatusMask, Boolean
readSnapshotRecord)
33
Reads the developer event memories from the
selected control unit including all environmental
conditions.
IDiagResultDtcSnapshotList
readDevEventMemorySnapshots(IConnec
tionHandle connectionHandle, List<String>
memorySelections, Integer eventCode)
33
Reads all snapshot records for the specified
developer dtc event code from the selected control unit.
IDiagResultMemoryCells
readEEPROM(IConnectionHandle
connectionHandle, BigInteger startAddress,
Integer numberOfMemoryCells)
76
Reads the specified number of memory bytes
from the ECU-EEPROM.
IDiagResultMemoryCells
readEEPROMSerial(IConnectionHandle
connectionHandle, Integer startAddress, Integer
numberOfMemoryCells)
77
Reads (serial) the specified number of memory
bytes from the ECU-EEPROM.
IDiagResultMemoryCells
readEEPROMWithFixedAddressLength(IC
onnectionHan
dle connectionHandle, BigInteger startAddress,
Integer numberOfAddressBytes, Integer 76
numberOfMemoryCells)

Reads the specified number of memory bytes


from the ECU-EEPROM.
List<IDiagResultEventMemory>
readEventMemories(List<Integer>
controlUnitList, List<String>
adaptationPresets, List<String>
measurementPresets, List<String>
identificationPresets, List<String> 27
additionalPresets)

Reads the event memory entries of the specified


control unit list.
IDiagResultEventMemory
readEventMemory(IConnectionHandle
connectionHandle)
29
Reads the event memories from the selected
control unit including all environmental conditions.
IDiagResultEventMemory
readEventMemory(IConnectionHandle
connectionHandle, long dtcStatusMask)
29
Reads the event memories from the selected
control unit including all environmental conditions.
IDiagResultDtcSnapshot
readEventMemorySnapshot(IConnection
Handle connectionHandle, Integer eventCode,
Integer snapshotRecordNumber)
31
Reads the specific snapshot record for the
specified snapshot record number and dtc event code
from the selected control unit.
IDiagResultDtcSnapshotList
readEventMemorySnapshots(IConnectio
nHandle connectionHandle, Integer eventCode)
30
Reads all snapshot records for the specified dtc
event code from the selected control unit.
IDiagResultEventMemory
readEventMemoryWithMask(IConnection
Handle connectionHandle, long dtcStatusMask)
30
Reads the event memories from the selected
control unit including all environmental conditions.
IDiagResultEventMemory
readEventMemoryWithMask(IConnection
Handle connectionHandle, long dtcStatusMask,
Boolean readSnapshotRecords)
29
Reads the event memories from the selected
control unit including all environmental conditions.
IDiagResultComponentList
readGatewayComponentList(IConnectio
nHandle connectionHandle) 10
1
Reads the gateway component list of the currently
selected control unit.
List<IDiagResultIdentification>
readIdentification(IConnectionHandl
e connectionHandle)

Reads all identification data from the currently 72


selected control unit including extended informations
slave control units, software cluster and software
compositions.
IDiagResultValue
readIdentificationData(IConnectionH
andle connectionHandle, String
identDataIdentifier)
72
Reads a single identification data from the
currently selected master conrol unit and returns it.
List<IDiagResultIdentification>
readIdentificationSoftwareCompositi
ons(IConnect
ionHandle connectionHandle) 71
Reads software compositions identification data
from the currently selected control unit.
IDiagResultEventMemory
readListOfActiveFaultEntries(IConne
ctionHandle connectionHandle)
35
Reads the event memories with the status active
fault path.
IDiagResultEventMemory
readListOfUncheckedFaultPaths(IConn
ectionHandle connectionHandle)
36
Reads the event memories with the status
unchecked fault path.
IDiagResultMeasurement
readMeasurement(IConnectionHandle
connectionHandle, String measurementGroup,
String measurementParam)
69
Reads the measurements from the currently
selected control unit.
List<IDiagResultMeasurement>
readMeasurements(List<IDiagMeasureme
ntDescripto
r> measurementDescriptors) 70
Reads the measurement values from the currently
selected control unit.
List<IDiagResultAdaptation>
readMultilinkAdaptation(List<IDiagMu
ltiAdaption
Descriptor> adaptationDescriptors) 43
Reads all adaptation values specified by the list of
adaptionDescriptors with the current multilink settings.
List<IDiagResultCoding>
readMultilinkCoding(List<IMultilinkE
cuHandle> ecuList, boolean readSubSystems)
44
Reads the coding values from for the specified
control units with the current multilink settings.
List<IDiagResultEventMemory>
readMultilinkEventMemory(List<IMulti
linkEcuHand
le> ecuList) 41
Reads the event memories of the specified conrol
units with the current multilink settings.
List<IDiagResultIdentification>
readMultilinkIdentification(List<IMu
ltilinkEcuH
andle> ecuList, boolean readExtendedIdent,
boolean readSubSystems) 40

Reads the identification data for the specified


control units with the current multilink settings.
List<IDiagResultMeasurement>
readMultilinkMeasurement(List<IDiagM
ultiMeasure
mentDescriptor> measurementDescriptors)
42
Reads all measurement values specified by the
list of measurementDescriptors with the current multilink
settings.
List<IDiagResultSoftwareCompositionComponentList>
readMultilinkSoftwareCompositionCom
ponentList(L
ist<IMultilinkEcuHandle> ecuList) 10
4
Reads the software composition component list
for all specified control units.
IDiagResultMemoryCells
readRAM(IConnectionHandle
connectionHandle, Integer startAddress, Integer
numberOfMemoryCells)
75
Reads the specified number of memory bytes
from the ECU-RAM.
IDiagResultMemoryCells
readROM(IConnectionHandle
connectionHandle, Integer startAddress, Integer
numberOfMemoryCells)
75
Reads the specified number of memory bytes
from the ECU-ROM.
IDiagResultSoftwareCompositionComponentList
readSoftwareCompositionComponentLis
t(IConnectio
nHandle connectionHandle) 10
3
Reads the software composition component list of
the currently selected control unit.
IDiagResultSpecialCoding
readSpecialCoding(IConnectionHandle
connectionHandle)
51
Reads the special coding information from the
currently selected control unit.
IDiagResultComponentList
readSubsystemComponentList(IConnect
ionHandle connectionHandle) 10
1
Reads the subsystem component list of the
currently selected control unit.
int
requestSecAccessASM(IConnectionHand
le connectionHandle) 12
9
Requests security access to the ecu for reading
ASM data.
void
resetAllCommParameters()
12
Resets all communication parameters to their 0
initial values.
void
resetAllEventMemories(Boolean clearOBD,
Boolean clearNotErasedECUsPhysical, Integer
timeBeforePhysicalClear)
37
Tries to delete the event memories in the vehicle
by sending a sequence of diagnostic services.
void
resetAllEventMemoriesSequential()
37
Tries to delete the event memories in the vehicle
by sending a sequence of diagnostic services.
void
resetAllOBDFaultMemories()

Deletes the event memory of all OBD relevant 37


control units by sending the functional OBD-Service
0x04.
void
resetCommParameter(String logicalLink,
String name)
11
Resets the specified communication parameter to 9
its initial value.
void
resetCommParameters(String logicalLink)
11
Resets all communication parameters of the 9
specified logical link to its initial value.
void
resetDevEventMemory(IConnectionHand
le connectionHandle, List<String>
memorySelections)
35
Deletes the developer event memories from the
selected control unit for the given memory selections.
void
resetEventMemories(Boolean clearOBD,
Boolean clearFunctional, Boolean
clearNotErasedECUsPhysical, Integer
timeBeforePhysicalClear, List<Integer>
controlUnitList) 36

Tries to delete the event memories in the vehicle


by sending a sequence of diagnostic services.
void
resetEventMemory(IConnectionHandle
connectionHandle)
38
Deletes the event memories of the selected
control unit.
List<IDiagResultMulti>
resetMultilinkEventMemory(List<IMult
ilinkEcuHan
dle> ecuList, boolean clearOBD) 41
Deletes the event memories of the specified
conrol units with the current multilink settings.
void
saveProtocol() 12
Saves protocol.
8
List<IDoIPVCI>
searchDoIPVCIs(String ipAddress)
12
Searches DoIP VCIs.
2
IDiagResult
securityAccess(IConnectionHandle
connectionHandle, String loginCode, String
accessMode)
54
Executes the security access operation on the
control unit using the specified login code and access
mode.
List<IDiagResultSFD>
securityAccessSFDAllEcuLock()
57
Executes the security access lock operation for all
control units that support the SFD function.
IDiagResultSFDStatus
securityAccessSFDCheckStatus(IConne
ctionHandle connectionHandle)
58
Reads the security access unlock status for the
specified control unit (SFD).
IDiagResultSFD
securityAccessSFDEcuLock(IConnectio
nHandle connectionHandle)
56
Executes the security access lock operation on
the specified control unit (SFD).
IDiagResultSFD
securityAccessSFDOffline(IConnectio
nHandle connectionHandle,
ISecurityAccessInterface.OnlineRequestedRole
role,
ISecurityAccessInterface.OnlineAccessDuration
duration)
56

Executes the security access unlock operation on


the control unit by using an offline token (SFD) without a
connection to the sfd backend.
IDiagResultSFD
securityAccessSFDOnline(IConnection
Handle connectionHandle,
ISecurityAccessInterface.OnlineRequestedRole
role,
ISecurityAccessInterface.OnlineAccessDuration
duration, 55
ISecurityAccessInterface.OnlineAccessMethod
accessMethod)

Executes the security access unlock operation on


the control unit by using an online token (SFD).
IDiagResultSFD
securityAccessSFDReset(IConnectionH
andle connectionHandle,
ISecurityAccessInterface.OnlineRequestedRole
role,
ISecurityAccessInterface.OnlineAccessDuration
duration, 57
ISecurityAccessInterface.OnlineAccessMethod
accessMethod)

Executes the security access reset operation on


the control unit by using an online token (SFD).
IDiagResultProtocolTransfer
sendProtocolsToAVx(List<String>
protocolNames) 11
4
Sends protocols to the AVx system.
IDiagResultProtocolTransfer
sendProtocolsToCarport(List<String>
protocolNames, String taskCode, String brand) 11
2
Sends protocols to carport system.
IDiagResultProtocolTransfer
sendProtocolsToFileServer(List<String>
protocolNames, String destinationPath) 11
3
Sends protocols to the specified file server.
IDiagResultProtocolTransfer
sendProtocolsToVDS(List<String>
protocolNames) 11
3
Sends protocols to the VDS system.
byte[]
sendRawService(IConnectionHandle
connectionHandle, byte[] requestPdu)
73
Writes raw hex data.
byte[]
sendRawService(IConnectionHandle
connectionHandle, String requestPduString)
73
Transforms input parameter from String to a byte
array and writes raw hex data.
IDiagResultRawService
sendRawServiceFunctional(byte[]
requestPdu, String logicalLink)
74
Writes raw hex data functional.
IDiagResultRawService
sendRawServiceFunctional(String
requestPduString, String logicalLink)
74
Writes raw hex data functional.
byte[]
sendRawServiceWithoutConnectionChec
k(String logicalLink, byte[] requestPdu)
74
Writes raw hex data with suppressed connection
check via "tester present".
void
setBaudrate(IConfigureCommParamInte
rface.Baudra 12
te baudrate)
0
Set control unit independent baud rate.
void
setCanFDVehicleProject(String
projectName) 12
2
Sets and loads the vehicle project for CAN-FD.
String
setCanFDVehicleProjectAutomatic(ICon
nectionInte
rface.PROJECT_MODE projectMode) 12
2
Determines the project for the current vin
automatically.
void
setCommParameter(String logicalLink,
String name, String value)
11
Sets the specified communication parameter for 4
the specified logical link.
void
setCommParameters(String logicalLink,
Map<String,String> commParams)
11
Sets the specified communication parameters for 4
the specified logical link.
void
setCommunicationTrace(IConfiguratio
nInterface.T
RACE_STATE traceState) 82
Starts or stops the tracing of BUS, DoIP or JOB
traces.
void
setDoIPActivationLine(boolean toSet)

Switch to set / unset DoIP activation line if a VCI is 12


selected within the application which supports DoIP and 4
has a current activation line state unlike
NOT_SUPPORTED.
void
setDoIPVehicleProject(IDoIPVCI
doIPVCI, String projectName) 12
3
Sets and loads the vehicle project for DoIP.
String
setDoIPVehicleProjectAutomatic(IDoI
PVCI doIPVCI,
IConnectionInterface.PROJECT_MODE projectMode) 12
3
Determines the project for the current vin
automatically.
void
setLocale(String language, String country)
81
Setting the locale for all diagnostic functions.
void
setTraceLevel(String level)
81
Setting the trace level.
void
setTraceLevel(Level level)

81
Setting the API trace level for all diagnostic
functions.
void
setVehicleProject(String projectName)

52
Sets and loads the vehicle project for the
diagnostic interface.
String
setVehicleProjectAutomatic(IConnection
Interface
.PROJECT_MODE projectMode)
53
Determines the project for the current vin
automatically.
void
startProtocol() 12
Starts protocol.
7
void
stopProtocol() 12
Stops protocol.
7
IDiagResult
switchSession(IConnectionHandle
connectionHandle, String session)

For UDS control units the ODX short name of the


83
diagnostic session is used to identify the session to
switch to.
void
unloadProject() 12
Unloads the vehicle project.
4
void
unlockConnection(IConnectionHandle
connectionHandle) 12
1
Removes the lock for the specified connection.
void
updateGatewayComponentList()
27
Updates the gateway component list of all
busmasters (only for macro api).
IDiagResultSoftwareCompositionComponentList
updateSoftwareCompositionComponentL
ist(IConnect
ionHandle connectionHandle) 10
6
Updates the software composition list of the
currently selected control unit (only for macro api).
IDiagResultComponentList
updateSubsystemComponentList(IConne
ctionHandle connectionHandle) 10
3
Updates the subsystem component list of the
currently selected control unit (only for macro api).
IDiagResult
writeAdaptation(IConnectionHandle
connectionHandle, String adaptationChannel,
MapAdapter adaptationValues)
60
Writes adaption values for the specified adaptation
channel.
IDiagResult
writeAdaptation(IConnectionHandle
connectionHandle, String adaptationChannel,
Map<String,String> adaptationValues)
60
Writes adaption values for the specified adaptation
channel.
IDiagResult
writeByteCoding(IConnectionHandle
connectionHandle, String systemName, String
codingValues)
48
Writes the byte coding values for the specified
(sub)system.
IDiagResult
writeByteCoding(IConnectionHandle
connectionHandle, String systemName, String
codingValues, boolean ecuReset, int checksum)
48
Writes the byte coding values for the specified
(sub)system.
IDiagResult
writeComponentListFromPresentState(
IConnectionH
andle connectionHandle) 10
6
Writes the specified gateway component list to the
currently selected control unit.
IDiagResult
writeEEPROM(IConnectionHandle
connectionHandle, BigInteger startAddress,
byte[] memoryCellData)
78
Writes the specified memory data to the ECU-
EEPROM.
IDiagResult
writeEEPROMSerial(IConnectionHandle
connectionHandle, Integer startAddress, byte[]
memoryCellData)
79
Writes (serial) the specified memory data to the
ECU-EEPROM.
IDiagResult
writeEEPROMWithFixedAddressLength(I
ConnectionHa
ndle connectionHandle, BigInteger
startAddress, Integer numberOfAddressBytes, 78
byte[] memoryCellData)

Writes the specified memory data to the ECU-


EEPROM.
IDiagResult
writeGatewayComponentList(IConnecti
onHandle connectionHandle,
List<IDiagComponentListEntry> 10
componentList)
7
Writes the specified gateway components to the
currently selected control unit.
IDiagResult
writeGatewayComponentListBinary(ICo
nnectionHand
le connectionHandle, byte[] 10
componentListBinary) 7

Writes the gateway components for KWP binary.


List<IDiagResultMulti>
writeMultilinkAdaptation(List<IDiagM
ultiAdaptio
nValueDescriptor>
adaptationValueDescriptors) 46
Writes adaptation values for the specified list
adaptationValueDescriptors with the current multilink
settings.
List<IDiagResultMulti>
writeMultilinkCoding(List<IDiagMulti
CodingValue
Descriptor> codingValueDescriptors)
44
Writes the text or byte coding values, that are
specified in the descriptor list codingValueDescriptors
with the current multilink settings.
List<IDiagResultMulti>
writeMultilinkSoftwareCompositionCo
mponentList(
List<IDiagMultiSoftwareCompositionCo
mponentCodi 10
ngDescriptor> codingDescriptors) 4
Writes the specified software composition
components to the corresponding control unit with
multilink.
IDiagResult
writeSoftwareCompositionComponentLi
st(IConnecti
onHandle connectionHandle,
List<IDiagSoftwareCompositionCompone 10
ntListEntry 5
> componentList)

Writes the specified software composition


components to the currently selected control unit.
IDiagResult
writeSoftwareCompositionComponentLi
stFromPresen
tState(IConnectionHandle 10
connectionHandle)
5
Writes the software composition component list to
the currently selected control unit.
IDiagResult
writeSpecialCoding(IConnectionHandl
e connectionHandle, MapAdapter parameters)
52
Writes the provided "special coding information" to
the currently selected control unit.
IDiagResult
writeSpecialCoding(IConnectionHandl
e connectionHandle, Map<String,String>
parameters)
51
Writes the provided "special coding information" to
the currently selected control unit.
IDiagResult
writeSubsystemComponentList(IConnec
tionHandle connectionHandle,
List<IDiagComponentListEntry> 10
componentList)
2
Writes the specified subsystem components to the
currently selected control unit.
IDiagResult
writeSubsystemComponentListFromPres
entState(ICo
nnectionHandle connectionHandle) 10
2
Writes the subsystem component list to the
currently selected control unit.
IDiagResult
writeTextCoding(IConnectionHandle
connectionHandle, String systemName, MapAdapter
codingValues, boolean ecuReset)
49
Writes the text coding values for the specified
system with possibility of a reset.
IDiagResult
writeTextCoding(IConnectionHandle
connectionHandle, String systemName,
Map<String,String> codingValues)
49
Writes the text coding values for the specified
system.
IDiagResult
writeTextCoding(IConnectionHandle
connectionHandle, String systemName,
Map<String,String> codingValues, boolean
ecuReset) 50
Writes the text coding values for the specified
system with possibility of a reset.

Method Detail

echo
public String echo(String text)
Conveniant method to check the availability of the web service. The method writes the text into the trace
file. If the web service is running one can check the trace file for the written text.

Parameters:

text - The text to echo.

Returns:

The text specified as input parameter

getAutomationApiVersion
public String getAutomationApiVersion()

Delivers the automation API version number.

Returns:

the automation API version number.

updateGatewayComponentList
public void updateGatewayComponentList()
throws DiagException

Updates the gateway component list of all busmasters (only for macro api).

Throws:

DiagException - If an error occurs while calling this function.

Not available for web service.

readEventMemories
public List<IDiagResultEventMemory> readEventMemories(List<Integer> controlUnitList,
List<String> adaptationPresets,
List<String> measurementPresets,
List<String> identificationPresets,
List<String> additionalPresets)
 throws DiagException

Reads the event memory entries of the specified control unit list. If the unit list is null or empty, then all
available control units are read. In addition, measurements and adaptations can be defined for reading.
Parameters:

controlUnitList - the control unit list

adaptationPresets - the preset names for the additional adaptations

measurementPresets - the preset names for the additional measurements

identificationPresets - the preset names for the additional identifications

additionalPresets - the preset names for special measurements and adaptations

Returns:

the event memory entries of the read control units.

Throws:

DiagException - If reading fails

Not available for web service.

readAllEventMemories
public List<IDiagResultEventMemory> readAllEventMemories()
throws DiagException

Reads the event memories of all conrol units in the vehicle. Only control units which have events are part
of the result. Closes all connections after running.

Returns:

The list of event memory result objects.

Throws:

DiagException - If an error occurs while reading all event memories.

exit
public void exit()

Returns immediately and closes the application in a separate thread. This might take some seconds. So
there is a period of time between the return of the exit method and the shutdown.

Only available for web service.


readEventMemory
public IDiagResultEventMemory readEventMemory(IConnectionHandle connectionHandle)
 throws DiagException

Reads the event memories from the selected control unit including all environmental conditions.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The event memory result object.

Throws:

DiagException - If an error occurs while reading the event memory.

readEventMemoryWithMask
public IDiagResultEventMemory readEventMemoryWithMask(IConnectionHandle connectionHandle,
long dtcStatusMask,
Boolean readSnapshotRecords)
 throws DiagException

Reads the event memories from the selected control unit including all environmental conditions. For UDS
control units only the event memories with the specified status mask will be read. The mask parameter
does not effect KWP control units. In addition, the reading of the snapshot records can be activated via the
parameter readSnapshotRecord.

Parameters:

connectionHandle - Handle for control unit connection.

dtcStatusMask - Specifies the status of the event memories which will be read.

Returns:

The event memory result object.

Throws:

DiagException - If an error occurs while reading the event memory.

readEventMemory
public IDiagResultEventMemory readEventMemory(IConnectionHandle connectionHandle,
long dtcStatusMask)
 throws DiagException
Reads the event memories from the selected control unit including all environmental conditions. For UDS
control units only the event memories with the specified status mask will be read. The mask parameter
does not effect KWP control units.

Parameters:

connectionHandle - Handle for control unit connection.

dtcStatusMask - Specifies the status of the event memories which will be read.

Returns:

The event memory result object.

Throws:

DiagException - If an error occurs while reading the event memory.

Not available for web service.

readEventMemoryWithMask
public IDiagResultEventMemory readEventMemoryWithMask(IConnectionHandle connectionHandle,
long dtcStatusMask)
 throws DiagException

Reads the event memories from the selected control unit including all environmental conditions. For UDS
control units only the event memories with the specified status mask will be read. The mask parameter
does not effect KWP control units.

Parameters:

connectionHandle - Handle for control unit connection.

dtcStatusMask - Specifies the status of the event memories which will be read.

Returns:

The event memory result object.

Throws:

DiagException - If an error occurs while reading the event memory.

Not available for web service.

readEventMemorySnapshots
public IDiagResultDtcSnapshotList readEventMemorySnapshots( IConnectionHandle connectionHandle
,
Integer eventCode)
throws DiagException
Reads all snapshot records for the specified dtc event code from the selected control unit.

Parameters:

connectionHandle - the handle for control unit connection.

eventCode - the dtc event code.

Returns:

The result list of snapshot records.

Throws:

DiagException - If an error occurs while reading the snapshot records.

readEventMemorySnapshot
public IDiagResultDtcSnapshot readEventMemorySnapshot(IConnectionHandle connectionHandle,
Integer eventCode,
Integer snapshotRecordNumber)
 throws DiagException

Reads the specific snapshot record for the specified snapshot record number and dtc event code from the
selected control unit.

Parameters:

connectionHandle - the handle for control unit connection.

eventCode - the dtc event code.

snapshotRecordNumber - the number of the wanted snapshot record.

Returns:

The result of the wanted snapshot record.

Throws:

DiagException - If an error occurs while reading the snapshot record.

getNumberOfEventMemorySnapshots
public Integer getNumberOfEventMemorySnapshots( IConnectionHandle connectionHandle,
Integer eventCode)
throws DiagException

Determines the number of existing snapshot records for the specified dtc event code and selected control
unit.
Parameters:

connectionHandle - the handle for control unit connection.

eventCode - the dtc event code.

Returns:

The number of the present snapshot records.

Throws:

DiagException - If an error occurs while determining the snapshot record number.

exportEventMemorySnapshots
public String exportEventMemorySnapshots( IConnectionHandle connectionHandle,
String targetFilePath)
throws DiagException

Exportes the snapshot records of all dtc event codes from the selected control unit into the specified target
file. If the file exists, then this file is overwritten.

Parameters:

connectionHandle - the handle for control unit connection.

targetFilePath - the path of the export file

Returns:

The path of the saved export file.

Throws:

DiagException - If an error occurs while exporting the snapshot records.

readAvailableDevEventMemorySelection
public List<String> readAvailableDevEventMemorySelection( IConnectionHandle connectionHandle)
throws DiagException

Reads the available memory selections for developer event memories from the selected control unit.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The memory selections.


Throws:

DiagException - If an error occurs.

readDevEventMemory
public IDiagResultEventMemory readDevEventMemory( IConnectionHandle connectionHandle,
List<String> memorySelections,
Long dtcStatusMask,
Boolean readSnapshotRecord)
throws DiagException

Reads the developer event memories from the selected control unit including all environmental conditions.
For UDS control units only the event memories with the specified status mask will be read. The mask
parameter does not effect KWP control units.

Parameters:

connectionHandle - Handle for control unit connection.

memorySelections - the memory selections. If empty, all available memory selections will be used.

dtcStatusMask - Specifies the status of the event memories which will be read.

readSnapshotRecord - Switch to activate the reading of snapshot records.

Returns:

The event memory result object.

Throws:

DiagException - If an error occurs while reading the event memory.

readDevEventMemorySnapshots
public IDiagResultDtcSnapshotList readDevEventMemorySnapshots(IConnectionHandle connectionHand
le,
List<String> memorySelections,
Integer eventCode)
 throws DiagException

Reads all snapshot records for the specified developer dtc event code from the selected control unit.

Parameters:

connectionHandle - the handle for control unit connection.

memorySelections - the memory selections. If empty, all available memory selections will be used.

eventCode - the developer dtc event code.


Returns:

The result list of snapshot records.

Throws:

DiagException - If an error occurs while reading the snapshot records.

getNumberOfDevEventMemorySnapshots
public Integer getNumberOfDevEventMemorySnapshots(IConnectionHandle connectionHandle,
List<String> memorySelections,
Integer eventCode)
 throws DiagException

Determines the number of existing snapshot records for the specified developer dtc event code and
selected control unit.

Parameters:

connectionHandle - the handle for control unit connection.

memorySelections - the memory selections. If empty, all available memory selections will be used.

eventCode - the developer dtc event code.

Returns:

The number of the present snapshot records.

Throws:

DiagException - If an error occurs while determining the snapshot record number.

exportDevEventMemorySnapshots
public String exportDevEventMemorySnapshots(IConnectionHandle connectionHandle,
List<String> memorySelections,
String targetFilePath)
 throws DiagException

Exportes the snapshot records of all developer dtc event codes from the selected control unit into the
specified target file. If the file exists, then this file is overwritten.

Parameters:

connectionHandle - the handle for control unit connection.

memorySelections - the memory selections. If empty, all available memory selections will be used.

targetFilePath - the path of the export file


Returns:

The path of the saved export file.

Throws:

DiagException - If an error occurs while exporting the snapshot records.

resetDevEventMemory
public void resetDevEventMemory(IConnectionHandle connectionHandle,
List<String> memorySelections)
 throws DiagException

Deletes the developer event memories from the selected control unit for the given memory selections.

Parameters:

connectionHandle - Handle for control unit connection.

memorySelections - the memory selections. If empty, all developer event memories will be
deleted.

Throws:

DiagException - If an error occurs while reading the event memory.

readListOfActiveFaultEntries
public IDiagResultEventMemory readListOfActiveFaultEntries( IConnectionHandle connectionHandle
)
throws DiagException

Reads the event memories with the status active fault path. The function is only available for UDS control
units. For KWP control units the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The event memory result object.

Throws:

DiagException - If an error occurs while reading the event memory or the operation was called for
a KWP control unit.
readListOfUncheckedFaultPaths
public IDiagResultEventMemory readListOfUncheckedFaultPaths(IConnectionHandle connectionHandle
)
 throws DiagException

Reads the event memories with the status unchecked fault path. The function is only available for UDS
control units. For KWP control units the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The event memory result object.

Throws:

DiagException - If an error occurs while reading the event memory or the operation was called for
a KWP control unit.

resetEventMemories
public void resetEventMemories( Boolean clearOBD,
Boolean clearFunctional,
Boolean clearNotErasedECUsPhysical,
Integer timeBeforePhysicalClear,
List<Integer> controlUnitList)
throws DiagException

Tries to delete the event memories in the vehicle by sending a sequence of diagnostic services. First
optional sending the functional OBD-Service 0x04 followed by a TP2.0-broadcast and a functional UDS-
service 0x14. Finally all control units of the specified unit list are cleared physically, which KD-Bit is set in
the gateway component list. If the unit list is null or empty, then all units with a set KD-Bit are cleared. All
deletion steps can be deactivated by the function arguments.

Parameters:

clearOBD - Switch for obd deletion (OBD-Service 0x04 functional).

clearFunctional - Switch for functional deletion (TP2.0-broadcast and UDS-Service 0x14).

clearNotErasedECUsPhysical - Switch for physically deletion of all defined units, which KD-Bit is
set in the gateway component list.

timeBeforePhysicalClear - Waiting time in seconds between functional clear and reading of


fitment list for physical clear.

Throws:

DiagException - If an error occurs while deleting the event memories.


resetAllEventMemories
public void resetAllEventMemories(Boolean clearOBD,
Boolean clearNotErasedECUsPhysical,
Integer timeBeforePhysicalClear)
 throws DiagException

Tries to delete the event memories in the vehicle by sending a sequence of diagnostic services. First
optinal sending the functional OBD-Service 0x04 followed by a TP2.0-broadcast and finally a functional
UDS-service 0x14. Closes all connections after running. The arguments correspond to the administration
settings of function configuration -> event memory -> workflow complete system delete.

Parameters:

clearOBD - Switch if to clear OBD control units (OBD-Service 0x04 functional) first. Maybe null,
than default TRUE is used.

clearNotErasedECUsPhysical - Switch if to read fitment list afterwards and clear physical event
memory if KD bit is set. Maybe null, than default FALSE is used.

timeBeforePhysicalClear - Waiting time in seconds between functional clear and reading of


fitment list for physical clear. Maybe null, than the vale from administration function configuration ->
event memory -> workflow complete system clear -> waiting time before physical clear is used.

Throws:

DiagException - If an error occurs while sending the reset operation.

resetAllEventMemoriesSequential
public void resetAllEventMemoriesSequential()
 throws DiagException

Tries to delete the event memories in the vehicle by sending a sequence of diagnostic services. Step 1:
Clear DTC's of all emission-related ecu's (OBD-Service 0x04) Step2: For every control unit in the list clear
the DTC memory. Closes all connections after running.

Throws:

DiagException - If an error occurs while sending the reset operation.

resetAllOBDFaultMemories
public void resetAllOBDFaultMemories()
throws DiagException

Deletes the event memory of all OBD relevant control units by sending the functional OBD-Service 0x04.
Closes all connections after running.
Throws:

DiagException - If an error occurs while sending the reset operation.

resetEventMemory
public void resetEventMemory( IConnectionHandle connectionHandle)
throws DiagException

Deletes the event memories of the selected control unit.

Parameters:

connectionHandle - Handle for control unit connection.

Throws:

DiagException - If an error occurs while sending the reset operation.

connectToEcu
public IDiagResultConnectEcu connectToEcu(int ecuAddress)
 throws DiagException

Opens a diagnostic connection to the control unit specified by the address. Existing connections to other
control units will be closed. All subsequent operations of this interface which operate on a control unit will
use the control unit specified by this function. Connection behaviour switches to
CLOSE_CONNECTION_BEHAVIOUR which closes the connection after an operation call. To change this
behaviour call openConnection. The return value contains reference to IConnectionHandle which is
necessary for all following control unit dependend calls.

Parameters:

ecuAddress - The address of the control unit.

Returns:

Information about the connected control unit.

Throws:

DiagException - If an error occurs while connecting.

connectToEcuAndOpenConnection
public IDiagResultConnectEcu connectToEcuAndOpenConnection( int ecuAddress)
throws DiagException
Opens the diagnostic connection to the control unit specified by the address and switches to
STAY_CONNECTED_BEHAVIOUR. Existing connections to other control units will be closed. In
STAY_CONNECTED_BEHAVIOUR the connection to a control unit stays opened after every call of a diagnosic
operation. To change this behaviour call closeConnection. The behaviour also changes calling
connectToEcu and setVehicleProject.

Parameters:

ecuAddress - The address of the control unit.

Returns:

Information about the connected control unit.

Throws:

DiagException - If an error occurs while setting the internal flag.

connectToEcuWithLogicalLink
public IDiagResultConnectEcu connectToEcuWithLogicalLink( String logicalLinkname)
throws DiagException

Opens a diagnostic connection to the control unit specified by logical link name. Existing connections to
other control units will be closed. All subsequent operations of this interface which operate on a control unit
will use the control unit specified by this function. Connection behaviour switches to
CLOSE_CONNECTION_BEHAVIOUR which closes the connection after an operation call. To change this
behaviour call openConnection. The return value contains reference to IConnectionHandle which is
necessary for all following control unit dependend calls.

Parameters:

logicalLinkname - The logical linkname of the control unit.

Returns:

Information about the connected control unit.

Throws:

DiagException - If an error occurs while connecting.

createMultilinkHandleByAddress
public IMultilinkEcuHandle createMultilinkHandleByAddress(Long ecuAddress)
 throws DiagException

Creates a handle for a multilink call to represent an ecu. The method checks the validity of the ecu
address, but not the connection to the ecu. No ecu connection is established.
Parameters:

ecuAddress - the address of the ecu.

Returns:

the multilink ecu handle.

Throws:

DiagException - If the ecu address is invalid.

createMultilinkHandleByLogicalLink
public IMultilinkEcuHandle createMultilinkHandleByLogicalLink(String logicalLinkname)
 throws DiagException

Creates a handle for a multilink call to represent an ecu. The method checks the availability of the logical
link name in the vehicle project, but not the connection to the ecu. No ecu connection is established.

Parameters:

logicalLinkname - the logical link name of the ecu.

Returns:

the multilink ecu handle.

Throws:

DiagException - If the logical link name is not available in the vehicle project.

readMultilinkIdentification
public List<IDiagResultIdentification> readMultilinkIdentification( List<IMultilinkEcuHandle> 
ecuList,
boolean readExtendedIdent,
boolean readSubSystems)
throws DiagException

Reads the identification data for the specified control units with the current multilink settings. If the flag
readExtendedIdent is enabled, then the extended identification is read. In the other case only the
standard identification is determined. If the flag readSubSystems is enabled, then the subsystems are read
in addition. Attention! Only UDS control units are supported. The result element of a KWP control unit
contains an error message. Closes all connections after running.

Parameters:

ecuList - handles of all specified control units to be read

readExtendedIdent - flag to de-/activate the reading of extended identification values


readSubSystems - flag to de-/activate the reading of subsystems

Returns:

the identification list of all specified control units

Throws:

DiagException - If an error occurs while reading the identification data.

readMultilinkEventMemory
public List<IDiagResultEventMemory> readMultilinkEventMemory( List<IMultilinkEcuHandle> ecuLis
t)
throws DiagException

Reads the event memories of the specified conrol units with the current multilink settings. Attention! Only
UDS control units are supported. The result element of a KWP control unit contains an error message.
Closes all connections after running.

Parameters:

ecuList - handles of all specified control units

Returns:

The list of event memory result objects.

Throws:

DiagException - If an error occurs while reading the event memories.

resetMultilinkEventMemory
public List<IDiagResultMulti> resetMultilinkEventMemory(List<IMultilinkEcuHandle> ecuList,
boolean clearOBD)
 throws DiagException

Deletes the event memories of the specified conrol units with the current multilink settings. If the flag
clearOBD is enabled, then the functional deleting of OBD control units is executed additionally. Attention!
Only UDS control units are supported. The result element of a KWP control unit contains an error message.
Closes all connections after running.

Parameters:

ecuList - handles of all specified control units

clearOBD - Switch for the additional deleting of OBD control units. Maybe null, than default FALSE
is used.
Returns:

The result list of the deletion.

Throws:

DiagException - If an error occurs while sending the reset operation.

readMultilinkMeasurement
public List<IDiagResultMeasurement> readMultilinkMeasurement( List<IDiagMultiMeasurementDescri
ptor> measurementDescriptors)
throws DiagException

Reads all measurement values specified by the list of measurementDescriptors with the current multilink
settings. Attention! Only UDS control units are supported. The result element of a KWP control unit
contains an error message. Closes all connections after running.

Parameters:

measurementDescriptors - - Holding information on the measurements to be read.

Returns:

The result list with measurement values.

Throws:

DiagException - If an error occurs while calling this function.

createMultilinkMeasurementDescriptor
public IDiagMultiMeasurementDescriptor createMultilinkMeasurementDescriptor(IMultilinkEcuHandl
e ecuHandle,
String measurementName)
 throws DiagException

Creates a multilink descriptor for a measurement.


Can be used .e.g. to provide a list of measurements to be read.

Parameters:

ecuHandle - The multilink ecu handle.

measurementName - The name of the measurement.


For KWP this should be the block number.

Returns:

The newly created descriptor.


Throws:

DiagException - If an error occurs while calling this function.

readMultilinkAdaptation
public List<IDiagResultAdaptation> readMultilinkAdaptation( List<IDiagMultiAdaptionDescriptor> 
adaptationDescriptors)
throws DiagException

Reads all adaptation values specified by the list of adaptionDescriptors with the current multilink settings.
Attention! Only UDS control units are supported. The result element of a KWP control unit contains an error
message. Closes all connections after running.

Returns:

The result list with adaptation values.

Throws:

DiagException - If an error occurs while calling this function.

createMultilinkAdaptationDescriptor
public IDiagMultiAdaptionDescriptor createMultilinkAdaptationDescriptor(IMultilinkEcuHandle ec
uHandle,
String adaptationName)
 throws DiagException

Creates a multilink descriptor for a adaptation.


Can be used .e.g. to provide a list of adaptations to be read.

Parameters:

ecuHandle - The multilink ecu handle.

adaptationName - The name of the adaptation.

 For UDS the adaptation name is one of the channels returned by


getShortNamesOfAdaptationChannels and the available values for the channel can be
retrieved by getShortNamesOfAdaptationValues.

 For KWP the adaptation name is the channel number given as string - i.e. "1" to "255".

Returns:

The newly created descriptor.


Throws:

DiagException - If an error occurs while calling this function.

readMultilinkCoding
public List<IDiagResultCoding> readMultilinkCoding( List<IMultilinkEcuHandle> ecuList,
boolean readSubSystems)
throws DiagException

Reads the coding values from for the specified control units with the current multilink settings. For UDS
control units the plain text coding and the byte coding will be read. The slave coding values will be read,
every slave coding value will be returned as an additional entry in the result list. Each result element has an
assignment to the associated control unit and subsystem.
Attention! Only UDS control units are supported. The result element of a KWP control unit contains an error
message.
Attention! Software compositions / components are not included
Closes all connections after running.

Parameters:

ecuList - handles of all specified control units to be read

readSubSystems - flag to de-/activate the reading of subsystems (not including software


compositions / components)

Returns:

The result list of all coding values.

Throws:

DiagException - If an error occurs while reading the coding value.

writeMultilinkCoding
public List<IDiagResultMulti> writeMultilinkCoding( List<IDiagMultiCodingValueDescriptor> codi
ngValueDescriptors)
throws DiagException

Writes the text or byte coding values, that are specified in the descriptor list codingValueDescriptors with
the current multilink settings. The function is only defined for UDS control units. The result element of a
KWP control unit contains an error message. Closes all connections after running.

Parameters:

codingValueDescriptors - The list of coding descriptors.

Returns:

The result list of the coding.


Throws:

DiagException - If an error occurs while calling this function.

createMultilinkCodingDescriptor
public IDiagMultiCodingValueDescriptor createMultilinkCodingDescriptor( IMultilinkEcuHandle ec
uHandle,
String systemName,
Map<String,String> textCoding,
String byteCoding,
IDiagResultValue.ValueType byteCodingType,
Boolean ecuReset)
throws DiagException

Creates a multilink descriptor for writing coding values.

Parameters:

ecuHandle - The multilink ecu handle.

systemName - The system name. The first coding model gets the name master. The subsystems
for UDS get the ODX-Shortnames. For KWP subSysXX where XX is the number of subsystem
starting with 0.

textCoding - The plain text representation of the new coding values. The function is only defined
for uds control units. Each entry of the key-value-pairs contains the shortname of the coding entry
and the new coding value.

byteCoding - The new byte coding value or an empty string if the text coding should be performed.

byteCodingType - The value type of the byte coding. Can be ValueType.INT for a KWP short
coding value or ValueType.BYTEFIELD for a KWP long coding and UDS coding value.

ecuReset - The Flag to perform the ecu reset after coding.

Returns:

The newly created descriptor.

Throws:

DiagException - If an error occurs while calling this function.

createMultilinkAdaptationValueDescriptor
public IDiagMultiAdaptionValueDescriptor createMultilinkAdaptationValueDescriptor(IDiagMultiAd
aptionDescriptor adaptationDescriptor,
Map<String,String> adaptationValues)
 throws DiagException
Creates a multilink descriptor for writing adaptation values.
The adaptation values to be written are passed to this function by a key value dictionary. The key
specifies the short name of the adaptation value and the value specifies the adaptation value to be written.

Parameters:

adaptationDescriptor - The descriptor for the writing adaptation (ecu, name/channel)

adaptationValues - The new adaptation values.

Returns:

The newly created descriptor.

Throws:

DiagException - If an error occurs while calling this function.

writeMultilinkAdaptation
public List<IDiagResultMulti> writeMultilinkAdaptation( List<IDiagMultiAdaptionValueDescriptor
> adaptationValueDescriptors)
throws DiagException

Writes adaptation values for the specified list adaptationValueDescriptors with the current multilink settings.
Attention! Only UDS control units are supported. The result element of a KWP control unit contains an error
message. Closes all connections after running

Parameters:

adaptationValueDescriptors - The adaptations to be written.

Returns:

The result list of the adaptations.

Throws:

DiagException - If an error occurs while calling this function.

getShortNamesOfSubSystems
public List<String> getShortNamesOfSubSystems(IConnectionHandle connectionHandle)
 throws DiagException

Returns a list of subsystem shortnames of the active control unit. The function is only specified for UDS
control units. For KWP control units an exception will be thrown.

Parameters:

connectionHandle - Handle for control unit connection.


Returns:

The subsytem short names.

Throws:

DiagException - If an error occurs while reading the short names or the operation was called for a
KWP control unit.

readCoding
public List<IDiagResultCoding> readCoding(IConnectionHandle connectionHandle)
 throws DiagException

Reads the coding value from the active control unit. For UDS control units the plain text coding values and
the byte coding will be read. For KWP control units only the byte coding value will be read. For both types
the slave coding values will be read, every slave coding value will be returned as an entry in the result list.
If the control unit has no slaves the result list contains only one entry.

Parameters:

connectionHandle - Handle for control unit connection

Returns:

The result coding values. The first entry respresents the master coding value.

Throws:

DiagException - If an error occurs while reading the coding value.

getShortNamesOfCodingValues
public List<String> getShortNamesOfCodingValues(IConnectionHandle connectionHandle)
 throws DiagException

Reads the coding names from the active control unit.

Parameters:

connectionHandle - Handle for control unit connection

Returns:

The result short names.

Throws:

DiagException - If an error occurs while reading the coding value.


writeByteCoding
public IDiagResult writeByteCoding(IConnectionHandle connectionHandle,
 String systemName,
 String codingValues,
 boolean ecuReset,
 int checksum)
throws DiagException

Writes the byte coding values for the specified (sub)system. For the system name of the master control unit
the constant 'master' or the shortname can be used. The possible system names can be retrieved by
evaluating the result list of readCoding. For UDS control units the subsytem names can also be retrieved
by calling getShortNamesOfSubSystems.

Parameters:

connectionHandle - Handle for control unit connection.

systemName - The (sub)system name. KWP subsystems starts with prefix subSys followed by the
index.

codingValues - The coding value to write in String representation. For KWP short coding the value
is expected as an integer value. For KWP long coding and UDS binary coding a byte array is
expected.

ecuReset - If to make a reset after writing.

checksum - Checksum over codingValues.

Returns:

General response object.

Throws:

DiagException - If an error occurs while writing the coding value.

Not available for web service.

writeByteCoding
public IDiagResult writeByteCoding( IConnectionHandle connectionHandle,
String systemName,
String codingValues)
throws DiagException

Writes the byte coding values for the specified (sub)system. For the system name of the master control unit
the constant 'master' or the shortname can be used. The possible system names can be retrieved by
evaluating the result list of readCoding. For UDS control units the subsytem names can also retrieved by
calling getShortNamesOfSubSystems.

Parameters:

connectionHandle - Handle for control unit connection.


systemName - The (sub)system name. KWP subsystems starts with prefix subSys followed by the
index.

codingValues - The coding value to write in String representation. For KWP short coding the value
is expected as an integer value. For KWP long coding and UDS binary coding a byte array is
expected.

Returns:

General response object.

Throws:

DiagException - If an error occurs while writing the coding value.

writeTextCoding
public IDiagResult writeTextCoding(IConnectionHandle connectionHandle,
 String systemName,
 Map<String,String> codingValues)
throws DiagException

Writes the text coding values for the specified system. The function is only defined for UDS control units.
For the system name of the master control unit the constant 'master' or the shortname can be used. For
KWP control units an exception will be thrown.

Parameters:

connectionHandle - Handle for control unit connection.

systemName - The (sub)system name. KWP subsystems starts with prefix subSys followed by the
index.

codingValues - The plain text coding values.

Returns:

General response object.

Throws:

DiagException - If an error occurs while writing the coding value.

Not available for web service.

writeTextCoding
public IDiagResult writeTextCoding( IConnectionHandle connectionHandle,
String systemName,
MapAdapter codingValues,
boolean ecuReset)
throws DiagException
Writes the text coding values for the specified system with possibility of a reset. The function is only defined
for UDS control units. For the system name of the master control unit the constant 'master' or the
shortname can be used. For KWP control units an exception will be thrown.

Parameters:

connectionHandle - Handle for control unit connection.

systemName - The (sub)system name. KWP subsystems starts with prefix subSys followed by the
index.

codingValues - The plain text coding values. Example for a key / value pair:
("Param_AirCondiSysteAvail", "available").

ecuReset - If to make a reset after writing.

Returns:

General response object.

Throws:

DiagException - If an error occurs while writing the coding value.

writeTextCoding
public IDiagResult writeTextCoding(IConnectionHandle connectionHandle,
 String systemName,
 Map<String,String> codingValues,
 boolean ecuReset)
throws DiagException

Writes the text coding values for the specified system with possibility of a reset. The function is only defined
for UDS control units. For the system name of the master control unit the constant 'master' or the
shortname can be used. For KWP control units an exception will be thrown.

Parameters:

connectionHandle - Handle for control unit connection.

systemName - The (sub)system name. KWP subsystems starts with prefix subSys followed by the
index.

codingValues - The plain text coding values. Example for a key / value pair:
("Param_AirCondiSysteAvail", "available").

ecuReset - If to make a reset after writing.

Returns:

General response object.

Throws:

DiagException - If an error occurs while writing the coding value.


Not available for web service.

readSpecialCoding
public IDiagResultSpecialCoding readSpecialCoding(IConnectionHandle connectionHandle)
 throws DiagException

Reads the special coding information from the currently selected control unit.
If the current control unit does not support special coding the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The special coding info.

Throws:

DiagException - If an error occurs while calling this function.

writeSpecialCoding
public IDiagResult writeSpecialCoding(IConnectionHandle connectionHandle,
Map<String,String> parameters)
 throws DiagException

Writes the provided "special coding information" to the currently selected control unit.
For the provided map of parameters the following key/value pairs are allowed:

 Key "Brand": "vw", "audi", "seat", "skoda", "vn", "bugatti", "lamborghini", "bentley", "rollsroyce",
"ford", "porsche"

 Key "Derivate": "shortrear", "notchback", "variant", "hatchback", "coupe", "cabrio, "offroad",


"cityvan", "mpv", "other"

 Key "Wheel": "left" or "right"

 Key "Doors": "less" (than 4 doors) or "more" (4 doors or more)

Parameters:

connectionHandle - Handle for control unit connection.

parameters - - The parameters for the special coding

Returns:

General response.
Throws:

DiagException - - If an error occurs while calling this function.

Not available for web service.

writeSpecialCoding
public IDiagResult writeSpecialCoding(IConnectionHandle connectionHandle,
MapAdapter parameters)
 throws DiagException

Writes the provided "special coding information" to the currently selected control unit.
For the provided map of parameters the following key/value pairs are allowed:

 Key "Brand": "vw", "audi", "seat", "skoda", "vn", "bugatti", "lamborghini", "bentley", "rollsroyce",
"ford", "porsche"

 Key "Derivate": "shortrear", "notchback", "variant", "hatchback", "coupe", "cabrio, "offroad",


"cityvan", "mpv", "other"

 Key "Wheel": "left" or "right"

 Key "Doors": "less" (than 4 doors) or "more" (4 doors or more)

Parameters:

connectionHandle - Handle for control unit connection.

parameters - - The parameters for the special coding

Returns:

General response.

Throws:

DiagException - - If an error occurs while calling this function.

setVehicleProject
public void setVehicleProject(String projectName)
 throws DiagException

Sets and loads the vehicle project for the diagnostic interface. Loading a project is a precondition for
connecting to a control unit.

Parameters:

projectName - The project name.


Throws:

DiagException - If an error occurs while setting the vehicle project.

setVehicleProjectAutomatic
public String setVehicleProjectAutomatic( IConnectionInterface.PROJECT_MODE projectMode)
throws DiagException

Determines the project for the current vin automatically. If exactly on project is determined, it will be set and
loaded and the project name will be returned. If more than one project is determined a exception will be
thrown.

Parameters:

projectMode - The project mode to control the kind of project determination

Returns:

the project name

Throws:

DiagException - If the project is not unique or an error occurs while setting it.

getProjectEcuAddressList
public List<Integer> getProjectEcuAddressList()
 throws DiagException

Retrieves a list holding the addresses of all control units in the current project.

Returns:

The list of ecu addresses.

Throws:

DiagException - If an error occurs while retrieving the address list.

getShortNamesOfAccessModes
public List<String> getShortNamesOfAccessModes( IConnectionHandle connectionHandle)
throws DiagException

Returns the ODX-ShortNames of all available access modes for UDS control units. The function throws an
exception for KWP control units.
Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The access modes.

Throws:

DiagException - If an error occurs or the function was called on an KWP control unit.

getShortNamesOfDiagnosticSessions
public List<String> getShortNamesOfDiagnosticSessions(IConnectionHandle connectionHandle)
 throws DiagException

Returns the ODX-ShortName list of all available diagnostic sessions for UDS control units. The function
throws an exception for KWP control units.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The list of diagnostic sessions

Throws:

DiagException - If an error occurs or the function was called on an KWP control unit.

securityAccess
public IDiagResult securityAccess(IConnectionHandle connectionHandle,
String loginCode,
String accessMode)
 throws DiagException

Executes the security access operation on the control unit using the specified login code and access mode.

KWP2000 access modes: automatic, level34, level56, coding2

KWP1281 access mode: automatic

UDS access modes: Login, System Specific

Parameters:

connectionHandle - Handle for control unit connection.

loginCode - The login code.


accessMode - The acces mode.

Returns:

General response

Throws:

DiagException - If the security access fails or an error occurs while calling this method.

securityAccessSFDOnline
public IDiagResultSFD securityAccessSFDOnline(IConnectionHandle connectionHandle,
ISecurityAccessInterface.OnlineRequestedRole role,
ISecurityAccessInterface.OnlineAccessDuration duration,
ISecurityAccessInterface.OnlineAccessMethod accessMethod)
 throws DiagException

Executes the security access unlock operation on the control unit by using an online token (SFD). The
online token is requested from the sfd backend system. This function is only supported for calls from the
local computer. A remote request is rejected with an exception.

Parameters:

connectionHandle - The handle for control unit connection.

role - The role for the SFD unlock operation.


WEB-API: BASIC, EXTENDED, SUPERUSER
MACRO: ISecurityAccessInterface.OnlineRequestedRole.BASIC,
ISecurityAccessInterface.OnlineRequestedRole.EXTENDED,
ISecurityAccessInterface.OnlineRequestedRole.SUPERUSER

duration - The durations for the SFD unlock operation.


WEB-API: SHORT, LONG, UNLIMITED
MACRO: ISecurityAccessInterface.OnlineAccessDuration.SHORT,
ISecurityAccessInterface.OnlineAccessDuration.LONG,
ISecurityAccessInterface.OnlineAccessDuration.UNLIMITED

accessMethod - The online access method for the backend system.


WEB-API: PKI
MACRO: ISecurityAccessInterface.OnlineAccessMethod.PKI

Returns:

The result of the SFD unlock operation.

Throws:

DiagException - If the control unit doesn't support the sfd unlock operation or the call comes from
a remote computer.
securityAccessSFDOffline
public IDiagResultSFD securityAccessSFDOffline( IConnectionHandle connectionHandle,
ISecurityAccessInterface.OnlineRequestedRole role,
ISecurityAccessInterface.OnlineAccessDuration duration)
throws DiagException

Executes the security access unlock operation on the control unit by using an offline token (SFD) without a
connection to the sfd backend. A offline token must be present for the specified ecu, role and duration in
the sfd-token directory (see ODIS-Admin). All older, unused tokens are automatically deleted for the
specified ecu. This function is only supported for calls from the local computer. A remote request is rejected
with an exception.

Parameters:

connectionHandle - The handle for control unit connection.

role - The role for the SFD unlock operation.


WEB-API: BASIC, EXTENDED, SUPERUSER
MACRO: ISecurityAccessInterface.OnlineRequestedRole.BASIC,
ISecurityAccessInterface.OnlineRequestedRole.EXTENDED,
ISecurityAccessInterface.OnlineRequestedRole.SUPERUSER

duration - The durations for the SFD unlock operation.


WEB-API: SHORT, LONG, UNLIMITED
MACRO: ISecurityAccessInterface.OnlineAccessDuration.SHORT,
ISecurityAccessInterface.OnlineAccessDuration.LONG,
ISecurityAccessInterface.OnlineAccessDuration.UNLIMITED

Returns:

The result of the SFD unlock operation.

Throws:

DiagException - If the control unit doesn't support the sfd unlock operation or the call comes from
a remote computer.

securityAccessSFDEcuLock
public IDiagResultSFD securityAccessSFDEcuLock( IConnectionHandle connectionHandle)
throws DiagException

Executes the security access lock operation on the specified control unit (SFD).

Parameters:

connectionHandle - The handle for control unit connection.

Returns:

The result of the SFD lock process.


Throws:

DiagException - If the control unit doesn't support the sfd lock operation.

securityAccessSFDAllEcuLock
public List<IDiagResultSFD> securityAccessSFDAllEcuLock()
 throws DiagException

Executes the security access lock operation for all control units that support the SFD function. Before the
functional lock operation is executed, all devices are moved into the extended session with a functional
diagnostic call.

Returns:

The result of the SFD lock process.

Throws:

DiagException - If the vehicle doesn't support the sfd lock operation.

securityAccessSFDReset
public IDiagResultSFD securityAccessSFDReset( IConnectionHandle connectionHandle,
ISecurityAccessInterface.OnlineRequestedRole role,
ISecurityAccessInterface.OnlineAccessDuration duration,
ISecurityAccessInterface.OnlineAccessMethod accessMethod)
throws DiagException

Executes the security access reset operation on the control unit by using an online token (SFD). This
operation resets the control unit to the initial protection values and is only allowed by the user role
'SUPERUSER'. The online token is requested from the sfd backend system. This function is only supported
for calls from the local computer. A remote request is rejected with an exception.

Parameters:

connectionHandle - The handle for control unit connection.

role - The role for the SFD unlock operation.


WEB-API: BASIC, EXTENDED, SUPERUSER
MACRO: ISecurityAccessInterface.OnlineRequestedRole.BASIC,
ISecurityAccessInterface.OnlineRequestedRole.EXTENDED,
ISecurityAccessInterface.OnlineRequestedRole.SUPERUSER

duration - The durations for the SFD unlock operation.


WEB-API: SHORT, LONG, UNLIMITED
MACRO: ISecurityAccessInterface.OnlineAccessDuration.SHORT,
ISecurityAccessInterface.OnlineAccessDuration.LONG,
ISecurityAccessInterface.OnlineAccessDuration.UNLIMITED
accessMethod - The online access method for the backend system.
WEB-API: PKI
MACRO: ISecurityAccessInterface.OnlineAccessMethod.PKI

Returns:

The result of the SFD reset operation.

Throws:

DiagException - If the control unit doesn't support the sfd reset operation or wrong role is
specified or the call comes from a remote computer.

securityAccessSFDCheckStatus
public IDiagResultSFDStatus securityAccessSFDCheckStatus( IConnectionHandle connectionHandle)
throws DiagException

Reads the security access unlock status for the specified control unit (SFD).

Parameters:

connectionHandle - The handle for control unit connection.

Returns:

The SFD unlock status.

Throws:

DiagException - If the vehicle doesn't support the sfd unlock operation.

getShortNamesOfAdaptationChannels
public List<String> getShortNamesOfAdaptationChannels(IConnectionHandle connectionHandle)
 throws DiagException

Returns the ODX short names of all available adaptation channels for UDS control units. For KWP control
unit the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The adaptation groups.

Throws:

DiagException - If an error occurs while calling this function.


getShortNamesOfAdaptationValues
public List<String> getShortNamesOfAdaptationValues(IConnectionHandle connectionHandle,
String adaptationChannel)
 throws DiagException

Returns the ODX short names of all available adaptation values from an adaptation channel. For KWP
control units the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

adaptationChannel - The adaptation channel from which the adaptation values shall be retrieved.

Returns:

The adaptation values

Throws:

DiagException - If an error occurs while calling this function or the function is called for a KWP
control unit.

readAdaptation
public IDiagResultAdaptation readAdaptation(IConnectionHandle connectionHandle,
String adaptationChannel)
 throws DiagException

Reads the adaptation values of the specified adaptation channel from the currently selected control unit.
Returns read values as a list. For KWP control units the size of the list is 1. For UDS control units n values
will return. If an error occurs while reading the adaptation values the function throws an exception.

KWP Adaptation groups: 1..255

UDS Adaption groups: Return values from getShortNamesOfAdaptationGroups

Parameters:

connectionHandle - Handle for control unit connection

adaptationChannel - The adaptation channel from which the adaptation values shall be retrieved.

Returns:

The adaptation which contains the adaptation values.

Throws:

DiagException - If an error occurs while calling this function


writeAdaptation
public IDiagResult writeAdaptation( IConnectionHandle connectionHandle,
String adaptationChannel,
MapAdapter adaptationValues)
throws DiagException

Writes adaption values for the specified adaptation channel.


The adaption channel and the value(s) to be written are to be specified in different ways for UDS and KWP.

 For UDS the adaptation channel is one of the channels returned by


getShortNamesOfAdaptationChannels and the available values for the channel can be retrieved
by getShortNamesOfAdaptationValues.
The adaptation values to be written are passed to this function by a key value dictionary. The key
specifies the short name of the adaptation value and the value specifies the adaptation value to be
written.

 For KWP the adaptation channel is the channel number given as string - i.e. "1" to "255".
The adaptation value to be written is to be passed as the single entry in the key value dictionary
with the adaption channel serving as key.

Parameters:

connectionHandle - Handle for control unit connection

adaptationChannel - The adaptation channel to which the adaptation values shall be written.

adaptationValues - The adaptation values which shall be written. Example for a key / value pair:
("Param_ActivStartStopFunct", "active").

Returns:

General response object.

Throws:

DiagException - If an error occurs while calling this function.

writeAdaptation
public IDiagResult writeAdaptation(IConnectionHandle connectionHandle,
 String adaptationChannel,
 Map<String,String> adaptationValues)
throws DiagException

Writes adaption values for the specified adaptation channel.


The adaption channel and the value(s) to be written are to be specified in different ways for UDS and KWP.

 For UDS the adaptation channel is one of the channels returned by


getShortNamesOfAdaptationChannels and the available values for the channel can be retrieved
by getShortNamesOfAdaptationValues.
The adaptation values to be written are passed to this function by a key value dictionary. The key
specifies the short name of the adaptation value and the value specifies the adaptation value to be
written.

 For KWP the adaptation channel is the channel number given as string - i.e. "1" to "255".
The adaptation value to be written is to be passed as the single entry in the key value dictionary
with the adaption channel serving as key.

Parameters:

connectionHandle - Handle for control unit connection

adaptationChannel - The adaptation channel to which the adaptation values shall be written.

adaptationValues - The adaptation values which shall be written. Example for a key / value pair:
("Param_ActivStartStopFunct", "active").

Returns:

General response object.

Throws:

DiagException - If an error occurs while calling this function.

Not available for web service.

clearAdaptationChannels
public void clearAdaptationChannels(IConnectionHandle connectionHandle)
 throws DiagException

Resets all adaptation channels to their default values. For UDS control units the function throws an
exception.

Parameters:

connectionHandle - Handle for control unit connection.

Throws:

DiagException - If an error occurs while calling this function or the function is called for an UDS
control unit.

actuatorDiagnosticsAbort
public void actuatorDiagnosticsAbort( IConnectionHandle connectionHandle)
throws DiagException

Stops all running actuators and terminates the actuator diagnosis.


Parameters:

connectionHandle - Handle for control unit connection.

Throws:

DiagException - If an error occurs while calling this function.

actuatorDiagnosticsCheck
public List<IDiagResultStatus> actuatorDiagnosticsCheck(IConnectionHandle connectionHandle,
List<String> actuators)
 throws DiagException

Reads the status information and the measurement values for the specified actuators (UDS control units)
or the actuator specified in actuatorDiagnosticsInit (KWP control units).
The actuators are only relevant for the UDS actuator diagnostic. The measurement values which should be
read for an actuator can be configured by the function actuatorDiagnosticsInit. If no actuators are
specified, only the overall measurement values configured in actuatorDiagnosticsInit will be read. For
KWP control units the parameter will be ignored.

Parameters:

connectionHandle - Handle for control unit connection

actuators -
UDS: The actuators for which the measurement values will be read.
KWP: No actuators to specify.

Returns:

The status information.

Throws:

DiagException - If an error occurs while calling this function.

actuatorDiagnostics2Init
public void actuatorDiagnostics2Init( IConnectionHandle connectionHandle,
List<IDiagDescriptor2WithParametersAndMeasurements> actuators,
List<IDiagMeasurementDescriptor> measurements)
throws DiagException

Initializes the actuator diagnosis with the specified actuators. The initialization must be called to start the
actuator diagnosis.
For UDS control units settings and measurement values can be configured, which will be read for every
basic setting by a check operation. The specified measurements can be configured for different control
units.
For KWP control units the settings are limited to one object and the measurement values will be ignored.
Ensures that the following operation will run over the same diagnostic connection.
Parameters:

connectionHandle - Handle for control unit connection.

actuators - The actuators to initialize.

measurements - The measurements values.

Throws:

DiagException - If an error occures while calling this function.

actuatorDiagnosticsInit
public void actuatorDiagnosticsInit(IConnectionHandle connectionHandle,
List<IDiagDescriptorWithParametersAndMeasurements> actuators,
List<String> measurements)
 throws DiagException

Initializes the actuator diagnosis with the specified actuators. The initialization must be called to start the
actuator diagnosis.
For UDS control units settings and measurement values can be configured, which will be read for every
basic setting by a check operation.
For KWP control units the settings are limited to one object and the measurement values will be ignored.
Ensures that the following operation will run over the same diagnostic connection.

Parameters:

connectionHandle - Handle for control unit connection.

actuators - The actuators to initialize.

measurements - The measurements values.

Throws:

DiagException - If an error occures while calling this function.

actuatorDiagnosticsNext
public List<IDiagResultStatus> actuatorDiagnosticsNext( IConnectionHandle connectionHandle)
throws DiagException

Switches to the next configured actuator. For UDS actuator diagnosis the function can only be executed if
no actuator diagnosis is running or if only one actuator diagnosis is running. It terminates the currently
running actuator diagnosis and selectes the next actuator to start. The next actuator is determined from the
list of actuators defined with actuatorDiagnosticsInit. Calling actuatorDiagnosticsStart with an
empty parameter list starts the selected actuator. For KWP the functions throws a DiagException.
Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The status of the actuator diagnosis.

Throws:

DiagException - If an error occurs while calling this function or the function is called for a KWP
control unit.

actuatorDiagnosticsStart
public List<IDiagResultStatus> actuatorDiagnosticsStart(IConnectionHandle connectionHandle,
List<String> actuators)
 throws DiagException

Starts the actuator diagnosis for the specified actuators (UDS control units) or the actuator specified in
actuatorDiagnosticsInit (KWP control units).

Parameters:

connectionHandle - Handle for control unit connection.

actuators -
UDS: The actuators to start.
KWP: No actuators to specify.

Returns:

The status of the start operation.

Throws:

DiagException - If an error occures while calling this function.

actuatorDiagnosticsStop
public List<IDiagResultStatus> actuatorDiagnosticsStop( IConnectionHandle connectionHandle,
List<String> actuators)
throws DiagException

Stops the actuator diagnosis for the specified actuators (UDS control units) or the actuator specified in
actuatorDiagnosticsInit (KWP control units).

Parameters:

connectionHandle - Handle for control unit connection.


actuators -
UDS: The actuators to stop.
KWP: No actuators to specify.

Returns:

The status of the stop operation.

Throws:

DiagException - If an error occures while calling this function.

actuatorDiagnosticsWaitUntilNotRunning
public List<IDiagResultStatus> actuatorDiagnosticsWaitUntilNotRunning(IConnectionHandle connec
tionHandle,
List<String> actuators,
long timeout)
 throws DiagException

Controls the process of reading status and Measurands. An update is processed until the state is changed
to a non active one or if the set timeout has been expired.

Parameters:

connectionHandle - Handle for control unit connection.

actuators -
UDS: The actuators for which the measurement values will be read.
KWP: No actuators to specify.

timeout - Time out in ms for stopping process.

Returns:

The status information.

Throws:

DiagException - If an error occurs while calling this function.

Not available for web service.

createDiagActuator2
public IDiagDescriptor2WithParametersAndMeasurements createDiagActuator2( String actuatorName,
Map<String,String> parameters,
List<IDiagMeasurementDescriptor> measurementValues)
throws DiagException

Creates an actuator object that can be used to initialize the actuator diagnosis. An
IDiagDescriptorWithParametersAndMeasurements object consist of at least an actuator name. For UDS
control units this code must be on of the values returned by getShortNamesOfActuators. For KWP2000
control units this value is the actuator code as an integer value. For KWP1281 control units this parameter
is ignored. Parameters and measurement values can be defined optionally for UDS control units. For KWP
control units these parameters will be ignored.

Parameters:

actuatorName - The actuator name.

parameters - Parameters for the actuator.

Returns:

The diag actuator object.

Throws:

DiagException - If an error occurs while calling this function.

createDiagActuator
public IDiagDescriptorWithParametersAndMeasurements createDiagActuator( String actuatorName,
Map<String,String> parameters,
List<String> measurementValues)
throws DiagException

Creates an actuator object that can be used to initialize the actuator diagnosis. An
IDiagDescriptor2WithParametersAndMeasurements object consist of at least an actuator name. For
UDS control units this code must be on of the values returned by getShortNamesOfActuators. For
KWP2000 control units this value is the actuator code as an integer value. For KWP1281 control units this
parameter is ignored. Parameters and measurement values can be defined optionally for UDS control
units. For KWP control units these parameters will be ignored. The specified measurements can be
configured for different control units.

Parameters:

actuatorName - The actuator name.

parameters - Parameters for the actuator.

Returns:

The diag actuator object.

Throws:

DiagException - If an error occurs while calling this function.


getShortNamesOfActuators
public List<String> getShortNamesOfActuators( IConnectionHandle connectionHandle)
throws DiagException

Returns the ODX short names of all available actuators from the currently selected control unit. For a KWP
control unit this function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The measurement values.

Throws:

DiagException - If an error occurs while calling this function or this function is called for a KWP
control unit.

getShortNamesOfMeasurementsForActuatorDiagnostics
public List<String> getShortNamesOfMeasurementsForActuatorDiagnostics(IConnectionHandle connec
tionHandle)
 throws DiagException

Returns the ODX short names of all measurements for the actuator diagnosis. For a KWP control unit this
function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The measurements.

Throws:

DiagException - If an error occurs while calling this function or this function is called for a KWP
control unit.

getShortNamesOfStartParametersForActuator
public List<String> getShortNamesOfStartParametersForActuator(IConnectionHandle connectionHand
le,
String actuatorName)
 throws DiagException
Returns the ODX short names of all available parameters from the specified actuator. For a KWP control
unit this function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

actuatorName - The name of the actuator.

Returns:

The parameters.

Throws:

DiagException - If an error occurs while calling this function or this function is called for a KWP
control unit.

getShortNamesOfMeasurementGroups
public List<String> getShortNamesOfMeasurementGroups( IConnectionHandle connectionHandle)
throws DiagException

Returns a list of ODX short names of all available measurement groups for the currently selected control
unit. For KWP control unit this function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The measurement value groups.

Throws:

DiagException - If an error occurs while calling this function or this function is called for a KWP
control unit.

getShortNamesOfMeasurements
public List<String> getShortNamesOfMeasurements(IConnectionHandle connectionHandle,
String measurementGroup)
 throws DiagException

Returns ODX short names of all available measurements of the specified measurement group.For KWP
control unit this function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.


measurementGroup - The measurement group in order to get the available ODX short names for
this group.

Returns:

The ODX short names of all available measurements of the specified measurement group.

Throws:

DiagException - If an error occurs while calling this function or this function is called for a KWP
control unit.

createDiagMeasurementDescriptor
public IDiagMeasurementDescriptor createDiagMeasurementDescriptor(long ecuAddress,
String measurementGroup,
String measurementParam)
 throws DiagException

Creates a descriptor for measurements.


Can be used .e.g. to provide a list of measurements to be read.

Parameters:

ecuAddress - Address of the control unit for the new descriptor.

measurementGroup - The measurement group.


For KWP this should be the block number.

measurementParam - The measurement parameter.


For KWP this should be the position number.

Returns:

The newly created descriptor.

Throws:

DiagException - If an error occurs while calling this function.

readMeasurement
public IDiagResultMeasurement readMeasurement(IConnectionHandle connectionHandle,
String measurementGroup,
String measurementParam)
 throws DiagException

Reads the measurements from the currently selected control unit. Reads all values from the specified
group or - if specified - a specific measurement from that group. For KWP control units the reading of block
numbers and positions are supported.
Parameters:

connectionHandle - Handle for control unit connection.

measurementGroup - The ODX short name of the measurement group or the KWP block number.

measurementParam - The ODX short name of the measurement or the KWP position number.

Returns:

IDiagResultMeasurement with measurement values.

Throws:

DiagException - If an error occurs while calling this function.

readMeasurements
public List<IDiagResultMeasurement> readMeasurements( List<IDiagMeasurementDescriptor> measure
mentDescriptors)
throws DiagException

Reads the measurement values from the currently selected control unit. Reads all values specified by the
list of measurementDescriptors. For KWP control units reading of block numbers and positions are
supported.

Parameters:

measurementDescriptors - - Holding information on the measurements to be read.

Returns:

IDiagResultMeasurement with measurement values.

Throws:

DiagException - If an error occurs while calling this function.

getShortNamesOfSoftwareCompositions
public List<IDiagResultIdentificationShortName> getShortNamesOfSoftwareCompositions(IConnectio
nHandle connectionHandle)
 throws DiagException

Returns the ODX short names of all identification values for the software compositions and software
components. The relation of software components to software composition is done by the sequence. For a
composition all components follow afterwards. For a KWP control unit this function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection of the master.


Returns:

The subsytem short names with ident type as list.

Throws:

DiagException - If an error occurs while reading the short names or the operation was called for a
KWP control unit.

getShortNamesOfIdentificationDatas
public List<String> getShortNamesOfIdentificationDatas( IConnectionHandle connectionHandle,
String subsytem)
throws DiagException

Returns the ODX short names of all identification values for the specified subsystem. If the subsystem
name is empty the short names of the master ecu will be returned. For a KWP control unit this function
throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

subsytem - Name of the subsystem for which the values will be returned.

Returns:

The identification values

Throws:

DiagException - If an error occurs while calling this function or this function is called for a KWP
control unit.

readIdentificationSoftwareCompositions
public List<IDiagResultIdentification> readIdentificationSoftwareCompositions(IConnectionHandl
e connectionHandle)
 throws DiagException

Reads software compositions identification data from the currently selected control unit.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The identification data of the master and its software compositions and software components.
Throws:

DiagException - If an error occurs while reading the identification data.

readIdentification
public List<IDiagResultIdentification> readIdentification(IConnectionHandle connectionHandle)
 throws DiagException

Reads all identification data from the currently selected control unit including extended informations slave
control units, software cluster and software compositions.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The identification data.

Throws:

DiagException - If an error occurs while reading the identification data.

readIdentificationData
public IDiagResultValue readIdentificationData( IConnectionHandle connectionHandle,
String identDataIdentifier)
throws DiagException

Reads a single identification data from the currently selected master conrol unit and returns it. Single
identification data can be read for UDS and KWP2000 Service 22 control units and must be specified by an
identifier. For UDS control units one of the shortnames returned by
getShortNamesOfIdentificationDatas must be used. For KWP control units also an uds shortname
must be used to specify the identification data. The shortname will be mapped to an appropiate record data
identifier. For a list of mapped shortnames see the automation parameter mapping file. If a specified
identifier is not available or cannot be mapped the function returns a result with an appropiate error
message as value.

Parameters:

connectionHandle - Handle for control unit connection.

identDataIdentifier - Identifier to specify the data which shall be to read.

Returns:

The identification data which was read.


Throws:

DiagException - If an error occurs while reading the identification data.

sendRawService
public byte[] sendRawService( IConnectionHandle connectionHandle,
byte[] requestPdu)
throws DiagException

Writes raw hex data.

Parameters:

connectionHandle - Handle for control unit connection.

requestPdu - The raw data to send.

Returns:

Answer of the request as byte array.

Throws:

DiagException - If an error occurs while processing the request.

sendRawService
public byte[] sendRawService(IConnectionHandle connectionHandle,
 String requestPduString)
throws DiagException

Transforms input parameter from String to a byte array and writes raw hex data.

Parameters:

connectionHandle - Handle for control unit connection.

requestPduString - Raw data to send as a String value.

Returns:

Answer of request.

Throws:

DiagException - If an error occurs while processing request.

Not available for web service.


sendRawServiceWithoutConnectionCheck
public byte[] sendRawServiceWithoutConnectionCheck( String logicalLink,
byte[] requestPdu)
throws DiagException

Writes raw hex data with suppressed connection check via "tester present".

Parameters:

logicalLink - Name of the logical link to write hex data.

requestPdu - The raw data to send.

Returns:

Answer of the request as byte array.

Throws:

DiagException - If an error occurs while processing the request.

sendRawServiceFunctional
public IDiagResultRawService sendRawServiceFunctional(byte[] requestPdu,
String logicalLink)
 throws DiagException

Writes raw hex data functional.

Parameters:

requestPdu - The raw data to send.

logicalLink - Name of the logical link to write hex data.

Returns:

Answer of the request as result object.

Throws:

DiagException - If an error occurs while processing request.

sendRawServiceFunctional
public IDiagResultRawService sendRawServiceFunctional(String requestPduString,
String logicalLink)
 throws DiagException

Writes raw hex data functional.


Parameters:

requestPduString - Raw data to send.

logicalLink - Name of the logical link to write hex data.

Returns:

Answer of the request as result object.

Throws:

DiagException - If an error occurs while processing request.

Not available for web service.

readRAM
public IDiagResultMemoryCells readRAM(IConnectionHandle connectionHandle,
Integer startAddress,
Integer numberOfMemoryCells)
 throws DiagException

Reads the specified number of memory bytes from the ECU-RAM. Starting at the specified address. This
method is supported only by the KWP1281 protocol.

Parameters:

connectionHandle - Handle for control unit connection.

startAddress - The start address.

numberOfMemoryCells - The number of bytes to read.

Returns:

memory The read memory.

Throws:

DiagException - If an error occurs while calling this function or the function is not called for a
KWP1281 control unit.

readROM
public IDiagResultMemoryCells readROM(IConnectionHandle connectionHandle,
Integer startAddress,
Integer numberOfMemoryCells)
 throws DiagException

Reads the specified number of memory bytes from the ECU-ROM. Starting at the specified address. This
method is supported only by the KWP1281 protocol.
Parameters:

connectionHandle - Handle for control unit connection.

startAddress - The start address.

numberOfMemoryCells - The number of bytes to read.

Returns:

memory The read memory.

Throws:

DiagException - If an error occurs while calling this function or the function is not called for a
KWP1281 control unit.

readEEPROM
public IDiagResultMemoryCells readEEPROM( IConnectionHandle connectionHandle,
BigInteger startAddress,
Integer numberOfMemoryCells)
throws DiagException

Reads the specified number of memory bytes from the ECU-EEPROM. Starting at the specified address.
The number of the address bytes is calculated automatically.

Parameters:

connectionHandle - Handle for control unit connection.

startAddress - The start address.

numberOfMemoryCells - The number of bytes to read.

Returns:

memory The read memory.

Throws:

DiagException - If an error occurs while processing request.

readEEPROMWithFixedAddressLength
public IDiagResultMemoryCells readEEPROMWithFixedAddressLength( IConnectionHandle connectionHa
ndle,
BigInteger startAddress,
Integer numberOfAddressBytes,
Integer numberOfMemoryCells)
throws DiagException
Reads the specified number of memory bytes from the ECU-EEPROM. Starting at the specified address by
using the given number of address bytes.

Parameters:

connectionHandle - Handle for control unit connection.

startAddress - The start address.

numberOfAddressBytes - The number of address bytes.

numberOfMemoryCells - The number of bytes to read.

Returns:

memory The read memory.

Throws:

DiagException - If an error occurs while processing request.

readEEPROMSerial
public IDiagResultMemoryCells readEEPROMSerial( IConnectionHandle connectionHandle,
Integer startAddress,
Integer numberOfMemoryCells)
throws DiagException

Reads (serial) the specified number of memory bytes from the ECU-EEPROM. Starting at the specified
address. This method is supported only by the KWP1281 protocol.

Parameters:

connectionHandle - Handle for control unit connection.

startAddress - The start address.

numberOfMemoryCells - The number of bytes to read.

Returns:

memory The read memory.

Throws:

DiagException - If an error occurs while calling this function or the function is not called for a
KWP1281 control unit.
writeEEPROM
public IDiagResult writeEEPROM( IConnectionHandle connectionHandle,
BigInteger startAddress,
byte[] memoryCellData)
throws DiagException

Writes the specified memory data to the ECU-EEPROM. Starting at the specified address. The number of
the address bytes is calculated automatically.

Parameters:

connectionHandle - Handle for control unit connection.

startAddress - The start address.

memoryCellData - The memory to write.

Returns:

General response.

Throws:

DiagException - If an error occurs while processing request.

writeEEPROMWithFixedAddressLength
public IDiagResult writeEEPROMWithFixedAddressLength( IConnectionHandle connectionHandle,
BigInteger startAddress,
Integer numberOfAddressBytes,
byte[] memoryCellData)
throws DiagException

Writes the specified memory data to the ECU-EEPROM. Starting at the specified address by using the
given number of address bytes.

Parameters:

connectionHandle - Handle for control unit connection.

startAddress - The start address.

numberOfAddressBytes - The number of address bytes.

memoryCellData - The memory to write.

Returns:

General response.

Throws:

DiagException - If an error occurs while processing request.


writeEEPROMSerial
public IDiagResult writeEEPROMSerial( IConnectionHandle connectionHandle,
Integer startAddress,
byte[] memoryCellData)
throws DiagException

Writes (serial) the specified memory data to the ECU-EEPROM. Starting at the specified address. This
method is supported only by the KWP1281 protocol.

Parameters:

connectionHandle - Handle for control unit connection.

startAddress - The start address.

memoryCellData - The memory to write.

Returns:

General response.

Throws:

DiagException - If an error occurs while calling this function or the function is not called for a
KWP1281 control unit.

configureSetting
public void configureSetting( String paramKey,
String paramValue)
throws DiagException

Configures a setting of the tester with a key value combination.

Key Value type Description


Multilink.
Integer [1,...] Maximum number of logical links.
MaxNumberOfLogicalLinks
Multilink. 'TRUE', Consider restictions of VRT/VPT table
ConsiderRestrictionsOfVRTVPT 'FALSE' when using multilinks.
Trace. 'TRUE',
Enablement of CAN bus tracing.
CANBusTracingActive 'FALSE'
Trace. 'TRUE', The key is no longer supported. No action is
CANPVTracingActive 'FALSE' performed.
Trace. 'TRUE',
Enablement of KLine bus tracing.
KLineBusTracingActive 'FALSE'
Trace. 'TRUE', The key is no longer supported. No action is
KLinePVTracingActive 'FALSE' performed.
Trace. 'TRUE',
Enablement of job tracing.
JobTracingActive 'FALSE'
Trace. 'TRUE',
Enablement of DoIP tracing.
DoIPBusTracingActive 'FALSE'
'TI',
ODXTexts. 'TIWithID',
Display kind of ODX texts.
DisplayType 'LongNames',
'ShortNames'
ODXTexts. 'TRUE', Display of empty customer text (flat or
DisplayEmptyCustomerTextsHierarchical 'FALSE' hierarchical).
DiagnosisCommunication. Integer [0,
Timeout for scheduler in seconds.
SchedulerTimeoutInSeconds 10000]
DiagnosisCommunication. 'TRUE',
Display parts of incorrect control unit response.
DisplayPartialResults 'FALSE'
DiagEntrance. 'TRUE',
Read vin after selecting a project.
ReadVINOnProjectEntry 'FALSE'
DiagEntrance. 'TRUE',
Read day counter.
DayCounter 'FALSE'
DiagEntrance. 'TRUE', Read the date of last functional clear of event
LastClearDateOfFunctionalEventMemory 'FALSE' memory.
DiagEntrance. 'TRUE',
Read onboard mileage.
Mileage 'FALSE'
DiagEntrance. 'TRUE',
Read onboard time.
OnboardTime 'FALSE'
DiagEntrance. 'TRUE',
Read warmup cycle (unlearn) counter.
WarmupCycleCounter 'FALSE'
DiagEntrance. Integer [0,
Timeout for vehicle search in seconds.
TimeoutForVehicleSearchInSeconds 1000]
DiagEntrance. 'TRUE', Use the busmaster coding list for vehicle
GatewayComponentList 'FALSE' functions.
If TRUE use customer specific data (projects,
VRT/VPT, DIDB) from installation else use this
data from the location defined in administration
DiagnosisData. 'TRUE',
under storage->diagnosis data.
CustomerSpecificOperationMode 'FALSE'
See admin setting general->diagnosis data->ODX
projects.
A change is only done if no project is loaded.
Flashing. 'TRUE', Stops the coordinated flashing process at the first
StopCoordinatedFlashProcessOnError 'FALSE' error.
Flag if following SFD End-To-End coverage
'TRUE', operations take place offline or online. The Flag is
SFD.EndToEndProtectionModeOffline
'FALSE' valid for the duration of the session or until it is
changed by this parameter.

Parameters:

paramKey - The key of the setting.

paramValue - The new value of the setting.

Throws:

DiagException - If an error occurs while setting the key value.


setLocale
public void setLocale(String language,
String country)
 throws DiagException

Setting the locale for all diagnostic functions.

Parameters:

language - The language like de.

country - The country like DE.

Throws:

DiagException - If an error occurs while setting the locale.

setTraceLevel
public void setTraceLevel(String level)
 throws DiagException

Setting the trace level. If level not exist, the level is set to FATAL.

Parameters:

level - Possible values {ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF}

Throws:

DiagException - If setting log level fails. If level not exist, the level is set to FATAL.

setTraceLevel
public void setTraceLevel(Level level)
 throws DiagException

Setting the API trace level for all diagnostic functions.

Parameters:

level - The trace level.

Throws:

DiagException - If an error occurs while setting trace level.

Not available for web service.


setCommunicationTrace
public void setCommunicationTrace(IConfigurationInterface.TRACE_STATE traceState)
 throws DiagException

Starts or stops the tracing of BUS, DoIP or JOB traces. Which traces are affected is configured within
configureSetting.

Parameters:

traceState - The state for tracing.

Throws:

DiagException - If an error occurs while setting trace.

getVersions
public IDiagResultVersions getVersions()
throws DiagException

Returns the versions of the used modules. The PDU API Version can be empty if it is not found at the
moment when this function is called.

Returns:

Versions of the used modules.

Throws:

DiagException - If an error occurs while initializing the version info.

getODXVersions
public List<IDiagResultODXVersion> getODXVersions()
 throws DiagException

Returns a list of all MCD projects with project information of the current project path. For every subdirectory
a list entry is generated.

Returns:

ODX versions.

Throws:

DiagException - If an error occurs while processing the request.


closeConnection
public void closeConnection(IConnectionHandle connectionHandle)
 throws DiagException

Closes the connection to the current control unit and switches to CLOSE_CONNECTION_BEHAVIOUR. In
CLOSE_CONNECTION_BEHAVIOUR the connection to a control unit is closed after every call of a diagnosic
operation.

Parameters:

connectionHandle - Handle for control unit connection.

Throws:

DiagException - If an error occurs while setting the internal flag or the function is called before the
function openConnection was called.

openConnection
public void openConnection( IConnectionHandle connectionHandle)
throws DiagException

Opens the connection to the current control unit and switches to STAY_CONNECTED_BEHAVIOUR. In
STAY_CONNECTED_BEHAVIOUR the connection to a control unit stays opened after every call of a diagnosic
operation. To change this behaviour call closeConnection. The behaviour also changes calling
connectToEcu and setVehicleProject.

Parameters:

connectionHandle - Handle for control unit connection.

Throws:

DiagException - If an error occurs while setting the internal flag.

switchSession
public IDiagResult switchSession( IConnectionHandle connectionHandle,
String session)
throws DiagException

For UDS control units the ODX short name of the diagnostic session is used to identify the session to
switch to.
For KWP control units the following identifyer are used:

Identifier Description
00 VAS505x mode
83 End of line within volkswagen
84 End of line within control unit producer
85 Update programming
86 Developper mode
89 Standard selfdiagnostics

Parameters:

connectionHandle - Handle for control unit connection.

session - Diagnostic session to switch to.

Returns:

General response.

Throws:

DiagException - If an error occurs while switching session.

disableTransportMode
public void disableTransportMode()
throws DiagException

Reactivation of a vehicle after a long time of idleness e.g. storage or transport.

Throws:

DiagException - If an error occures while deactivating the transport mode.

enableTransportMode
public void enableTransportMode()
 throws DiagException

Deactivation of a vehicle in order to minimize energy consumption. This is done if a long period of idleness
e.g. storage or transport is approaching. No connection to control unit is neccessary as precondition.

Throws:

DiagException - If an error occures while activating the transport mode.

checkFlashProgramming
public boolean checkFlashProgramming( IConnectionHandle connectionHandle)
throws DiagException
Checks if the current control unit is in principle flashable. If the information is not available the methods
returns true.

Parameters:

connectionHandle - Handle for control unit connection

Returns:

True, if current control unit is in principle flashable.

Throws:

DiagException - If the call fails.

checkFlashProgrammingWithFlashContainer
public boolean checkFlashProgrammingWithFlashContainer( IConnectionHandle connectionHandle,
String containerFileName,
String sessionName)
throws DiagException

Checks if the current control unit is flashable with the containerFileName content.UDS: Check over
expected idents (contains checks of partnumber and software version)KWP: Check of partnumber and
softwareversion

Parameters:

connectionHandle - Handle for control unit connection.

containerFileName - Name of the container file with full path.

sessionName - The session name to flash. A null value is allowed.

Returns:

True if the current control unit is flashable with the containerFileName content.

Throws:

DiagException - If call fails.

checkFlashPreConditions
public List<IDiagResultPreCondition> checkFlashPreConditions( IConnectionHandle connectionHand
le)
throws DiagException

Checks the flashing preconditions for the current control unit and delivers the list of unfulfilled conditions.
Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The list of unfulfilled preconditions or an empty list if all conditions are fulfilled.

Throws:

DiagException - If call fails.

flashProgramming
public IDiagResultFlashSession flashProgramming(IConnectionHandle connectionHandle,
String containerFileName,
String sessionName,
Boolean checkSessionWithEcu)
 throws DiagException

Update programming with an update container.

Parameters:

connectionHandle - Handle for control unit connection.

containerFileName - Name of the container file with full path.

sessionName - The session name to use for the update programming. The parameter can be null.

checkSessionWithEcu - Switch if check is activated for UDS on expected idents and for KWP on
part number and software version. Maybe null, than default TRUE is used.

Returns:

The result of the update programming

Throws:

DiagException - If call fails.

createFlashSessionDescriptor
public IDiagFlashSessionDescriptor createFlashSessionDescriptor(int ecuAddress,
String containerFilePath,
String sessionName,
Boolean checkSessionWithEcu)
 throws DiagException

Creates a descriptor for a flash session that can be used to flash a given control unit with the specified
flash session. In addition, the availability of the ecu, container and session are checked.
Parameters:

ecuAddress - The ecu address of the control unit.

containerFilePath - The file path of the flash container

sessionName - The name of the selected session.

checkSessionWithEcu - Switch if check is activated for UDS on expected idents and for KWP on
part number and software version. Maybe null, than default TRUE is used.

Returns:

The created flash session descriptor.

Throws:

DiagException - If ecu, flash container or session are not available

flashProgrammingParallel
public IDiagResultFlashProgramming flashProgrammingParallel(List<IDiagFlashSessionDescriptor> 
flashSessionDescriptors)
 throws DiagException

Starts the parallel update programming of the specified flash sessions. Only one flash session may be
assigned to every control unit.

Returns:

The result of the update programming

Throws:

DiagException - If call fails.

flashProgrammingCoordinated
public IDiagResultFlashProgramming flashProgrammingCoordinated(List<IDiagFlashSessionDescripto
r> flashSessionDescriptors,
 List<String> coordinationFiles)
throws DiagException

Starts the coordinated update programming of the specified flash sessions. The coordination is based on
the provided json files. Only one flash session may be assigned to every control unit. Used only for macros,
the web interface does not allow multiple control files.

Parameters:

coordinationFiles - the path to the json files determining the order in which the flashing should
be performed.
Returns:

The result of the update programming

Throws:

DiagException - If call fails.

Not available for web service.

flashProgrammingCoordinated
public IDiagResultFlashProgramming flashProgrammingCoordinated( List<IDiagFlashSessionDescript
or> flashSessionDescriptors,
String coordinationFile)
throws DiagException

Starts the coordinated update programming of the specified flash sessions. The coordination is based on
the provided json file. Only one flash session may be assigned to every control unit.

Parameters:

coordinationFile - the path to the json file determining the order in which the flashing should be
performed.

Returns:

The result of the update programming

Throws:

DiagException - If call fails.

flashProgrammingCoordinatedByZipArchive
public IDiagResultFlashProgramming flashProgrammingCoordinatedByZipArchive( String coordinatio
nZipFilePath)
throws DiagException

Starts the coordinated update programming with the zip archive content. The coordination is based on the
included json files.

Parameters:

coordinationZipFilePath - the path of the zip archive.

Returns:

The result of the update programming


Throws:

DiagException - If call fails.

flashProgrammingSequence
public IDiagResultFlashProgramming flashProgrammingSequence(String flashControlFilePath,
Boolean checkExpectedIdents)
 throws DiagException

Starts a parallel update programming sequence, which is defined in the control file. The control file contains
the updating order and the information about control units and flash containers/sessions to be used.

Parameters:

flashControlFilePath - the path of the control file

checkExpectedIdents - Switch to enable the check of expected idents. Maybe null, than default
TRUE is used.

Returns:

The result of the update programming

Throws:

DiagException - If call fails.

getFlashSessions
public String[] getFlashSessions( IConnectionHandle connectionHandle,
String containerFileName,
Boolean checkSessionWithEcu)
throws DiagException

Returns the names of all flash sessions contained in the specified flash container.

Parameters:

connectionHandle - Handle for control unit connection.

containerFileName - Name of container file with full path.

checkSessionWithEcu - Switch if check is activated for UDS on expected idents and for KWP on
part number and software version. Maybe null, than default TRUE is used.

Returns:

The names of the flash sessions in the container; may be empty.


Throws:

DiagException - If call fails.

createBasicSetting2
public IDiagDescriptor2WithParametersAndMeasurements createBasicSetting2( String basicSettingN
ame,
Map<String,String> parameters,
List<IDiagMeasurementDescriptor> measurements)
throws DiagException

Creates a basic setting object that can be used to initialize the basic setting diagnosis. An
IDiagDescriptor2WithParametersAndMeasurements object consist of at least a basic setting name. For
UDS control units this code must be on of the values returned by getShortNamesOfBasicSettings. For
KWP2000 control units this value is the actuator code as an integer value. For KWP1281 control units this
parameter is ignored. Parameters and measurement values can be defined optionally for UDS control
units. For KWP control units these parameters will be ignored. The specified measurements can be
configured for different control units.

Parameters:

basicSettingName - The basic setting name.

parameters - Parameters for the basic setting.

measurements - The configured measurements.

Returns:

The diag basic setting object.

Throws:

DiagException - If an error occurs while calling this function.

createBasicSetting
public IDiagDescriptorWithParametersAndMeasurements createBasicSetting( String basicSettingNam
e,
Map<String,String> parameters,
List<String> measurements)
throws DiagException

Creates a basic setting object that can be used to initialize the basic setting diagnosis. An
IDiagDescriptorWithParametersAndMeasurements object consist of at least an basic setting name. For
UDS control units this code must be on of the values returned by getShortNamesOfBasicSettings. For
KWP2000 control units this value is the actuator code as an integer value. For KWP1281 control units this
parameter is ignored. Parameters and measurement values can be defined optionally for UDS control
units. For KWP control units these parameters will be ignored.
Parameters:

basicSettingName - The basic setting name.

parameters - Parameters for the basic setting.

measurements - The configured measurements.

Returns:

The diag basic setting object.

Throws:

DiagException - If an error occurs while calling this function.

basicSettingCheck
public List<IDiagResultStatus> basicSettingCheck( IConnectionHandle connectionHandle,
List<String> basicSettings)
throws DiagException

Starts the basic setting diagnosis check for:


the specified settings (UDS control units).
the setting specified in basicSettingInit (KWP control units)

Parameters:

connectionHandle - Handle for control unit connection

basicSettings -
UDS: The basic settings to check.
KWP: No basic settings to specify.

Returns:

The state and measurement values if set.

Throws:

DiagException - If an error occures while calling this function.

basicSettingAbort
public void basicSettingAbort(IConnectionHandle connectionHandle)
 throws DiagException

Stops all running basic settings and terminates the basic setting diagnosis. For KWP the functions throws a
DiagException.
Parameters:

connectionHandle - Handle for control unit connection

Throws:

DiagException - If an error occurs while calling this function or the function is called for a KWP
control unit.

basicSetting2Init
public void basicSetting2Init(IConnectionHandle connectionHandle,
List<IDiagDescriptor2WithParametersAndMeasurements> basicSettings,
List<IDiagMeasurementDescriptor> measurements)
 throws DiagException

Initializes the basic setting diagnosis with the specified settings. The initialization must be called to start the
basic setting diagnosis.
For UDS control units a list of settings and a list of measurement values can be configured optionally, which
will be read for every basic setting by a check operation. The specified measurements can be configured
for different control units.
For KWP control units the list of settings is limited to one object and the list of measurement values will be
ignored.
Ensures that the following operation will run over the same diagnostic connection. After calling this function
switching to another ECU is not allowed. For UDS control Units calling basicSettingAbort releases this
state.

Parameters:

connectionHandle - Handle for control unit connection.

basicSettings - The basic settings to init.

measurements - Optional measurements which have to be read within the basic setting operation.
For UDS the this are ODX-ShortNames of the measurement values.

Throws:

DiagException - If an error occures while calling this function.

basicSettingInit
public void basicSettingInit( IConnectionHandle connectionHandle,
List<IDiagDescriptorWithParametersAndMeasurements> basicSettings,
List<String> measurements)
throws DiagException

Initializes the basic setting diagnosis with the specified settings. The initialization must be called to start the
basic setting diagnosis.
For UDS control units a list of settings and a list of measurement values can be configured optionally, which
will be read for every basic setting by a check operation.
For KWP control units the list of settings is limited to one object and the list of measurement values will be
ignored.
Ensures that the following operation will run over the same diagnostic connection. After calling this function
switching to another ECU is not allowed. For UDS control Units calling basicSettingAbort releases this
state.

Parameters:

connectionHandle - Handle for control unit connection.

basicSettings - The basic settings to init.

measurements - Optional measurements which have to be read within the basic setting operation.
For UDS the this are ODX-ShortNames of the measurement values.

Throws:

DiagException - If an error occures while calling this function.

basicSettingStart
public List<IDiagResultStatus> basicSettingStart( IConnectionHandle connectionHandle,
List<String> basicSettings)
throws DiagException

Starts the basic setting diagnosis for:


the specified settings (UDS control units).
the setting specified in basicSettingInit (KWP control units)

Parameters:

connectionHandle - Handle for control unit connection

basicSettings -
UDS: The basic settings to start.
KWP: No basic settings to specify.

Returns:

The status of the start operation and the measurement values if set.

Throws:

DiagException - If an error occures while calling this function.

basicSettingStop
public List<IDiagResultStatus> basicSettingStop(IConnectionHandle connectionHandle,
List<String> basicSettings)
 throws DiagException
Stops the basic setting diagnosis for:
the specified settings (UDS control units).
the setting specified in basicSettingInit (KWP control units)

Parameters:

connectionHandle - Handle for control unit connection

basicSettings -
UDS: The basic settings to stop.
KWP: No basic settings to specify.

Returns:

The status of the stop operation.

Throws:

DiagException - If an error occures while calling this function.

basicSettingNext
public List<IDiagResultStatus> basicSettingNext(IConnectionHandle connectionHandle)
 throws DiagException

Switches to the next configured basic setting. For UDS basic setting the function can only be executed if no
basic setting is running or if only one basic setting is running. It terminates the currently running basic
setting and selectes the next basic setting to start. The next basic setting is determined from the list of
basic setting defined with basicSettingInit. Calling basicSettingStart with an empty parameter list
starts the selected basic setting. For KWP the functions throws a DiagException.

Parameters:

connectionHandle - Handle for control unit connection

Returns:

The status of the operation and measurement values if set.

Throws:

DiagException - If an error occurs while calling this function or the function is called for a KWP
control unit.

basicSettingSwitch
public List<IDiagResultStatus> basicSettingSwitch(IConnectionHandle connectionHandle)
 throws DiagException

Switches the mode of operation for basic setting. The function is only available for KWP2000 control units.
A DiagException is thrown for KWP1281 and UDS control units. Two operation modes are availalble:
"Fahrzeugsystem in Grundeinstellung" or
"Fahrzeugsystem nicht in Grundeinstellung".

Parameters:

connectionHandle - Handle for control unit connection

Returns:

The status of the operation and measurement values if set.

Throws:

DiagException - If an error occurs while calling this function or the function is called for a
KWP1281 or an UDS control unit.

basicSettingWaitUntilNotRunning
public List<IDiagResultStatus> basicSettingWaitUntilNotRunning(IConnectionHandle connectionHan
dle,
 List<String> basicSettings,
 long timeout)
throws DiagException

Controls the process of reading status and measurands. An update is processed until the state is changed
to a non active one or if the set timeout has been expired.

Parameters:

connectionHandle - Handle for control unit connection

basicSettings -
UDS: The basic settings for which the measurement values will be read.
KWP: No basic settings to specify.

timeout - Time out in ms for stopping process.

Returns:

The status information.

Throws:

DiagException - If an error occurs while calling this function.

Not available for web service.

getShortNamesOfBasicSettings
public List<String> getShortNamesOfBasicSettings( IConnectionHandle connectionHandle)
throws DiagException
Returns the ODX short names of all available basic settings from the currently selected control unit. For a
KWP control unit this function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection

Returns:

The measurement values.

Throws:

DiagException - If an error occurs while calling this function or the function is called for a KWP
control unit.

getShortNamesOfStartParametersForBasicSettings
public List<String> getShortNamesOfStartParametersForBasicSettings( IConnectionHandle connecti
onHandle,
String basicSettingName)
throws DiagException

Returns the ODX short names of all available parameters from the specified basic setting. For a KWP
control unit this function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection

basicSettingName - The name of the basic setting.

Returns:

The parameters.

Throws:

DiagException - If an error occurs while calling this function or this function is called for a KWP
control unit.

getShortNamesOfMeasurementsForBasicSettings
public List<String> getShortNamesOfMeasurementsForBasicSettings(IConnectionHandle connectionHa
ndle)
 throws DiagException

Returns the ODX short names of all measurements for the basic setting. For a KWP control unit this
function throws an exception.
Parameters:

connectionHandle - Handle for control unit connection

Returns:

The measurements.

Throws:

DiagException - If an error occurs while calling this function or this function is called for a KWP
control unit.

immediateRoutineExecution
public IDiagResultStatus immediateRoutineExecution( IConnectionHandle connectionHandle,
String immediateRoutineName,
Map<String,String> immediateRoutineParameters)
throws DiagException

Starts the immediate routine with the provided parameters for the specified control unit.

Parameters:

connectionHandle - - Handle for control unit connection

immediateRoutineName - - The name of the immediate routine to be started.

Returns:

The status of the start operation.

Throws:

DiagException - If an error occurs while calling this function.

getShortNamesOfStartParametersForImmediateRoutine
public List<String> getShortNamesOfStartParametersForImmediateRoutine(IConnectionHandle connec
tionHandle,
String immediateRoutineName)
 throws DiagException

Returns the ODX short names of all available start parameters from the specified immediate routine.

Parameters:

connectionHandle - Handle for control unit connection

immediateRoutineName - The name of the immediate routine.


Returns:

The parameters.

Throws:

DiagException - If an error occurs while calling this function.

getShortNamesOfImmediateRoutines
public List<String> getShortNamesOfImmediateRoutines( IConnectionHandle connectionHandle)
throws DiagException

Returns the ODX short names of all available immediate routines from the currently selected control unit.
For a KWP control unit this function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection

Returns:

The immediate routine short names.

Throws:

DiagException - If an error occurs while calling this function or the function is called for a KWP
control unit.

dataSetDownload
public IDiagResultDatasetDownload dataSetDownload(IConnectionHandle connectionHandle,
String xmlFilePath)
 throws DiagException

Writing of a data set with XML content or zip-archive into the current control unit.

Parameters:

connectionHandle - Handle for control unit connection.

xmlFilePath - Absolute path to the xml file or zip-archive.

Returns:

The result of the container verification and the data set download.
Potential Error-IDs:
- ODS3001E: No data set file found
- ODS3006E: Wrong data set file format
- ODS3014E: Unpacking error occurred
- ODS3015E: No control file available
- ODS3021E: Missing flash container (odx/frf)
- ODS3022E: Flash container cannot be loaded
- ODS6922E: Negative consistency check
- ODS6923E: Control file doesn't contain the current ecu address
- ODS6999E: Negative execution of data set download job

Throws:

DiagException - If an error occurs while processing the request.

createSoftwareCompositionComponentListEntry
public IDiagSoftwareCompositionComponentListEntry createSoftwareCompositionComponentListEntry(
String listNumber,
int listPosition,
long nodeId,
boolean isCoded)
 throws DiagException

Creates a software composition component list entry for writing the software composition component list.

Parameters:

listNumber - The list number of the entry.

listPosition - The list position.

nodeId - The node id.

isCoded - Flag to indicate if the entry is coded.

Returns:

The component list entry.

Throws:

DiagException - If an error occurs while calling this function.

Not available for web service.

createSoftwareCompositionComponentListEntry
public IDiagSoftwareCompositionComponentListEntry createSoftwareCompositionComponentListEntry(
String listNumber,
boolean isCoded)
 throws DiagException

Creates a software composition component list entry for writing the software composition component list.

Parameters:

listNumber - The list number of the entry.


isCoded - Flag to indicate if the entry is coded.

Returns:

The component list entry.

Throws:

DiagException - If an error occurs while calling this function.

Not available for web service.

createComponentListEntry
public IDiagComponentListEntry createComponentListEntry(int ecuId,
int listPosition,
long nodeId,
boolean isCoded)
 throws DiagException

Creates an component list entry for writing the gateway component list.

Parameters:

ecuId - The ecu address of the entry.

listPosition - The list position of the antry.

nodeId - The node address of the entry.

isCoded - Flag to indicate if the entry is coded.

Returns:

The component list entry.

Throws:

DiagException - If an error occurs while calling this function.

Not available for web service.

createComponentListEntry
public IDiagComponentListEntry createComponentListEntry(int ecuId,
boolean isCoded)
 throws DiagException

Creates an component list entry for writing the gateway component list.
Parameters:

ecuId - The ecu address of the entry.

isCoded - Flag to indicate if the entry is coded.

Returns:

The component list entry.

Throws:

DiagException - If an error occurs while calling this function.

Not available for web service.

readGatewayComponentList
public IDiagResultComponentList readGatewayComponentList( IConnectionHandle connectionHandle)
throws DiagException

Reads the gateway component list of the currently selected control unit. If the current control unit has no
component list the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The gateway component list.

Throws:

DiagException - If an error occurs while calling this function.

readSubsystemComponentList
public IDiagResultComponentList readSubsystemComponentList( IConnectionHandle connectionHandle
)
throws DiagException

Reads the subsystem component list of the currently selected control unit. If the current control unit has no
subsystem component list the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The subsystem component list.


Throws:

DiagException - If an error occurs while calling this function.

writeSubsystemComponentListFromPresentState
public IDiagResult writeSubsystemComponentListFromPresentState( IConnectionHandle connectionHa
ndle)
throws DiagException

Writes the subsystem component list to the currently selected control unit. The coding state for the list
entries are set to the read present state values. If the current control unit has no component list or is not an
UDS control unit the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

General response.

Throws:

DiagException - If an error occurs while calling this function or the function is called for a
KWPcontrol unit.

writeSubsystemComponentList
public IDiagResult writeSubsystemComponentList( IConnectionHandle connectionHandle,
List<IDiagComponentListEntry> componentList)
throws DiagException

Writes the specified subsystem components to the currently selected control unit. If the current control unit
has no subsystem component list the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

componentList - The subsystem components.

Returns:

General response.

Throws:

DiagException - If an error occurs while calling this function.


updateSubsystemComponentList
public IDiagResultComponentList updateSubsystemComponentList( IConnectionHandle connectionHand
le)
throws DiagException

Updates the subsystem component list of the currently selected control unit (only for macro api).

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The updated subsystem component list.

Throws:

DiagException - If an error occurs while calling this function.

Not available for web service.

readSoftwareCompositionComponentList
public IDiagResultSoftwareCompositionComponentList readSoftwareCompositionComponentList(IConne
ctionHandle connectionHandle)
 throws DiagException

Reads the software composition component list of the currently selected control unit. If the current control
unit has no software composition component list the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The software composition component list.

Throws:

DiagException - If an error occurs while calling this function.

createSoftwareCompositionComponentCodingDescriptor
public IDiagMultiSoftwareCompositionComponentCodingDescriptor createSoftwareCompositionCompone
ntCodingDescriptor( IMultilinkEcuHandle controlUnit,
List<IDiagSoftwareCompositionComponentListEntry> compositionComponents)
throws DiagException
Description copied from interface: ISoftwareCompositionComponentListInterface

Creates an coding descriptor to code software composition components with multilink.

Parameters:

controlUnit - - the control unit to gets its components coded

compositionComponents - - the composition component entries

Returns:

the created constructor.

Throws:

DiagException - If an error occurs while calling this function.

writeMultilinkSoftwareCompositionComponentList
public List<IDiagResultMulti> writeMultilinkSoftwareCompositionComponentList( List<IDiagMultiS
oftwareCompositionComponentCodingDescriptor> codingDescriptors)
throws DiagException

Description copied from interface: ISoftwareCompositionComponentListInterface

Writes the specified software composition components to the corresponding control unit with multilink.

Parameters:

codingDescriptors - composition component coding descriptors

Returns:

General response.

Throws:

DiagException - If an error occurs while calling this function.

readMultilinkSoftwareCompositionComponentList
public List<IDiagResultSoftwareCompositionComponentList> readMultilinkSoftwareCompositionCompo
nentList( List<IMultilinkEcuHandle> ecuList)
throws DiagException

Description copied from interface: ISoftwareCompositionComponentListInterface

Reads the software composition component list for all specified control units.
Parameters:

ecuList - - handles of all control units to be read

Returns:

The software composition component lists for all specified control units.

Throws:

DiagException - If an error occurs while calling this function.

writeSoftwareCompositionComponentListFromPresentState
public IDiagResult writeSoftwareCompositionComponentListFromPresentState( IConnectionHandle co
nnectionHandle)
throws DiagException

Writes the software composition component list to the currently selected control unit. The coding state for
the list entries are set to the read present state values. If the current control unit has no software
composition component list or is not an UDS control unit the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

General response.

Throws:

DiagException - If an error occurs while calling this function or the function is called for a
KWPcontrol unit.

writeSoftwareCompositionComponentList
public IDiagResult writeSoftwareCompositionComponentList( IConnectionHandle connectionHandle,
List<IDiagSoftwareCompositionComponentListEntry> componentList)
throws DiagException

Writes the specified software composition components to the currently selected control unit. If the current
control unit has no software composition component list the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

componentList - The software composition components.


Returns:

General response.

Throws:

DiagException - If an error occurs while calling this function.

updateSoftwareCompositionComponentList
public IDiagResultSoftwareCompositionComponentList updateSoftwareCompositionComponentList(ICon
nectionHandle connectionHandle)
 throws DiagException

Updates the software composition list of the currently selected control unit (only for macro api).

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

The updated software composition component list.

Throws:

DiagException - If an error occurs while calling this function.

Not available for web service.

writeComponentListFromPresentState
public IDiagResult writeComponentListFromPresentState(IConnectionHandle connectionHandle)
 throws DiagException

Writes the specified gateway component list to the currently selected control unit. The coding state for the
list entries are set to the present state values. If the current control unit has no component list or is not an
UDS control unit the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

Returns:

General response.

Throws:

DiagException - If an error occurs while calling this function or the function is called for a
KWPcontrol unit.
writeGatewayComponentList
public IDiagResult writeGatewayComponentList( IConnectionHandle connectionHandle,
List<IDiagComponentListEntry> componentList)
throws DiagException

Writes the specified gateway components to the currently selected control unit. If the current control unit
has no component list the function throws an exception.

Parameters:

connectionHandle - Handle for control unit connection.

componentList - The gateway components.

Returns:

General response.

Throws:

DiagException - If an error occurs while calling this function.

writeGatewayComponentListBinary
public IDiagResult writeGatewayComponentListBinary( IConnectionHandle connectionHandle,
byte[] componentListBinary)
throws DiagException

Writes the gateway components for KWP binary. Throws an Exception if called for UDS.

Parameters:

connectionHandle - Handle for control unit connection.

componentListBinary - Component list as binary array.

Returns:

General response.

Throws:

DiagException - If an error occurs while calling this function or the function is called for an UDS
control unit.
createProtocolVDSBZD
public String createProtocolVDSBZD( String vin,
String vehicleNumber,
boolean readEventMemory,
String userName,
String measuringLocation,
String measuringType,
Long mileage,
ITotalSystemsInterface.MileageUnit mileageUnit,
List<String> adaptationPresets,
List<String> measurementPresets,
List<String> identificationPresets,
List<String> additionalPresets)
throws DiagException

Creates VDS/BZD protocol. Closes all connections after running.

Parameters:

vin - VIN maybe null, than current vin is used

vehicleNumber - Vehicle number.

readEventMemory - Read event memory before creating protocol

userName - User name used for login. Maybe null, than user name of looged in user of computer is
used.

mileage - Optional (null allowed)

mileageUnit - Optional (null allowed)

adaptationPresets - Optional (null allowed)

measurementPresets - Optional (null allowed)

identificationPresets - Optional (null allowed)

additionalPresets - Optional (null allowed)

Returns:

Name / id of the generated protocol

Throws:

DiagException - If creation fails


createProtocolVDSBZD
public String createProtocolVDSBZD(String vin,
 String vehicleNumber,
 boolean readEventMemory,
 String userName,
 String measuringLocation,
 String measuringType,
 Long mileage,
 ITotalSystemsInterface.MileageUnit mileageUnit,
 List<String> adaptationPresets,
 List<String> measurementPresets,
 List<String> identificationPresets,
 List<String> additionalPresets,
 Boolean useGatewayComponentList)
throws DiagException

Creates VDS/BZD protocol. Closes all connections after running.

Parameters:

vin - VIN maybe null, than current vin is used

vehicleNumber - Vehicle number.

readEventMemory - Read event memory before creating protocol

userName - User name used for login. Maybe null, than user name of looged in user of computer is
used.

mileage - Optional (null allowed)

mileageUnit - Optional (null allowed)

adaptationPresets - Optional (null allowed)

measurementPresets - Optional (null allowed)

identificationPresets - Optional (null allowed)

additionalPresets - Optional (null allowed)

useGatewayComponentList - Optional, used to define if gateway component list or the complete


component list must be used. (null allowed, to use administration settings)

Returns:

Name / id of the generated protocol

Throws:

DiagException - If creation fails


getAvailableProtocols
public List<String> getAvailableProtocols()
 throws DiagException

Gets a list of generated protocols.

Returns:

List of names / ids of generated protocols

Throws:

DiagException - If retrieving list fails

getAvailableAdaptationPresets
public List<String> getAvailableAdaptationPresets()
 throws DiagException

Gets the list of available adaptation presets.

Returns:

List of available adaptation presets

Throws:

DiagException - If retrieving list fails

getAvailableMeasurementPresets
public List<String> getAvailableMeasurementPresets()
throws DiagException

Gets the list of available measurement presets.

Returns:

List of available measurement presets

Throws:

DiagException - If retrieving list fails


getAvailableIdentificationPresets
public List<String> getAvailableIdentificationPresets()
 throws DiagException

Gets the list of available identification presets.

Returns:

List of available identification presets

Throws:

DiagException - If retrieving list fails

getAvailableAdditionalPresets
public List<String> getAvailableAdditionalPresets()
 throws DiagException

Gets the list of available addtional presets.

Returns:

List of available addtional presets

Throws:

DiagException - If retrieving list fails

loginService42
public void loginService42( String user,
String password)
throws DiagException

Login to the Volkswagen-Integration-Infrastructure (DMS-BB) via diagnostic session service.

Parameters:

user - User to connect to the Volkswagen-Integration-Infrastructure

password - Password for connection

Throws:

DiagException - If login fails


logoutService42
public void logoutService42()
 throws DiagException

Logout from the Volkswagen-Integration-Infrastructure (DMS-BB) via diagnostic session service.

Throws:

DiagException - If logout fails

readAvailableCarportBrands
public List<String> readAvailableCarportBrands()
throws DiagException

Read teh available brands that may be used when sending protocols to carport (see
ITotalSystemsInterface.sendProtocolsToCarport(List, String, String)).

Returns:

the available brands.

Throws:

DiagException - If Brands can not be determined.

sendProtocolsToCarport
public IDiagResultProtocolTransfer sendProtocolsToCarport(List<String> protocolNames,
String taskCode,
String brand)
 throws DiagException

Sends protocols to carport system.

Parameters:

protocolNames - Identifier of protocol to send. See


TotalSystemsInterfaceImpl.getAvailableProtocols( de.volkswagen.odis.vaudas.vehicl
efunction.automation.TotalSystemsInterfaceImpl.ProtocolType) and
TotalSystemsInterfaceImpl.createProtocolVDSBZD(String, String, boolean, String,
String, String, Long, MileageUnit, List, List List).

taskCode - Action code only used of not yet set in protocol. Maybe null.

brand - the brand of the protocol. Maybe null for automatic brand selection.

Returns:

Result object of protocol transfer


Throws:

DiagException - If sending fails

sendProtocolsToFileServer
public IDiagResultProtocolTransfer sendProtocolsToFileServer( List<String> protocolNames,
String destinationPath)
throws DiagException

Sends protocols to the specified file server.

Parameters:

protocolNames - - Identifiers of protocols to send.

destinationPath - - The fully qualified path to a target directory;

Returns:

Result object of protocol transfer.

Throws:

DiagException - If errors occur while sending.

sendProtocolsToVDS
public IDiagResultProtocolTransfer sendProtocolsToVDS(List<String> protocolNames)
 throws DiagException

Sends protocols to the VDS system.

Parameters:

protocolNames - - Identifiers of protocols to send.

Returns:

Result object of protocol transfer.

Throws:

DiagException - If errors occur while sending.


sendProtocolsToAVx
public IDiagResultProtocolTransfer sendProtocolsToAVx(List<String> protocolNames)
 throws DiagException

Sends protocols to the AVx system.

Parameters:

protocolNames - - Identifiers of protocols to send.

Returns:

Result object of protocol transfer.

Throws:

DiagException - If errors occur while sending.

setCommParameter
public void setCommParameter( String logicalLink,
String name,
String value)
throws DiagException

Sets the specified communication parameter for the specified logical link. Communication parameters can
be set after a project has been opened. The configuration will be concidered when opening the logical link.
Closing the logical link or connecting to another ecu/logical link will not effect the configuration. The
configuration will be set to its default when opening a project or calling resetCommParameter.

Parameters:

logicalLink - The link for which the parameters can be set.

name - The parameter to set.

value - The value to set.

Throws:

DiagException - If an error occurs while writting the parameter.

setCommParameters
public void setCommParameters(String logicalLink,
Map<String,String> commParams)
 throws DiagException
Sets the specified communication parameters for the specified logical link. Communication parameters can
be set after a project has been opened. The configuration will be concidered when opening the logical link.
Closing the logical link or connecting to another ecu/logical link will not effect the configuration. The
configuration will be set to its default when opening a project or calling resetCommParameter.

Parameters:

logicalLink - The link for which the parameters can be set.

Throws:

DiagException - If an error occurs while writting the parameter.

getCommParam
public IDiagResultCommParam getCommParam( IConnectionHandle connectionHandle,
String name)
throws DiagException

Gets the current communication parameter of an opened logical link. The communication parameter can be
get after the logical link has been opened.

Parameters:

connectionHandle - The connection handle of the opened link for which the parameter can be get.

name - The parameter to get.

Returns:

The communication parameter.

Throws:

DiagException - If an error occurs while reading the parameter.

getCommParams
public List<IDiagResultCommParam> getCommParams(IConnectionHandle connectionHandle)
 throws DiagException

Gets the current communication parameters of an opened logical link. The communication parameter can
be get after the logical link has been opened. If the logical link is not open, then an empty list is returned.

Parameters:

connectionHandle - The connection handle of the opened link for which the parameters can be
get.
Returns:

The list of the communication parameters.

Throws:

DiagException - If an error occurs while reading the parameters.

getCommParamGroup
public List<IDiagResultCommParam> getCommParamGroup(IConnectionHandle connectionHandle,
List<String> paramNames)
 throws DiagException

Gets the current communication parameters of an opened logical link. The communication parameters can
be get after the logical link has been opened.

Parameters:

connectionHandle - The connection handle of the opened link for which the parameters can be
get.

paramNames - The parameters to get.

Returns:

The communication parameters, may be empty if no matching parameter exists.

Throws:

DiagException - If an error occurs while reading the parameters.

getCommParamDefault
public IDiagResultCommParam getCommParamDefault(String logicalLink,
String name)
 throws DiagException

Gets the default value of the specified communication parameter and logical link from the odx database.
The default communication parameter can be get after a project has been opened.

Parameters:

logicalLink - The link for which the parameters can be get.

name - The parameter to get.

Returns:

The communication parameter.


Throws:

DiagException - If an error occurs while reading the parameter.

getCommParamsDefault
public List<IDiagResultCommParam> getCommParamsDefault( String logicalLink)
throws DiagException

Gets the default values of all communication parameters for the specified logical link from the odx
database. The default communication parameters can be get after a project has been opened.

Parameters:

logicalLink - The link for which the parameters can be get.

Returns:

The list of the default communication parameters.

Throws:

DiagException - If an error occurs while reading the parameters.

getCommParamGroupDefault
public List<IDiagResultCommParam> getCommParamGroupDefault( String logicalLink,
List<String> paramNames)
throws DiagException

Gets the default value of the specified communication parameters and logical link from the odx database.
The default communication parameters can be get after a project has been opened.

Parameters:

logicalLink - The link for which the parameters can be get.

paramNames - The parameters to get.

Returns:

The communication parameters, may be empty if no matching parameter exists.

Throws:

DiagException - If an error occurs while reading the parameter.


getCommParamConfig
public IDiagResultCommParam getCommParamConfig( String logicalLink,
String name)
throws DiagException

Gets the modified value of the specified communication parameter and logical link. The default
communication parameter can be get after a project has been opened.

Parameters:

logicalLink - The link for which the parameters can be get.

name - The parameter to get.

Returns:

The communication parameter.

Throws:

DiagException - If an error occurs while reading the parameter.

getCommParamsConfig
public List<IDiagResultCommParam> getCommParamsConfig(String logicalLink)
 throws DiagException

Gets the modified communication parameters for the specified logical link. The modified communication
parameters can be get after a project has been opened.

Parameters:

logicalLink - The link for which the parameters can be get.

Returns:

The list of the modified communication parameters.

Throws:

DiagException - If an error occurs while reading the parameters.

getCommParamGroupConfig
public List<IDiagResultCommParam> getCommParamGroupConfig(String logicalLink,
List<String> paramNames)
 throws DiagException

Gets the modified value of the specified communication parameters and logical link. The default
communication parameter can be get after a project has been opened.
Parameters:

logicalLink - The link for which the parameters can be get.

paramNames - The parameters to get.

Returns:

The communication parameters, may be empty if no matching parameter exists.

Throws:

DiagException - If an error occurs while reading the parameter.

resetCommParameters
public void resetCommParameters(String logicalLink)
 throws DiagException

Resets all communication parameters of the specified logical link to its initial value. Like
setCommParameter changes will not take effect until reopening the logical link.

Parameters:

logicalLink - The link for the parameters to reset.

Throws:

DiagException - If an error occurs while setting the parameter.

resetCommParameter
public void resetCommParameter( String logicalLink,
String name)
throws DiagException

Resets the specified communication parameter to its initial value. Like setCommParameter changes will not
take effect until reopening the logical link.

Parameters:

logicalLink - The link for the parameter to reset.

name - Name of the parameter.

Throws:

DiagException - If an error occurs while reading the parameter.


resetAllCommParameters
public void resetAllCommParameters()
throws DiagException

Resets all communication parameters to their initial values. Like setCommParameter changes will not take
effect until reopening the logical link.

Throws:

DiagException - If an error occurs while resetting the parameters.

setBaudrate
public void setBaudrate(IConfigureCommParamInterface.Baudrate baudrate)
 throws DiagException

Set control unit independent baud rate.

Parameters:

baudrate - Desired baudrate for all control units

Throws:

DiagException - If an error occurs while setting baudrate.

getLockedConnections
public List<IConnectionHandle> getLockedConnections()
 throws DiagException

Returns currently locked connections.

Returns:

The locked connections.

Throws:

DiagException - If an error occurs while getting the lock state.

lockConnection
public void lockConnection( IConnectionHandle connectionHandle)
throws DiagException
Sets a lock for the specified connection. A lock guarantees that the connection stays open while operating
on other connections. Operation calls to other connections will throw an exception when no other
connection can be opened in parallel. If no lock is set the connection can be closed anytime, depending on
the configured number of parallel connections. To set a lock it is necassary to switch into
STAY_CONNECTED_BEHAVIOUR for the connection. A lock can be removed calling unlockConnection. Locks
will also be removed when calling one of the following
operations.closeConnection,setVehicleProject,and any operation working with multipe control units in
parallel such as readAllEventMemories, readMeasurements or createProtocolBZD

Parameters:

connectionHandle - Connection handle to set the lock for.

Throws:

DiagException - If an error occurs while setting the lock.

unlockConnection
public void unlockConnection( IConnectionHandle connectionHandle)
throws DiagException

Removes the lock for the specified connection.

Parameters:

connectionHandle - The connection handle to remove the lock for.

Throws:

DiagException - If an error occurs while removing the lock.

getDoIPVCIs
public List<IDoIPVCI> getDoIPVCIs()
 throws DiagException

Gets the current DoIP VCIs without refreshing.

Returns:

The result list of DoIP VCIs. If no VCI is available the list is empty.

Throws:

DiagException - If an error occures while getting the DoIP VCIs


searchDoIPVCIs
public List<IDoIPVCI> searchDoIPVCIs( String ipAddress)
throws DiagException

Searches DoIP VCIs. If parameter ipAddress is a null or empty string, the search is done with a broadcast.
Otherwise the search is done by IP address. If additional description information is available, than this is
added in IDoIPVCI.getName(). The call is only allowed in diagnostic state INIT.

Parameters:

ipAddress - The parameter has only to be set, if a search by IP should be done. Then a string in
format XXX.XXX.XXX.XXX is expected.

Returns:

The result list of DoIP VCIs. If no VCI is found the list is empty.

Throws:

DiagException - If an error occures while searching the DoIP VCIs

setCanFDVehicleProject
public void setCanFDVehicleProject( String projectName)
throws DiagException

Sets and loads the vehicle project for CAN-FD. Loading a project is a precondition for connecting to a
control unit.

Parameters:

projectName - The project name.

Throws:

DiagException - If an error occurs while setting the vehicle project.

setCanFDVehicleProjectAutomatic
public String setCanFDVehicleProjectAutomatic(IConnectionInterface.PROJECT_MODE projectMode)
 throws DiagException

Determines the project for the current vin automatically. If exactly one project is determined, it will be set
and loaded and the project name will be returned. If more than one project is determined a exception will
be thrown.

Parameters:

projectMode - The project mode to control the kind of project determination


Returns:

the project name

Throws:

DiagException - If the project is not unique or an error occurs while setting it.

setDoIPVehicleProject
public void setDoIPVehicleProject(IDoIPVCI doIPVCI,
String projectName)
 throws DiagException

Sets and loads the vehicle project for DoIP. ATTENTION: Before every call this function a call of
IVehicleSelectionInterface.searchDoIPVCIs(String) must be done, because closing a project
removes the dynamic VCI information. A call of IVehicleSelectionInterface.searchDoIPVCIs(String)
refreshes them. Loading a project is a precondition for connecting to a control unit.

Parameters:

doIPVCI - Identifier to select a DoIP VCI. Try to find a match with all attributes which are not null or
empty string.

projectName - The project name.

Throws:

DiagException - If an error occurs while setting the vehicle project. E.g. if no VCI or more than
one VCI was found for doIPVCI.

setDoIPVehicleProjectAutomatic
public String setDoIPVehicleProjectAutomatic( IDoIPVCI doIPVCI,
IConnectionInterface.PROJECT_MODE projectMode)
throws DiagException

Determines the project for the current vin automatically. If exactly on project is determined, it will be set and
loaded and the project name will be returned. If more than one project is determined a exception will be
thrown.

Parameters:

doIPVCI - Identifier to select a DoIP VCI. Try to find a match with all attributes which are not null or
empty string.

projectMode - The project mode to control the kind of project determination

Returns:

the project name


Throws:

DiagException - If the project is not unique or an error occurs while setting it.

setDoIPActivationLine
public void setDoIPActivationLine(boolean toSet)
 throws DiagException

Switch to set / unset DoIP activation line if a VCI is selected within the application which supports DoIP and
has a current activation line state unlike NOT_SUPPORTED.

Parameters:

toSet - TRUE /FALSE to switch ON / OFF

Throws:

DiagException - If an error occurs while set / unset the activation line.

unloadProject
public void unloadProject()
 throws DiagException

Unloads the vehicle project.

Throws:

DiagException - if vehicle project cannot be unloaded

getClamp15State
public String getClamp15State()
 throws DiagException

Returns the current clamp 15 (ignition) state.

Returns:

the clamp 15 state. Possible values are "on", "off", "not available".

Throws:

DiagException - if an error occurs while processing the request.


getClamp30State
public String getClamp30State()
 throws DiagException

Returns the current clamp 30 (battery) state.

Returns:

the clamp 30 state. Possible values are "on", "off", "not available".

Throws:

DiagException - if an error occurs while processing the request.

checkVciState
public String checkVciState()
 throws DiagException

Returns the current VCI state.

Returns:

the VCI state. Possible values are "connected", "not connected", "not available".

Throws:

DiagException - if an error occurs while processing the request.

enginGroupInit
public void enginGroupInit( String basicSettingName)
throws DiagException

Initializes the engine diagnosis with the specified settings. The initialization must be called to start the
engine group diagnosis.

Parameters:

basicSettingName - - The basic setting name (channel).

Throws:

DiagException - - If an error occurs while calling this function.


engineGroupSwitch
public List<IDiagResultStatus> engineGroupSwitch()
throws DiagException

Switches the mode of operation for engine group. Two operation modes are availalble:
"Fahrzeugsystem in Grundeinstellung" or
"Fahrzeugsystem nicht in Grundeinstellung".

Returns:

The status of the operation and measurement values if set.

Throws:

DiagException - - If an error occurs while calling this function.

engineGroupCheck
public List<IDiagResultStatus> engineGroupCheck()
 throws DiagException

Starts the engine group diagnosis check for


the setting specified in enginGroupInit.

Returns:

The state and measurement values if set.

Throws:

DiagException - - If an error occurs while calling this function.

engineGroupStart
public List<IDiagResultStatus> engineGroupStart()
 throws DiagException

Starts the engine group diagnosis for


the setting specified in enginGroupInit.

Returns:

The status of the start operation and the measurement values if set.

Throws:

DiagException - -If an error occurs while calling this function.


engineGroupStop
public List<IDiagResultStatus> engineGroupStop()
throws DiagException

Stops the engine group diagnosis for:


the setting specified in enginGroupInit.

Returns:

The status of the stop operation.

Throws:

DiagException - - If an error occurs while calling this function.

initProtocol
public void initProtocol()
throws DiagException

Inits protocol.

Throws:

DiagException - If an error occurs while calling this function.

startProtocol
public void startProtocol()
 throws DiagException

Starts protocol.

Throws:

DiagException - If an error occurs while calling this function.

stopProtocol
public void stopProtocol()
throws DiagException

Stops protocol.
Throws:

DiagException - If an error occurs while calling this function.

saveProtocol
public void saveProtocol()
throws DiagException

Saves protocol.

Throws:

DiagException - If an error occurs while calling this function.

discardProtocol
public void discardProtocol()
 throws DiagException

Discards protocol.

Throws:

DiagException - If an error occurs while calling this function.

executeMacro
public boolean executeMacro(String macroName)
 throws DiagException

Executes a macro.

Parameters:

macroName - The absolute path name of the macro.

Returns:

TODO

Throws:

DiagException - If an error occurs during macro ececution.


requestSecAccessASM
public int requestSecAccessASM( IConnectionHandle connectionHandle)
throws DiagException

Requests security access to the ecu for reading ASM data.

Parameters:

connectionHandle - the ecu connection

Returns:

0 for granted access, 0x7F otherwise

Throws:

DiagException - If an error occurs while processing request.

Not available for web service.


Package de.volkswagen.odis.vaudas.vehiclefunction.automation

Package for common issues of automation.

See:

Description

Package de.volkswagen.odis.vaudas.vehiclefunction.automation
Description
Package for common issues of automation.
Class DiagException
de.volkswagen.odis.vaudas.vehiclefunction.automation

java.lang.Object

java.lang.Throwable

java.lang.Exception

de.volkswagen.odis.vaudas.vehiclefunction.automation.DiagException

public class DiagException

extends Exception

This exception provides a base for all exceptions thrown by this plugin.

Method Summary
String
getErrorId() 1
3
2
String
getLocalizedMessage() 1
3
1
String
getLocalizedMsg() 1
3
1

Method Detail

getLocalizedMessage
public String getLocalizedMessage()

Overrides:

getLocalizedMessage in class Throwable

getLocalizedMsg
public String getLocalizedMsg()
Returns:

the localized message. Only necessary for web service use. Method getLocalizedMessage() could
not be used because override Exception method.

getErrorId
public String getErrorId()

Returns:

Language independent id of exception.


Enum IConfigurationInterface.TRACE_STATE
Enum Constant Summary
OFF
133
State OFF.
ON
133
State ON.
Enum IConfigureCommParamInterface.Baudrate
Enum Constant Summary
PROJECT
134
Use baudrate configured in project settings.
RATE_100KBIT
134
Use 100 kBit.
RATE_1MBIT
134
Use 1 MBit.
RATE_500KBIT
134
Use 500 kBit.
Interface ITotalSystemsInterface
de.volkswagen.odis.vaudas.vehiclefunction.automation

All Known Implementing Classes:


DiagnosticInterfaceImpl

public interface ITotalSystemsInterface

Interface for handling data creation and transfer of ecu state informaton.

Method Summary
List<String>
readAvailableCarportBrands() 1
3
Read teh available brands that may be used when sending protocols to
carport (see sendProtocolsToCarport(List, String, String)). 7
List<IDiagResultEventMemory>
readEventMemories(List<Integer> controlUnitList, List<String>
adaptationPresets, List<String> measurementPresets, List<String> 1
identificationPresets, List<String> additionalPresets) 3
6
Reads the event memory entries of the specified control unit list.
void
resetEventMemories(Boolean clearOBD, Boolean clearFunctional,
Boolean clearNotErasedECUsPhysical, Integer timeBeforePhysicalClear, 1
List<Integer> unitListForPhysicalDeletion)
3
Tries to delete the event memories in the vehicle by sending a sequence of 5
diagnostic services.

Method Detail

resetEventMemories
void resetEventMemories(Boolean clearOBD,
Boolean clearFunctional,
Boolean clearNotErasedECUsPhysical,
Integer timeBeforePhysicalClear,
List<Integer> unitListForPhysicalDeletion)
 throws DiagException

Tries to delete the event memories in the vehicle by sending a sequence of diagnostic services. First
optional sending the functional OBD-Service 0x04 followed by a TP2.0-broadcast and a functional UDS-
service 0x14. Finally all control units of the specified unit list are cleared physically, which KD-Bit is set in
the gateway component list. If the unit list is null or empty, then all units with a set KD-Bit are cleared. All
deletion steps can be deactivated by the function arguments.
Parameters:

clearOBD - Switch for obd deletion (OBD-Service 0x04 functional).

clearFunctional - Switch for functional deletion (TP2.0-broadcast and UDS-Service 0x14).

clearNotErasedECUsPhysical - Switch for physically deletion of all defined units, which KD-Bit is
set in the gateway component list.

timeBeforePhysicalClear - Waiting time in seconds between functional clear and reading of


fitment list for physical clear.

unitListForPhysicalDeletion - The unit list, which is be considered for the physical deletion. If
the list is empty or null, then all units of the gateway component list are considered.

Throws:

DiagException - If an error occurs while deleting the event memories.

readEventMemories
List<IDiagResultEventMemory> readEventMemories(List<Integer> controlUnitList,
 List<String> adaptationPresets,
 List<String> measurementPresets,
 List<String> identificationPresets,
 List<String> additionalPresets)
throws DiagException

Reads the event memory entries of the specified control unit list. If the unit list is null or empty, then all
available control units are read. In addition, measurements and adaptations can be defined for reading.

Parameters:

controlUnitList - the control unit list

adaptationPresets - the preset names for the additional adaptations

measurementPresets - the preset names for the additional measurements

identificationPresets - the preset names for the additional identifications

additionalPresets - the preset names for special measurements and adaptations

Returns:

the event memory entries of the read control units.

Throws:

DiagException - If reading fails


readAvailableCarportBrands
List<String> readAvailableCarportBrands()
 throws DiagException

Read teh available brands that may be used when sending protocols to carport (see
sendProtocolsToCarport(List, String, String)).

Returns:

the available brands.

Throws:

DiagException - If Brands can not be determined.


Enum ITotalSystemsInterface.MileageUnit
Enum Constant Summary
KM
138
Kilometres.
MILES
138
Miles.
Package
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

Return types and input types of automation interface functions.

See:

Description

Package
de.volkswagen.odis.vaudas.vehiclefunction.automation.types
Description
Return types and input types of automation interface functions.
Interface IConnectionHandle
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IConnectionHandle

Handle for all single ECU dependent calls.

Method Summary
Long
getHandle() 1
3
Return the handle for identifying a connection.
9

Method Detail

getHandle
Long getHandle()

Return the handle for identifying a connection.

Returns:

The connection handle.


Interface IDiagComponentListEntry
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagComponentListEntry

Input parameter object for settting the coding state of a control unit in the gateway component list. For writing the
coding state use the function writeGatewayComponentList.

Method Summary
int
getEcuId() 1
4
Return the diagnostic address of the entry.
0
int
getListPosition() 1
4
Returns the list position in the gateway component list of this entry.
1
long
getNodeId() 1
4
Returns the node address of this entry.
1
boolean
isCoded() 1
4
Checks if the state of this entry is coded.
2
boolean
isListPositionAvailable() 1
4
Is the value for list position available and can be used..
1
boolean
isNodeIdAvailable() 1
4
Is the value for node id available and can be used..
1
void
setCoded(boolean coded) 1
4
Sets the coded state for this entry.
2

Method Detail

getEcuId
int getEcuId()

Return the diagnostic address of the entry.

Returns:

The address of this entry.


getNodeId
long getNodeId()

Returns the node address of this entry.

Returns:

The node address.

isNodeIdAvailable
boolean isNodeIdAvailable()

Is the value for node id available and can be used..

Returns:

If the value for node is available and can be used.

getListPosition
int getListPosition()

Returns the list position in the gateway component list of this entry.

Returns:

The list position.

isListPositionAvailable
boolean isListPositionAvailable()

Is the value for list position available and can be used..

Returns:

If the value for list position is available and can be used.


isCoded
boolean isCoded()

Checks if the state of this entry is coded.

Returns:

True if the entry is coded otherwise false.

setCoded
void setCoded(boolean coded)

Sets the coded state for this entry.

Parameters:

coded - The coded state to set.


Interface IDiagDescriptor2WithParametersAndMeasurements
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagDescriptor2WithParametersAndMeasurements

Interface for gathering the information for an actuator or setting.

Method Summary
List<IDiagMeasurementDescriptor>
getMeasurements() 1
4
Returns the list of configured measurements.
4
Map<String,String>
getParameters() 1
4
Returns the parameter list.
3
String
getShortName() 1
4
Returns the short name of the descriptor.
3

Method Detail

getShortName
String getShortName()

Returns the short name of the descriptor.

Returns:

The short name

getParameters
Map<String,String> getParameters()

Returns the parameter list.

Returns:

The parameter list.


getMeasurements
List<IDiagMeasurementDescriptor> getMeasurements()

Returns the list of configured measurements.

Returns:

The list of configured measurements.


Interface IDiagDescriptorWithParametersAndMeasurements
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagDescriptorWithParametersAndMeasurements

Interface for gathering the information for an actuator.

Method Summary
List<String>
getMeasurements() 1
4
Returns the list of configured measurements.
6
Map<String,String
>
getParameters() 1
4
Returns the parameter list.
5
String
getShortName() 1
4
Returns the short name of the descriptor.
5

Method Detail

getShortName
String getShortName()

Returns the short name of the descriptor.

Returns:

The short name

getParameters
Map<String,String> getParameters()

Returns the parameter list.

Returns:

The parameter list.


getMeasurements
List<String> getMeasurements()

Returns the list of configured measurements.

Returns:

The list of configured measurements.


Interface IDiagFlashSessionDescriptor
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagFlashSessionDescriptor

Interface for gathering the information for a flash session.

Method Summary
IConnectionHandle
getConnectionHandle() 1
4
Delivers the handle to identify connection.
7
String
getContainerPath() 1
4
Delivers the flash container file path of this descriptor.
7
String
getSessionName() 1
4
Delivers the session name of this descriptor.
8
Boolean
isCheckSessionWithEcu() 1
4
State of switch if check is activated for UDS on expected idents and for KWP on part
number and software version. 8

Method Detail

getConnectionHandle
IConnectionHandle getConnectionHandle()

Delivers the handle to identify connection.

Returns:

the handle to identify connection.

getContainerPath
String getContainerPath()

Delivers the flash container file path of this descriptor.

Returns:

The flash container file path.


getSessionName
String getSessionName()

Delivers the session name of this descriptor.

Returns:

The session name.

isCheckSessionWithEcu
Boolean isCheckSessionWithEcu()

State of switch if check is activated for UDS on expected idents and for KWP on part number and software
version.

Returns:

Value of switch for check.


Interface IDiagMeasurementDescriptor
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagMeasurementDescriptor

Interface for gathering the information for a measurement.

Method Summary
long
getEcuAddress() 1
4
Retrieves the address of this descriptor's control unit.
9
String
getGroup() 1
4
Retrieves this despriptor's measurement group.
9
String
getParameter() 1
5
Retrieves this despriptor's measurement parameter.
0

Method Detail

getEcuAddress
long getEcuAddress()

Retrieves the address of this descriptor's control unit.

Returns:

The address.

getGroup
String getGroup()

Retrieves this despriptor's measurement group.


For UDS this ist the ODX short name of the measurement group,
for KWP this is the block number, given as string: e.g. "12".

Returns:

The measurement group.


getParameter
String getParameter()

Retrieves this despriptor's measurement parameter.


For UDS this is the ODX short name of the measurement value,
for KWP this is the position number, given as string: .i.e. oneof "1" to "4".

Returns:

The measurement parameter.


Interface IDiagMultiAdaptionDescriptor
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagMultiAdaptionDescriptor

Interface to describe a adaptation.

Method Summary
String
getAdaption() 1
5
Retrieves this despriptor's adaption name.
1
IMultilinkEcuHandl
e
getMultilinkEcuHandle() 1
5
Retrieves the handle of this descriptor's control unit.
1

Method Detail

getMultilinkEcuHandle
IMultilinkEcuHandle getMultilinkEcuHandle()

Retrieves the handle of this descriptor's control unit.

Returns:

The address.

getAdaption
String getAdaption()

Retrieves this despriptor's adaption name.

Returns:

The name of the adaption(-channel).


Interface IDiagMultiAdaptionValueDescriptor
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagMultiAdaptionValueDescriptor

Interface to describe a adaptation value for writing.

Method Summary
Map<String,String>
getAdaptationValues() 1
5
Retrieves the adaptation values which shall be written.
2
IDiagMultiAdaptionDescriptor
getAdaptionDescriptor() 1
5
Retrieves the descriptor for the adaptation.
2

Method Detail

getAdaptionDescriptor
IDiagMultiAdaptionDescriptor getAdaptionDescriptor()

Retrieves the descriptor for the adaptation.

Returns:

The descriptor for the adaptation.

getAdaptationValues
Map<String,String> getAdaptationValues()

Retrieves the adaptation values which shall be written.

Returns:

the adaptation values which shall be written.


Interface IDiagMultiCodingValueDescriptor
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagMultiCodingValueDescriptor

Interface for gathering the information for a coding.

Method Summary
String
getByteCoding() 1
5
Return the coding value as byte coding value.
4
IDiagResultValue.ValueType
getByteCodingValueType() 1
5
Returns the value type of the byte coding.
5
IMultilinkEcuHandle
getMultilinkEcuHandle() 1
5
Retrieves the handle of this descriptor's control unit.
3
String
getSystemName() 1
5
Returns the system name of the control unit.
4
Map<String,String>
getTextCoding() 1
5
Returns a plain text representation of the coding value.
4
Boolean
isEcuReset() 1
5
Checks the execution of a ecu reset after coding process.
4

Method Detail

getMultilinkEcuHandle
IMultilinkEcuHandle getMultilinkEcuHandle()

Retrieves the handle of this descriptor's control unit.

Returns:

The address.
isEcuReset
Boolean isEcuReset()

Checks the execution of a ecu reset after coding process.

Returns:

true if the reset should be performed after coding.

getSystemName
String getSystemName()

Returns the system name of the control unit. For a master control unit the name master will be returned.
For uds slaves the short name of the subsystem will be returned and for kwp slaves the index of the
subsystem will returned with prefix subSys starting with index 0 like subSys0.

Returns:

The (sub)system name.

getTextCoding
Map<String,String> getTextCoding()

Returns a plain text representation of the coding value. The function is only defined for uds control units.
For kwp control units an empty dictionary returns. One entry of the result contains a pair of values. Each
entry of the key-value-pairs contains the shortname of the coding entry and the new coding value.

Returns:

The plain text representation of the coding value.

getByteCoding
String getByteCoding()

Return the coding value as byte coding value. Is valid for kwp and uds control units.

Returns:

The byte representation of the coding value.


getByteCodingValueType
IDiagResultValue.ValueType getByteCodingValueType()

Returns the value type of the byte coding. Can be ValueType.INT for a KWP short coding value or
ValueType.BYTEFIELD for a KWP long coding and UDS coding value.

Returns:

Value type of the byte coding.


Interface IDiagMultiMeasurementDescriptor
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagMultiMeasurementDescriptor

Interface for gathering the information for a measurement.

Method Summary
String
getGroup() 1
5
Retrieves this despriptor's measurement group.
6
IMultilinkEcuHandl
e
getMultilinkEcuHandle() 1
5
Retrieves the handle of this descriptor's control unit.
6
String
getParameter() 1
5
Retrieves this despriptor's measurement parameter.
7

Method Detail

getMultilinkEcuHandle
IMultilinkEcuHandle getMultilinkEcuHandle()

Retrieves the handle of this descriptor's control unit.

Returns:

The address.

getGroup
String getGroup()

Retrieves this despriptor's measurement group.


For UDS this ist the ODX short name of the measurement group,
for KWP this is the block number, given as string: e.g. "12".

Returns:

The measurement group.


getParameter
String getParameter()

Retrieves this despriptor's measurement parameter.


For UDS this is the ODX short name of the measurement value,
for KWP this is the position number, given as string: .i.e. oneof "1" to "4".

Returns:

The measurement parameter.


Interface
IDiagMultiSoftwareCompositionComponentCodingDescriptor
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagMultiSoftwareCompositionComponentCodingDescriptor

Interface for gathering the information to code software composition components.

Method Summary
List<IDiagSoftwareCompositionComponentListEntry>
getCodingList() 1
5
Retrieves the composition components that should be
coded. 8
IMultilinkEcuHandle
getMultilinkEcuHandle() 1
5
Retrieves the handle of this descriptor's control unit.
8

Method Detail

getMultilinkEcuHandle
IMultilinkEcuHandle getMultilinkEcuHandle()

Retrieves the handle of this descriptor's control unit.

Returns:

The address.

getCodingList
List<IDiagSoftwareCompositionComponentListEntry> getCodingList()

Retrieves the composition components that should be coded.

Returns:

The composition components


Interface IDiagResult
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Known Subinterfaces:


IDiagResultAdaptation, IDiagResultCoding, IDiagResultDatasetDownload, IDiagResultDtcSnapshot,
IDiagResultDtcSnapshotList, IDiagResultEventMemory, IDiagResultFlashProgramming,
IDiagResultFlashSession, IDiagResultMeasurement, IDiagResultMemoryCells, IDiagResultMulti,
IDiagResultSFD, IDiagResultSFDStatus, IDiagResultSpecialCoding, IDiagResultStatus, IDiagResultTable

public interface IDiagResult

Standard result object to handel negative responses from an ecu. *

Method Summary
IDiagResultNegativeResponse
getNegativeResult() 1
5
9
void
setNegativeResult(IDiagResultNegativeResponse 1
negativeResult)
5
Sets the negative response object.. 9

Method Detail

getNegativeResult
IDiagResultNegativeResponse getNegativeResult()

Returns:

The negative response result value.

setNegativeResult
void setNegativeResult(IDiagResultNegativeResponse negativeResult)

Sets the negative response object..

Parameters:

negativeResult - The response object to set.


Interface IDiagResultAdaptation
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult, IDiagResultTable

public interface IDiagResultAdaptation

extends IDiagResultTable, IDiagResult

Interface for handling the results of reading adaptation values.

Method Summary
List<IDiagResultAdaptationValue>
getAdaptationValues() 1
6
1
long
getEcuAddress() 1
6
Retrieves the address of the control unit for which this result holds the
values. 0
String
getErrorMessage() 1
Returns a message of the error occured while reading the adaptation
6
using readMultilinkAdaptation. 1
String
getLogicalLinkname() 1
6
Retrieves the logical linkname of the control unit for which this result holds
the values. 1
String
getRecordDataIdentifier() 1
6
Returns the record data identifier of the executed service.
1

Method Detail

getEcuAddress
long getEcuAddress()

Retrieves the address of the control unit for which this result holds the values.
Returns:

The address.

getLogicalLinkname
String getLogicalLinkname()

Retrieves the logical linkname of the control unit for which this result holds the values.

Returns:

The address.

getErrorMessage
String getErrorMessage()

Returns a message of the error occured while reading the adaptation using readMultilinkAdaptation. If
no error occured the function returns an emtpy string.

Returns:

The error message or an empty string.

getRecordDataIdentifier
String getRecordDataIdentifier()

Returns the record data identifier of the executed service. Returns an empty string if no record data
identifier is available.

Returns:

the record data identifier.

getAdaptationValues
List<IDiagResultAdaptationValue> getAdaptationValues()
Returns:

Adaptation values.
Interface IDiagResultAdaptationValue
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultAdaptationValue

Interface for handeling the results of reading adaptation values.

Method Summary
IDiagResultValue
getAdaptationValue() 1
6
Returns the read adaption value.
3
List<IDiagResultValue>
getMeasuredValues() 1
6
Returns the list of measured values returned from the control unit while reading the
adaptation value. 3
String
getRecordDataIdentifier() 1
6
Returns the record data identifier of the executed service.
4

Method Detail

getAdaptationValue
IDiagResultValue getAdaptationValue()

Returns the read adaption value.

Returns:

The adaptation value.

getMeasuredValues
List<IDiagResultValue> getMeasuredValues()

Returns the list of measured values returned from the control unit while reading the adaptation value.

Returns:

The list of measured values


getRecordDataIdentifier
String getRecordDataIdentifier()

Returns the record data identifier of the executed service. Returns an empty string if no record data
identifier is available.

Returns:

the record data identifier.


Interface IDiagResultCoding
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult

public interface IDiagResultCoding

extends IDiagResult

Represents the coding value read from a control unit. Contains the (sub)system name of the control unit, the coding
value as byte array and a plain text representation.

Method Summary
String
getByteCoding() 1
6
Return the coding value as byte coding value.
6
IDiagResultValue.ValueType
getByteCodingValueType() 1
6
Returns the value type of the byte coding.
7
long
getEcuAddress() 1
6
Returns the address of the control unit.
6
String
getErrorMessage() 1
Returns the message of the error occured while reading the coding values using
6
readMultilinkCoding. 7
String
getLogicalLinkname() 1
6
Returns the logical linkname of the control unit.
6
String
getSystemName() 1
6
The system name of the control unit.
6
Map<String,String>
getTextCoding() 1
6
Returns a plain text representation of the coding value.
7
Method Detail

getEcuAddress
long getEcuAddress()

Returns the address of the control unit.

Returns:

The address.

getLogicalLinkname
String getLogicalLinkname()

Returns the logical linkname of the control unit.

Returns:

The address.

getSystemName
String getSystemName()

The system name of the control unit. For a master control unit the name master will be returned. For uds
slaves the short name of the subsystem will be returned and for kwp slaves the index of the subsystem will
returned with prefix subSys starting with index 0 like subSys0.

Returns:

The (sub)system name.

getByteCoding
String getByteCoding()

Return the coding value as byte coding value. Is valid for kwp and uds control units.

Returns:

The byte representation of the coding value.


getErrorMessage
String getErrorMessage()

Returns the message of the error occured while reading the coding values using readMultilinkCoding. If
no error occured the function returns an emtpy string.

Returns:

The error message or an empty string.

getByteCodingValueType
IDiagResultValue.ValueType getByteCodingValueType()

Returns the value type of the byte coding. Can be ValueType.INT for a KWP short coding value or
ValueType.BYTEARRAY for a KWP long coding and UDS coding value.

Returns:

Value type of the byte coding.

getTextCoding
Map<String,String> getTextCoding()

Returns a plain text representation of the coding value. The function is only defined for uds control units.
For kwp control units an empty dictionary returns. One entry of the result contains a pair of values. The first
value is the shortname of the coding entry, the second is the coding value.

Returns:

The plain text representation of the coding value.


Interface IDiagResultCommParam
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultCommParam

Represents the result of a communication parameter.

Method Summary
String
getParamName() 1
6
Delivers the name of the communication parameter.
8
String
getParamValue() 1
6
Delivers the value of the communication parameter.
8

Method Detail

getParamValue
String getParamValue()

Delivers the value of the communication parameter.

Returns:

the value of the communication parameter.

getParamName
String getParamName()

Delivers the name of the communication parameter.

Returns:

the name of the communication parameter.


Interface IDiagResultComponentList
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultComponentList

Gateway component list.

Method Summary
byte[]
getByteCoding() 1
6
9
List<IDiagResultComponentListEntry>
getComponentListEntries() 1
6
Returns the list component entries.
9

Method Detail

getByteCoding
byte[] getByteCoding()

Returns:

The component list as byte array.

getComponentListEntries
List<IDiagResultComponentListEntry> getComponentListEntries()

Returns the list component entries.

Returns:

The list of component entries.


Interface IDiagResultComponentListEntry
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultComponentListEntry

Represents an entry from the gateway component list.

Method Summary
IDiagResultValue
getBusIdentifier() 1
7
Returns the ODX information for the bus identifier (0x2A2D).
7
IDiagResultValue
getCodedState() 1
7
Returns the ODX information for the coded bit (0x04A3).
4
IDiagResultValue
getDtcInfo() 1
7
Returns the ODX information for the dtc bit (0x2A28).
5
int
getEcuId() 1
7
Return the diagnostic address of the entry.
2
IDiagResultValue
getEcuIdInformation() 1
7
Returns the ODX information for the ecu id.
2
IDiagResultComponentListEntry.EntryType
getEntryType() 1
7
Gets type of the entry.
7
int
getListPosition() 1
7
Returns the list position in the gateway component list of this entry.
3
long
getNodeId() 1
7
Returns the node address of this entry.
2
IDiagResultValue
getNodeIdInformation() 1
7
Returns the ODX information for the node id.
3
IDiagResultValue
getPresentState() 1
7
Returns the ODX information for the present bit (0x2A26).
4
List<IDiagResultValue>
getProtocolInformation() 1
7
Returns the ODX information for the protocol entry (0x2A29).
6
IDiagResultValue
getSleepBit() 1
7
Returns the ODX information info for the sleep bit (0x2A27).
5
IDiagResultValue
getTPIdentifier() 1
7
Returns the ODX information for the TP-CAN-Identifier (0x2A2C).
6
boolean
isBusIdentifierAvailable() 1
7
Returns if the bus identifier is available.
7
boolean
isCoded() 1
7
Checks if the state of this entry is coded.
4
boolean
isCodedStateAvailable() 1
7
Returms if the coded state information is available.
4
boolean
isDtcInfoAvailable() 1
7
Checks if the dtc information is available.
5
boolean
isEcuIdInformationAvailable() 1
7
2
boolean
isListPositionAvailable() 1
7
Checks if the list position is available for this entry.
3
boolean
isNodeIdAvailable() 1
7
Checks if a node id is available for this entry.
3
boolean
isPresentStateAvailable() 1
7
Returns if present state information is available.
4
boolean
isProtocolInformationAvailable() 1
7
Checks if the protocol information is available.
6
boolean
isSleepBitAvailable() 1
7
Checks if the sleep bit is available for this entry.
5
boolean
isTPIdentifierAvailable() 1
7
Returns if the tp identifier is available.
6
Method Detail

getEcuId
int getEcuId()

Return the diagnostic address of the entry.

Returns:

The address of this entry.

isEcuIdInformationAvailable
boolean isEcuIdInformationAvailable()

Returns:

If call of getEcuIdInformation() returns valid information.

getEcuIdInformation
IDiagResultValue getEcuIdInformation()

Returns the ODX information for the ecu id. Return value is only valid if isEcuIdInformationAvailable
returns true. Otherwise an empty result returns.

Returns:

Value of the ecu id.

getNodeId
long getNodeId()

Returns the node address of this entry.

Returns:

The node address.


isNodeIdAvailable
boolean isNodeIdAvailable()

Checks if a node id is available for this entry.

Returns:

True if a node id is available.

getNodeIdInformation
IDiagResultValue getNodeIdInformation()

Returns the ODX information for the node id. Return value is only valid if isNodeIdAvailable returns true.
Otherwise an empty result value returns.

Returns:

Value of the ecu id.

getListPosition
int getListPosition()

Returns the list position in the gateway component list of this entry.

Returns:

The list position.

isListPositionAvailable
boolean isListPositionAvailable()

Checks if the list position is available for this entry.

Returns:

True if list position is available.


isCoded
boolean isCoded()

Checks if the state of this entry is coded.

Returns:

True if the entry is coded otherwise false.

getCodedState
IDiagResultValue getCodedState()

Returns the ODX information for the coded bit (0x04A3).

Returns:

Value of the coded state

isCodedStateAvailable
boolean isCodedStateAvailable()

Returms if the coded state information is available.

Returns:

If the coded state information is available.

getPresentState
IDiagResultValue getPresentState()

Returns the ODX information for the present bit (0x2A26).

Returns:

Value of the is present bit.

isPresentStateAvailable
boolean isPresentStateAvailable()
Returns if present state information is available.

Returns:

If present state information is available.

getSleepBit
IDiagResultValue getSleepBit()

Returns the ODX information info for the sleep bit (0x2A27).

Returns:

Value of the sleep bit.

isSleepBitAvailable
boolean isSleepBitAvailable()

Checks if the sleep bit is available for this entry.

Returns:

True if sleep bit is available.

isDtcInfoAvailable
boolean isDtcInfoAvailable()

Checks if the dtc information is available.

Returns:

True if dtc information is available.

getDtcInfo
IDiagResultValue getDtcInfo()

Returns the ODX information for the dtc bit (0x2A28).


Returns:

Value of the dtc bit.

isProtocolInformationAvailable
boolean isProtocolInformationAvailable()

Checks if the protocol information is available.

Returns:

True if protocol information is available.

getProtocolInformation
List<IDiagResultValue> getProtocolInformation()

Returns the ODX information for the protocol entry (0x2A29).

Returns:

Value of the protocol information.

isTPIdentifierAvailable
boolean isTPIdentifierAvailable()

Returns if the tp identifier is available.

Returns:

If the tp identifier is available.

getTPIdentifier
IDiagResultValue getTPIdentifier()

Returns the ODX information for the TP-CAN-Identifier (0x2A2C).

Returns:

Value of the TP identifier.


isBusIdentifierAvailable
boolean isBusIdentifierAvailable()

Returns if the bus identifier is available.

Returns:

If the bus identifier is available.

getBusIdentifier
IDiagResultValue getBusIdentifier()

Returns the ODX information for the bus identifier (0x2A2D).

Returns:

Value of the bus identifier.

getEntryType
IDiagResultComponentListEntry.EntryType getEntryType()

Gets type of the entry.

Returns:

Type of the entry.


Enum IDiagResultComponentListEntry.EntryType
Enum Constant Summary
BUSMASTER_COMPONENT_ENTRY
178
Busmaster entry.
SOFTWARE_CLUSTER_ENTRY
178
Software cluster entry.
SUBSYSTEM_COMPONENT_ENTRY
178
Subsystem entry.
Interface IDiagResultConnectEcu
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultConnectEcu

Result object for connection data of a control unit.

Method Summary
String
getActiveEcuVariant() 1
8
Returns the detected odx variant of this control unit.
0
IConnectionHandle
getConnectionHandle() 1
7
Returns handle for following control unit dependent calls.
9
IDiagResultConnectEcu.DiagnosticProtocol
getDiagnosticProtocol() 1
8
Returns the used protocol.
1
String
getEcuId() 1
8
Returns diagnostic address of the connected control unit as a
hexadecimal string. 0
String
getEcuName() 1
8
Retuns the translated control unit name of the connect ecu.
0
String
getLogicalLinkname() 1
8
Retuns the logical linkname of the connect ecu.
0

Method Detail

getConnectionHandle
IConnectionHandle getConnectionHandle()

Returns handle for following control unit dependent calls.

Returns:

Handle for following control unit dependent calls.


getEcuName
String getEcuName()

Retuns the translated control unit name of the connect ecu.

Returns:

Name of the control unit.

getEcuId
String getEcuId()

Returns diagnostic address of the connected control unit as a hexadecimal string. For the ecu address 1
the string "0x01" will be returned,

Returns:

The address of the control unit.

getActiveEcuVariant
String getActiveEcuVariant()

Returns the detected odx variant of this control unit.

Returns:

The detected variant.

getLogicalLinkname
String getLogicalLinkname()

Retuns the logical linkname of the connect ecu.

Returns:

Logical linkname of the control unit.


getDiagnosticProtocol
IDiagResultConnectEcu.DiagnosticProtocol getDiagnosticProtocol()

Returns the used protocol.

Returns:

The used protocol.


Enum IDiagResultConnectEcu.DiagnosticProtocol
Enum Constant Summary
KWP1281
182
KWP1281.
KWP2000
182
KWP2000.
UDS
182
UDS.
UNKNOWN
182
Unknown.
Interface IDiagResultDatasetDownload
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult

public interface IDiagResultDatasetDownload

extends IDiagResult

Represents the result of the container verification and the dataset download.

Method Summary
long
getEcuAddress() 1
8
Delivers the address of the control unit.
3
String
getErrorID() 1
8
Delivers the error-id of the occurred error.
4
String
getErrorMessage() 1
8
Delivers the translated message of the occurred error.
4
String
getLogicalLinkname() 1
8
Delivers the logical linkname of the control unit.
4
boolean
isErrorOccured() 1
8
Checks for an occured error.
4

Method Detail

getEcuAddress
long getEcuAddress()

Delivers the address of the control unit.

Returns:

The address.
getLogicalLinkname
String getLogicalLinkname()

Delivers the logical linkname of the control unit.

Returns:

The address.

getErrorMessage
String getErrorMessage()

Delivers the translated message of the occurred error.

Returns:

The error message or an empty string.

getErrorID
String getErrorID()

Delivers the error-id of the occurred error.


Potential Error-IDs:
- ODS3001E: No data set file found
- ODS3006E: Wrong data set file format
- ODS3014E: Unpacking error occurred
- ODS3015E: No control file available
- ODS3021E: Missing flash container (odx/frf)
- ODS3022E: Flash container cannot be loaded
- ODS6922E: Negative consistency check
- ODS6923E: Control file doesn't contain the current ecu address
- ODS6999E: Negative execution of data set download job

Returns:

The error id or an empty string.

isErrorOccured
boolean isErrorOccured()
Checks for an occured error.

Returns:

true if an error occured, otherwise false


Interface IDiagResultDtcSnapshot
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult

public interface IDiagResultDtcSnapshot

extends IDiagResult

Represents the result of an event memory snapshot record.

Method Summary
int
getDtcValue() 1
8
Returns the dtc value of this snapshot record.
8
int
getEcuId() 1
8
Returns the id of the control unit from which the event memory was read.
7
String
getEcuName() 1
8
Returns the name of the control unit from which the event memory was read.
7
String
getErrorMessage() 1
Returns a message of the error occured while reading the snapshot records
8
using readEventMemorySnapshots. 7
String
getLogicalLinkname() 1
8
Returns the logical linkname of the control unit from which the event memory
was read. 7
int
getSnapshotRecordNumber() 1
8
Returns the number of this snapshot record.
8
List<IDiagResultMeasurement>
getSnapshotValues() 1
8
Returns the (measurement) values of this snapshot record.
8
Method Detail

getEcuId
int getEcuId()

Returns the id of the control unit from which the event memory was read.

Returns:

The ecu id.

getEcuName
String getEcuName()

Returns the name of the control unit from which the event memory was read.

Returns:

The ecu name.

getLogicalLinkname
String getLogicalLinkname()

Returns the logical linkname of the control unit from which the event memory was read.

Returns:

Logical linkname of the control unit.

getErrorMessage
String getErrorMessage()

Returns a message of the error occured while reading the snapshot records using
readEventMemorySnapshots. If no error occured the function returns an emtpy string.

Returns:

The error message or an empty string.


getSnapshotValues
List<IDiagResultMeasurement> getSnapshotValues()

Returns the (measurement) values of this snapshot record.

Returns:

the (measurement) values of this snapshot record.

getDtcValue
int getDtcValue()

Returns the dtc value of this snapshot record.

Returns:

the dtc value of this snapshot record.

getSnapshotRecordNumber
int getSnapshotRecordNumber()

Returns the number of this snapshot record.

Returns:

the number of this snapshot record.


Interface IDiagResultDtcSnapshotList
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult

public interface IDiagResultDtcSnapshotList

extends IDiagResult

DTC snapshot record list.

Method Summary
List<IDiagResultDtcSnapshot>
getDtcSnapshotRecords() 1
8
Returns the list of snapshot records.
9

Method Detail

getDtcSnapshotRecords
List<IDiagResultDtcSnapshot> getDtcSnapshotRecords()

Returns the list of snapshot records.

Returns:

The list of snapshot records.


Interface IDiagResultDtcState
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultDtcState

DTC state bit information.

Method Summary
int
getBitPosition() 1
9
Return the position of the bit beginning with 0.
0
String
getBitPositionText() 1
9
Return the position as String which is displayed in the GUI.
0
String
getBitValueText() 1
9
Return the value as String which is displayed in the GUI.
1
boolean
isBitSet() 1
9
Return the value as boolean.
1

Method Detail

getBitPosition
int getBitPosition()

Return the position of the bit beginning with 0.

Returns:

The position of the bit beginning with 0.

getBitPositionText
String getBitPositionText()

Return the position as String which is displayed in the GUI.

Returns:

The position as String which is displayed in the GUI.


isBitSet
boolean isBitSet()

Return the value as boolean.

Returns:

The value as boolean.

getBitValueText
String getBitValueText()

Return the value as String which is displayed in the GUI.

Returns:

The value as String which is displayed in the GUI.


Interface IDiagResultEnvironmentData
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultEnvironmentData

Represents the environment data of an event memory entry. There are two kind of environment entries, the
standard environment conditions and additionl measurement values.

Method Summary
List<IDiagResultValue>
getMeasurements() 1
9
Returns the list of measurement value conditions.
2
List<IDiagResultDtcSnapshot>
getSnapshotRecords() 1
9
Returns the list of snapshot records.
3
List<IDiagResultStandardEnvironmentCondition>
getStandardData() 1
9
Returns the list of standard environment conditions.
2

Method Detail

getStandardData
List<IDiagResultStandardEnvironmentCondition> getStandardData()

Returns the list of standard environment conditions.

Returns:

The list of environment conditions.

getMeasurements
List<IDiagResultValue> getMeasurements()

Returns the list of measurement value conditions.

Returns:

The list of environment conditions.


getSnapshotRecords
List<IDiagResultDtcSnapshot> getSnapshotRecords()

Returns the list of snapshot records.

Returns:

The list of snapshot records.


Interface IDiagResultEventInfo
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResultValue

public interface IDiagResultEventInfo

extends IDiagResultValue

Implementation for detailed information on an event memory entry.


Holds information on the type of the event memory.

Method Summary
IDiagResultEventInfo.EventInfoType
getEventInfoType() 1
9
Retrurns the type of this event info.
4

Method Detail

getEventInfoType
IDiagResultEventInfo.EventInfoType getEventInfoType()

Retrurns the type of this event info.

Returns:

The type of this event info.


Enum IDiagResultEventInfo.EventInfoType
Enum Constant Summary
ERROR_CODE
195
ERROR_CODE.
ERROR_TYPE_1
195
ERROR_TYPE1.
ERROR_TYPE_2
195
ERROR_TYPE2.
PCODE
195
PCODE.
Interface IDiagResultEventMemory
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult

public interface IDiagResultEventMemory

extends IDiagResult

Represents the result of an event memory read operation. It contains an id of the ecu from which the event memory
was read and a list of event memory entries.

Method Summary
int
getEcuId() 1
9
Returns the id of the control unit from which the event memory was read.
6
String
getEcuName() 1
9
Returns the name of the control unit from which the event memory was
read. 7
String
getErrorMessage() 1
Returns a message of the error occured while reading the event memory
9
using readAllEventMemories. 7
List<IDiagResultEventMemoryEntry>
getEventMemoryEntries() 1
9
Returns the list of event memory entries from the ecu.
7
String
getLogicalLinkname() 1
9
Returns the logical linkname of the control unit from which the event
memory was read. 7

Method Detail

getEcuId
int getEcuId()

Returns the id of the control unit from which the event memory was read.
Returns:

The ecu id.

getEcuName
String getEcuName()

Returns the name of the control unit from which the event memory was read.

Returns:

The ecu name.

getLogicalLinkname
String getLogicalLinkname()

Returns the logical linkname of the control unit from which the event memory was read.

Returns:

Logical linkname of the control unit.

getErrorMessage
String getErrorMessage()

Returns a message of the error occured while reading the event memory using readAllEventMemories. If
no error occured or the event mory was not read by readAllEventMemories the function returns an emtpy
string.

Returns:

The error message or an empty string.

getEventMemoryEntries
List<IDiagResultEventMemoryEntry> getEventMemoryEntries()

Returns the list of event memory entries from the ecu. If the ecu has no event memory the funciton returns
an empty list.
Returns:

The list of event memory entries.


Interface IDiagResultEventMemoryEntry
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultEventMemoryEntry

Represents a single event memory entry of a control unit.

Since:

26-Mrz-2010 12:51:13

Method Summary
String
getDevMemorySelection() 2
0
The memory selection for a developer DTC.
1
List<IDiagResultDtcState>
getDtcStates() 1
9
Returns the interpreted state record byte.
9
IDiagResultEnvironmentData
getEnvironmentData() 2
0
Returns the environment conditions of this event memory entry.
0
List<IDiagResultEventInfo>
getEventInfos() 2
0
Returns a list of detailed information about the event memory entry, for example
the event code and the event text. 0
long
getUdsState() 2
0
The uds-specific dtc-state.
0
boolean
isDevDTCEntry() 2
0
The flag 'developer DTC'.
0

Method Detail

getDtcStates
List<IDiagResultDtcState> getDtcStates()

Returns the interpreted state record byte. Every bit from the state record has its entry in the result list. The
state record will only return for UDS control units, for KWP control an empty list will return.

Returns:

The state record list.


getEnvironmentData
IDiagResultEnvironmentData getEnvironmentData()

Returns the environment conditions of this event memory entry.

Returns:

The environment conditions.

getEventInfos
List<IDiagResultEventInfo> getEventInfos()

Returns a list of detailed information about the event memory entry, for example the event code and the
event text.

Returns:

The list of event memory information.

getUdsState
long getUdsState()

The uds-specific dtc-state.

Returns:

The udsState.

isDevDTCEntry
boolean isDevDTCEntry()

The flag 'developer DTC'.

Returns:

the flag
getDevMemorySelection
String getDevMemorySelection()

The memory selection for a developer DTC. Empty if no selection or no developer DTC.

Returns:

memory selection
Interface IDiagResultFlashProgramming
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult

public interface IDiagResultFlashProgramming

extends IDiagResult

Represents the result of a "flash" operation.

Method Summary
List<IDiagResultFlashSession>
getSessionResultList() 2
0
Delivers the result list of all flashed sessions.
2

Method Detail

getSessionResultList
List<IDiagResultFlashSession> getSessionResultList()

Delivers the result list of all flashed sessions.

Returns:

the result list of all flashed sessions.


Interface IDiagResultFlashSession
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult

public interface IDiagResultFlashSession

extends IDiagResult

Represents the result of a flash session.

Method Summary
String
getContainerPath() 2
0
Delivers the file path of the flash container.
4
long
getContainerSize() 2
0
Delivers the file size of the flash container (bytes).
5
long
getDuration() 2
0
Delivers the duration of the running flash process (seconds).
5
int
getEcuId() 2
0
Delivers the ecu-id (address) of the flashed control unit.
4
String
getErrorMessage() 2
0
Delivers the error message or an empty string.
5
List<IDiagResultPreCondition>
getNotCompliedPreConditions() 2
0
Delivers the not complied preconditions of a kwp flash process.
4
String
getSessionName() 2
0
Delivers the session name.
4
boolean
isErrorOccurred() 2
0
Delivers the result of the flash process.
5
Method Detail

getEcuId
int getEcuId()

Delivers the ecu-id (address) of the flashed control unit.

Returns:

the ecu-id (address) of the flashed control unit.

getContainerPath
String getContainerPath()

Delivers the file path of the flash container.

Returns:

the file path of the flash container.

getSessionName
String getSessionName()

Delivers the session name.

Returns:

the session name.

getNotCompliedPreConditions
List<IDiagResultPreCondition> getNotCompliedPreConditions()

Delivers the not complied preconditions of a kwp flash process.

Returns:

the text identifiers of not complied preconditions


getErrorMessage
String getErrorMessage()

Delivers the error message or an empty string.

Returns:

the error message or an empty string.

isErrorOccurred
boolean isErrorOccurred()

Delivers the result of the flash process.

Returns:

true, if an error has occurred during the execution

getDuration
long getDuration()

Delivers the duration of the running flash process (seconds).

Returns:

the duration of the running flash process (seconds).

getContainerSize
long getContainerSize()

Delivers the file size of the flash container (bytes).

Returns:

the file size of the flash container (bytes).


Interface IDiagResultIdentification
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultIdentification

Result object for the identification data.

Method Summary
Long
getEcuAddress() 2
0
Returns diagnostic address of the currently control unit.
7
String
getErrorMessage() 2
Returns a message of the error occured while reading the
0
event memory using readMultilinkIdentification. 8
List<IDiagResultValue>
getExtendedData() 2
0
Returns a list of extended identification data.
8
IDiagResultIdentification.IdentificationDataType
getIdentificationDataType() 2
0
Returns type of identification data.
7
String
getLogicalLinkname() 2
0
Retuns the logical linkname of the currently control unit.
7
List<IDiagResultValue>
getSoftwareComponentData() 2
0
Returns a list of software component identification data.
8
List<IDiagResultValue>
getStandardData() 2
0
Returns the standard identification data read from the
system. 7
String
getSystemName() 2
0
The system name of the control unit.
6

Method Detail

getSystemName
String getSystemName()
The system name of the control unit. For a master control unit the name master will be returned. For uds
slaves the short name of the subsystem will be returned and for kwp slaves the index of the subsystem will
returned with prefix subSys starting with index 0 like subSys0.

Returns:

The (sub)system name.

getIdentificationDataType
IDiagResultIdentification.IdentificationDataType getIdentificationDataType()

Returns type of identification data.

Returns:

The type of identification data.

getEcuAddress
Long getEcuAddress()

Returns diagnostic address of the currently control unit.

Returns:

The address of the control unit.

getLogicalLinkname
String getLogicalLinkname()

Retuns the logical linkname of the currently control unit.

Returns:

Logical linkname of the control unit.

getStandardData
List<IDiagResultValue> getStandardData()

Returns the standard identification data read from the system.


Returns:

List of identification data.

getExtendedData
List<IDiagResultValue> getExtendedData()

Returns a list of extended identification data.

Returns:

List of extended identification data.

getSoftwareComponentData
List<IDiagResultValue> getSoftwareComponentData()

Returns a list of software component identification data.

Returns:

List of software component identification data.

getErrorMessage
String getErrorMessage()

Returns a message of the error occured while reading the event memory using
readMultilinkIdentification. If no error occured the function returns an emtpy string.

Returns:

The error message or an empty string.


Enum IDiagResultIdentification.IdentificationDataType
Enum Constant Summary
MASTER
209
Master.
SLAVE
209
Slave.
SW_CLUSTER
209
Cluster.
SW_COMPONENT
209
Software component.
SW_COMPOSITION
209
Software composition.
UNKNOWN
209
Not defined.
Interface IDiagResultIdentificationShortName
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultIdentificationShortName

Container for shortname ident type combination.

Method Summary
IDiagResultIdentification.IdentificationDataType
getIdentificationDataType() 2
1
0
String
getShortName() 2
1
0

Method Detail

getIdentificationDataType
IDiagResultIdentification.IdentificationDataType getIdentificationDataType()

Returns:

Type of identification data.

getShortName
String getShortName()

Returns:

Short name.
Interface IDiagResultMeasurement
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult, IDiagResultTable

public interface IDiagResultMeasurement

extends IDiagResultTable

Interface for handling measurements.

Method Summary
long
getEcuAddress() 2
1
Retrieves the address of the control unit for which this result holds the values.
1
String
getErrorMessage() 2
Returns a message of the error occured while reading the measurement using
1
readMultilinkMeasurement. 3
String
getLogicalLinkname() 2
1
Retrieves the logical linkname of the control unit for which this result holds the
values. 2
String
getMeasurementGroup() 2
1
Retrieves the measurement group for which this result holds the values.
2
List<IDiagResultValue>
getMeasurements() 2
1
2
String
getRecordDataIdentifier() 2
1
Returns the record data identifier of the executed service.
2

Method Detail

getEcuAddress
long getEcuAddress()
Retrieves the address of the control unit for which this result holds the values.

Returns:

The address.

getLogicalLinkname
String getLogicalLinkname()

Retrieves the logical linkname of the control unit for which this result holds the values.

Returns:

The address.

getMeasurementGroup
String getMeasurementGroup()

Retrieves the measurement group for which this result holds the values.
For UDS this ist the ODX short name of the measurement group,
for KWP this is the block number, given as string: e.g. "12".

Returns:

The measurement group.

getMeasurements
List<IDiagResultValue> getMeasurements()

Returns:

Measurements.

getRecordDataIdentifier
String getRecordDataIdentifier()
Returns the record data identifier of the executed service. Returns an empty string if no record data
identifier is available.

Returns:

the record data identifier.

getErrorMessage
String getErrorMessage()

Returns a message of the error occured while reading the measurement using
readMultilinkMeasurement. If no error occured the function returns an emtpy string.

Returns:

The error message or an empty string.


Interface IDiagResultMemoryCells
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult

public interface IDiagResultMemoryCells

extends IDiagResult

Result object to return the read memory.

Method Summary
byte[]
getMemoryCells() 2
1
Returns the list of memory cells.
4

Method Detail

getMemoryCells
byte[] getMemoryCells()

Returns the list of memory cells.

Returns:

The read memory.


Interface IDiagResultMulti
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult

public interface IDiagResultMulti

extends IDiagResult

Standard result object for a multilink diagnostic call.

Method Summary
Long
getEcuAddress() 2
1
6
String
getErrorMessage() 2
1
6
String
getFunctionName() 2
1
6
String
getLogicalLinkname() 2
1
5
Long
getTimestamp() 2
1
6

Method Detail

getLogicalLinkname
String getLogicalLinkname()

Returns:

The logical linkname of the corresponding control unit.


getEcuAddress
Long getEcuAddress()

Returns:

The ecu address of the corresponding control unit.

getErrorMessage
String getErrorMessage()

Returns:

The error message or an empty string.

getFunctionName
String getFunctionName()

Returns:

The name of the executed function (e.g. the adaption channel or the name of subsystem or the
measurement name).

getTimestamp
Long getTimestamp()

Returns:

The execution timestamp.


Interface IDiagResultNegativeResponse
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultNegativeResponse

Result interface to handle negative responses from an ecu.

Method Summary
int
getNRC() 2
1
7
int
getSID() 2
1
7
String
getTranslatedMessage() 2
1
8
boolean
isNegativeResponse() 2
1
8

Method Detail

getNRC
int getNRC()

Returns:

The negative response code. Returns 0x00 if the id is not available or isNegativeResponse
returns false.

getSID
int getSID()

Returns:

The corresponding service id. Returns 0x00 if the id is not available or isNegativeResponse
returns false.
getTranslatedMessage
String getTranslatedMessage()

Returns:

The translated message for the occured negative response or an empty string if
isNegativeResponse returns false.

isNegativeResponse
boolean isNegativeResponse()

Returns:

True if the ecu has returned a negative response, otherwise false.


Interface IDiagResultODXVersion
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultODXVersion

Interface for returning the result of ODX version operation.

Method Summary
String
getDate() 2
1
Date of the last change in ISO-8601 format or yyyy-MM-dd'T'HH:mm:ss.
9
String
getErrorFlag() 2
2
Returns error code of a project entry.
0
String
getName() 2
1
Returns name of the ODX project / name of directory.
9
String
getRevision() 2
2
Returns revision number of ODX file.
0
String
getState() 2
2
Returns state of get ODX version operation.
0

Method Detail

getName
String getName()

Returns name of the ODX project / name of directory.

Returns:

Name of the ODX project.

getDate
String getDate()
Date of the last change in ISO-8601 format or yyyy-MM-dd'T'HH:mm:ss. Example: 2010-01-
18T12:38:23.000+01:00

Returns:

Date of the last change in ISO-8601 format.

getRevision
String getRevision()

Returns revision number of ODX file.

Returns:

Revision number of ODX file.

getState
String getState()

Returns state of get ODX version operation. E.g. RELEASE

Returns:

State of get ODX version operation.

getErrorFlag
String getErrorFlag()

Returns error code of a project entry. The following values are possible:

 OK: Valid project

 INDEX_XML_MISSING: Project directory does not contain index file

 INVALID_INDEX_XML: Project directory contains invalid index file

Returns:

String value of ErrorFlag


Enum IDiagResultODXVersion.ErrorFlag
Enum Constant Summary
INDEX_XML_MISSING
221
File index.xml is missing for the project.
INVALID_INDEX_XML
221
Error within index.xml for a project.
OK
221
Everything ok.
Interface IDiagResultParameterValue
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultParameterValue

Represents the result of a parameter value.

Method Summary
String
getTranslation() 2
2
Delivers the translated text of the parameter value.
3
String
getValue() 2
2
Delivers the value of the object as string.
2
String
getValueId() 2
2
Delivers the value as a translatable text id.
2

Method Detail

getValue
String getValue()

Delivers the value of the object as string.

Returns:

The value.

getValueId
String getValueId()

Delivers the value as a translatable text id.

Returns:

The text id of the parameter value.


getTranslation
String getTranslation()

Delivers the translated text of the parameter value.

Returns:

The translated text of the parameter value.


Interface IDiagResultPreCondition
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultPreCondition

Represents the result of a precondition.

Method Summary
String
getTextID() 2
2
Delivers the text-id of the precondition.
5
String
getTranslatedText() 2
2
Delivers the translated text of the precondition.
4
int
getValue() 2
2
Delivers the value of the precondition.
4

Method Detail

getValue
int getValue()

Delivers the value of the precondition.

Returns:

the value of the precondition.

getTranslatedText
String getTranslatedText()

Delivers the translated text of the precondition.

Returns:

the translated text of the precondition.


getTextID
String getTextID()

Delivers the text-id of the precondition.

Returns:

the text-id of the precondition.


Interface IDiagResultProtocolTransfer
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultProtocolTransfer

Result of protocol transfer to VDS and Service 42.

Method Summary
List<IDiagResultProtocolTransferEntry>
getProtocolTransferEntries() 2
2
6

Method Detail

getProtocolTransferEntries
List<IDiagResultProtocolTransferEntry> getProtocolTransferEntries()

Returns:

List of results of protocol transfer


TotalSystemsInterfaceImpl.sendProtocolsToCarport(List, String)
Interface IDiagResultProtocolTransferEntry
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultProtocolTransferEntry

Item of IDiagResultProtocolTransfer.

Method Summary
String
getMessage() 2
2
8
String
getProtocolName() 2
2
7
IDiagResultProtocolTransferEntry.TransferResultState
getResultState() 2
2
7

Method Detail

getProtocolName
String getProtocolName()

Returns:

Associated protocol name of send request.

getResultState
IDiagResultProtocolTransferEntry.TransferResultState getResultState()

Returns:

Result state of the protocol transfer.


getMessage
String getMessage()

Returns:

Message of the protocol transfer.


Enum IDiagResultProtocolTransferEntry.TransferResultState
Enum Constant Summary
ERROR
229
Error.
SUCCESS
229
Success.
UNKNOWN
229
Unknown.
WARNING
229
Warning.
Interface IDiagResultRawService
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultRawService

Represents the result of a functional raw service operation.

Method Summary
List<IDiagResultRawServiceResponse>
getRawServiceResponses() 2
3
Returns the list of ecu responses.
0

Method Detail

getRawServiceResponses
List<IDiagResultRawServiceResponse> getRawServiceResponses()

Returns the list of ecu responses.

Returns:

The list of ecu responses.


Interface IDiagResultRawServiceResponse
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultRawServiceResponse

Represents a single ecu response of a functional raw service operation.

Method Summary
byte[]
getResponsePDU() 2
3
Returns the response of the ecu.
1
String
getVariantName() 2
3
Returns the variant name of the responding ecu.
1

Method Detail

getResponsePDU
byte[] getResponsePDU()

Returns the response of the ecu.

Returns:

The response of the ecu.

getVariantName
String getVariantName()

Returns the variant name of the responding ecu.

Returns:

The variant name of the responding ecu.


Interface IDiagResultRollModeEntry
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultRollModeEntry

Represents a single roll mode entry; i.e. the roll mode information on a single ecu.

Method Summary
String
getAdditionalText() 2
3
Text holding aditional information.
3
int
getEcuId() 2
3
Return the diagnostic address of this entry's ecu.
2
String
getEcuName() 2
3
Return the translated name of this entry's ecu.
3
IDiagResultRollModeEntry.RollModeState
getState() 2
3
Return this entry's roll mode state.
3
long
getTimestamp() 2
3
Retrieves the date / time of this entry's latest modification.
4
boolean
isAdditionalTextError() 2
3
Checks if the additional text describes an error or just
normal" info. 3
boolean
isNRCSignaled() 2
3
Returns if this entry's ECU has responded with an NRC lately.
4

Method Detail

getEcuId
int getEcuId()

Return the diagnostic address of this entry's ecu.


Returns:

The ecu address.

getEcuName
String getEcuName()

Return the translated name of this entry's ecu.

Returns:

The ecu name.

getState
IDiagResultRollModeEntry.RollModeState getState()

Return this entry's roll mode state.

Returns:

The state.

getAdditionalText
String getAdditionalText()

Text holding aditional information.

Returns:

The info text.

isAdditionalTextError
boolean isAdditionalTextError()

Checks if the additional text describes an error or just normal" info.

Returns:

true if the additional text} describes an error, else false.


isNRCSignaled
boolean isNRCSignaled()

Returns if this entry's ECU has responded with an NRC lately.

Returns:

true if NRC was answered, else false.

getTimestamp
long getTimestamp()

Retrieves the date / time of this entry's latest modification.

Returns:

The time of latest modification as milliseconds since January 1, 1970, 00:00:00 GMT.
Enum IDiagResultRollModeEntry.RollModeState
Enum Constant Summary
ACTIVE
235
Rollmode is ACTIVE.
ERROR
235
Rollmode: there is an error occured by this ecu.
NO_DETECT
235
Rollmode is NO_DETECT; i.e. it is not possible to detect the state.
NOT_ACTIVE
235
Rollmode ist NOT ACTIVE.
TIMEOUT
235
Timeout occured setting or detecting the rollmode state.
UNKNOWN
235
Rollmode is UNKNOWN; e.g. has not been tried to detect.
Interface IDiagResultSFD
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult

All Known Subinterfaces:


IDiagResultSFDStatus

public interface IDiagResultSFD

extends IDiagResult

Represents the result of a sfd execution.

Method Summary
long
getEcuAddress() 2
3
Delivers the address of the control unit.
6
String
getErrorID() 2
3
Delivers the error-id of the occurred error.
7
String
getErrorMessage() 2
3
Delivers the translated message of the occurred error.
7
String
getLogicalLinkname() 2
3
Delivers the logical linkname of the control unit.
7
boolean
isError() 2
3
Checks for an occured error.
8
boolean
isNrc() 2
3
Checks for a negative response (NRC).
8

Method Detail

getEcuAddress
long getEcuAddress()
Delivers the address of the control unit.

Returns:

The address.

getLogicalLinkname
String getLogicalLinkname()

Delivers the logical linkname of the control unit.

Returns:

The address.

getErrorMessage
String getErrorMessage()

Delivers the translated message of the occurred error.

Returns:

The error message or an empty string.

getErrorID
String getErrorID()

Delivers the error-id of the occurred error.


Potential Error-IDs:
- ODS1003E: no backend connection
- ODS1007E: negative server response
- ODS2003E: unsupported access method
- ODS6912E: no functional response
- ODS6913E: incorrect sfd Result
- ODS6914E: incorrect sfd role
- ODS6915E: incorrect sfd unlock
- ODS6916E: incorrect sfd reset
- ODS6917E: no sfd offline token found
- ODS6918E: token name contains no timestamp
- ODS6924E: invalid sfd replay protection
Returns:

The error id or an empty string.

isError
boolean isError()

Checks for an occured error.

Returns:

true if an error occured, otherwise false.

isNrc
boolean isNrc()

Checks for a negative response (NRC).

Returns:

true if the ecu has returned a negative response, otherwise false.


Interface IDiagResultSFDStatus
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult, IDiagResultSFD

public interface IDiagResultSFDStatus

extends IDiagResultSFD

Represents the unlock information of a control unit (SFD).

Method Summary
IDiagResultParameterValue
getDuration() 2
4
Delivers the duration of sfd protection.
0
IDiagResultParameterValue
getRole() 2
3
Delivers the role for sfd protection.
9
IDiagResultParameterValue
getStatus() 2
4
Delivers the status of sfd protection.
0
IDiagResultParameterValue
getType() 2
4
Delivers the type of sfd protection.
0

Method Detail

getRole
IDiagResultParameterValue getRole()

Delivers the role for sfd protection.

Returns:

the role for protection.


getType
IDiagResultParameterValue getType()

Delivers the type of sfd protection.

Returns:

the type of protection.

getStatus
IDiagResultParameterValue getStatus()

Delivers the status of sfd protection.

Returns:

the status of protection.

getDuration
IDiagResultParameterValue getDuration()

Delivers the duration of sfd protection.

Returns:

the duration of protection.


Interface IDiagResultSoftwareCompositionComponentList
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultSoftwareCompositionComponentList

Software component list.

Method Summary
List<IDiagResultSoftwareCompositionComponentListEntry>
getComponentListEntries() 2
4
Returns the list component entries.
1
Long
getEcuAddress() 2
4
Returns diagnostic address of the currently control
unit. 1
String
getErrorMessage() 2
4
Returns a message of the occured error while
reading the software composition component list. 2
String
getLogicalLinkname() 2
4
Retuns the logical linkname of the currently control
unit. 2

Method Detail

getComponentListEntries
List<IDiagResultSoftwareCompositionComponentListEntry> getComponentListEntries()

Returns the list component entries.

Returns:

The list of component entries.

getEcuAddress
Long getEcuAddress()

Returns diagnostic address of the currently control unit.


Returns:

The address of the control unit.

getLogicalLinkname
String getLogicalLinkname()

Retuns the logical linkname of the currently control unit.

Returns:

Logical linkname of the control unit.

getErrorMessage
String getErrorMessage()

Returns a message of the occured error while reading the software composition component list. If no error
occured the function returns an emtpy string.

Returns:

The error message or an empty string.


Interface IDiagResultSoftwareCompositionComponentListEntry
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultSoftwareCompositionComponentListEntry

Software component list entry.

Method Summary
List<String>
getComponentSystemNames() 2
4
Returns list of software components with its system name.
4
String
getListNumber() 2
4
Returns the list number which is the key of the entry.
3
int
getListPosition() 2
4
Returns the list position in the software composition list.
4
long
getNodeId() 2
4
Returns the node address of this entry.
4
String
getSystemeName() 2
4
Returns the system name of this entry.
4
boolean
isCoded() 2
4
Returns coded state.
4

Method Detail

getListNumber
String getListNumber()

Returns the list number which is the key of the entry.

Returns:

The list number.


getListPosition
int getListPosition()

Returns the list position in the software composition list.

Returns:

The list position.

getNodeId
long getNodeId()

Returns the node address of this entry.

Returns:

The node address.

getSystemeName
String getSystemeName()

Returns the system name of this entry.

Returns:

The system name.

isCoded
boolean isCoded()

Returns coded state.

Returns:

True if the entry is coded otherwise false.

getComponentSystemNames
List<String> getComponentSystemNames()
Returns list of software components with its system name.

Returns:

List of software components with its system name.


Interface IDiagResultSpecialCoding
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult

public interface IDiagResultSpecialCoding

extends IDiagResult

Represents the result of a "read special coding" operation.

Method Summary
IDiagResultValue
getParameter(IDiagResultSpecialCoding.Parameter 2
Type parameterType)
4
Retrieves the current value for the specified parameterType.
6

Method Detail

getParameter
IDiagResultValue getParameter(IDiagResultSpecialCoding.ParameterType parameterType)

Retrieves the current value for the specified parameterType.

Parameters:

parameterType - - The type of the desired value.

Returns:

The current value for the specified type.


Enum IDiagResultSpecialCoding.ParameterType
Enum Constant Summary
BRAND
247
Part "brand" of special coding.
DERIVATE
247
Part "derivate" of special coding.
DOORS
247
Part "doors" of special coding.
WHEEL
247
Part "wheel" of special coding.
Interface IDiagResultStandardEnvironmentCondition
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResultValue

public interface IDiagResultStandardEnvironmentCondition

extends IDiagResultValue

Represents the standard environment condition data of an event memory entry.

Method Summary
IDiagResultStandardEnvironmentCondition.StandardEnvironmentC
onditionType
getStandardEnvironmentConditionTy
pe() 2
4
Returns the type ("meaning") of this standard 8
environment condition.

Method Detail

getStandardEnvironmentConditionType
IDiagResultStandardEnvironmentCondition.StandardEnvironmentConditionType getStandardEnvironmen
tConditionType()

Returns the type ("meaning") of this standard environment condition.

Returns:

The type ("meaning") of this standard environment condition.


Enum
IDiagResultStandardEnvironmentCondition.StandardEnvironment
ConditionType
Enum Constant Summary
DATE
249
date.
ERROR_COUNTER
249
error counter.
LIFECYCLE_COUNTER
249
lifecycle counter.
MILEAGE
249
mileage.
PRIORITY
249
priority.
STATE
249
state.
UNKNOWN
249
Actually no "meaning" known...
UNLEARN_COUNTER
249
unlearn counter.
Interface IDiagResultStatus
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult, IDiagResultTable

public interface IDiagResultStatus

extends IDiagResultTable

Interface for returning the result of a check operation.

Method Summary
IDiagResultValue
getDiagResultStatus() 2
Returns the status from the actuator diagnostic or basic setting as
5
DiagResultValue to distinguish between translated or shortname status. 1
IDiagResultStatus.EKWPResultState
getKwpResultState() 2
5
Returns the status from the actuator diagnostic or basic setting.
2
List<IDiagResultMeasurement>
getMeasuredValues() 2
5
Returns a list of measured values read during the operation.
1
String
getName() 2
5
Returns the name of the executed basic setting or actuator diagnosis.
0
String
getRecordDataIdentifier() 2
5
Returns the record data identifier of the executed service.
2
String
getStatus() 2
5
Returns the status from the actuator diagnostic or basic setting.
1

Method Detail

getName
String getName()
Returns the name of the executed basic setting or actuator diagnosis. For UDS control unit the name
contains the ODX-short name. For KWP control units the name contains the setting group number or the
actuator code. If the status is not assigned to a setting group or actuator the name will be left empty.

Returns:

The name of the actuator or basic setting group.

getStatus
String getStatus()

Returns the status from the actuator diagnostic or basic setting.

Returns:

The status message.

getDiagResultStatus
IDiagResultValue getDiagResultStatus()

Returns the status from the actuator diagnostic or basic setting as DiagResultValue to distinguish
between translated or shortname status. The translated status can be retrieved from
getDiagResultStatus.getTranslatedValue and the short name or kwp result state from
getDiagResultStatus.getValue.

Returns:

The status information.

getMeasuredValues
List<IDiagResultMeasurement> getMeasuredValues()

Returns a list of measured values read during the operation.

Returns:

List of measured value.


getRecordDataIdentifier
String getRecordDataIdentifier()

Returns the record data identifier of the executed service. Returns an empty string if no record data
identifier is available.

Returns:

the record data identifier.

getKwpResultState
IDiagResultStatus.EKWPResultState getKwpResultState()

Returns the status from the actuator diagnostic or basic setting.

Returns:

The origin status message.


Enum IDiagResultStatus.EKWPResultState
Enum Constant Summary
ACTUATOR_ABORT
253
Actuator diagnosis was aborted.
ACTUATOR_FINISHED
253
Actuator diagnosis was finished by ecu.
ACTUATOR_NOT_RUNNING
253
ONLY for KWP 2000 possible: actuator diagnosis is not running.
ACTUATOR_RUNNING
253
Actuator diagnosis is running.
ACTUATOR_RUNNING_NOT_ABORTABLE
253
ONLY for KWP 2000 relevant possible: actuator diagnosis is running, can not be aborted.
ACTUATOR_RUNNING_WITHOUT_CODE
253
ONLY for kwp1281: actuator diagnosis is running but the actuator code is not relevant as response.
ACTUATOR_UNDEFINED
253
ACTUATOR Unknown.
BASICSETTINGS_ABORTED
253
Routine is aborted - safety reason.
BASICSETTINGS_FINISHED
253
Routine is finished correctly.
BASICSETTINGS_OFF
253
Routine is not running.
BASICSETTINGS_ON
253
Routine is running.
BASICSETTINGS_SWITCH
253
Ecu is switched in eg. basic settings.
BASICSETTINGS_TIMEOUT
253
Routine is finished - timeout detected.
BASICSETTINGS_UNDEFINED
253
State of routine is unknown.
UDS
253
Only use for UDS.
UNKNOWN
253
Unknown.
Interface IDiagResultTable
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Superinterfaces:
IDiagResult

All Known Subinterfaces:


IDiagResultAdaptation, IDiagResultMeasurement, IDiagResultStatus

public interface IDiagResultTable

extends IDiagResult

Interface for handling table data.

Method Summary
String
getTableKey() 2
5
5
String
getTableKeyText() 2
5
5

Method Detail

getTableKey
String getTableKey()

Returns:

ODX table key.

getTableKeyText
String getTableKeyText()

Returns:

The text for the key.


Interface IDiagResultValue
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

All Known Subinterfaces:


IDiagResultEventInfo, IDiagResultStandardEnvironmentCondition

public interface IDiagResultValue

Represents a value returned by a diagnostic function.

Method Summary
List<IDiagResultValue>
getChildren() 2
5
Returns the list of child result values for this result.
9
String
getName() 2
5
Returns the ODX name of this value.
7
IDiagResultValue
getParent() 2
5
Returns the parent result object of this result.
9
IDiagResultValue.RangeInfo
getRangeInfo() 2
5
Returns the range info of this result getRangeInfo(). 8
String
getRecordDataIdentifier() 2
5
Returns the record data identifier of the executed service.
9
String
getTranslatedName() 2
5
Returns the translated name of this value.
7
String
getTranslatedValue() 2
5
Returns the value in its textual representation for this result.
8
IDiagResultValue.ValueType
getType() 2
5
Returns the type of this result's value.
8
String
getUnit() 2
5
Returns the unit of this value.
7
String
getValue() 2
5
Returns the value in its textual representation for this result.
7
boolean
isValid() 2
5
Returns if the information is valid and can be used.
8

Method Detail

getName
String getName()

Returns the ODX name of this value. Returns an empty string if no name is available.

Returns:

The name of this value.

getTranslatedName
String getTranslatedName()

Returns the translated name of this value. Returns an empty string if no name is available. If the translation
is not available the name whith a specific prefix will return.

Returns:

The translated name

getUnit
String getUnit()

Returns the unit of this value. If no unit is available an empty string will return.

Returns:

The unit of this value.

getValue
String getValue()
Returns the value in its textual representation for this result. For ODX elements the short name or texttable
entry will return. If used from webservice and the type is STRING, the characters which can not be
transported with XML are encoded with \ u notation. E.g. the value 0 is represented as _.

Returns:

The value of this result.

getTranslatedValue
String getTranslatedValue()

Returns the value in its textual representation for this result. For ODX elements the translation of the value
will return. If used from webservice and the type is STRING, the characters which can not be transported
with XML are encoded with \ u notation. E.g. the value 0 is represented as _.

Returns:

The value of this result.

getRangeInfo
IDiagResultValue.RangeInfo getRangeInfo()

Returns the range info of this result getRangeInfo().

Returns:

The range info.

getType
IDiagResultValue.ValueType getType()

Returns the type of this result's value.

Returns:

The type.

isValid
boolean isValid()
Returns if the information is valid and can be used.

Returns:

If the information is valid and can be used.

getChildren
List<IDiagResultValue> getChildren()

Returns the list of child result values for this result. Returns an empty list if this result object has no
children.

Returns:

The list of child result values.

getParent
IDiagResultValue getParent()

Returns the parent result object of this result. Returns null if this result has no parent.

Returns:

The parent result object or null.

getRecordDataIdentifier
String getRecordDataIdentifier()

Returns the record data identifier of the executed service. Returns an empty string if no record data
identifier is available.

Returns:

the record data identifier.


Enum IDiagResultValue.RangeInfo
Enum Constant Summary
NO_RANGE_INFO
260
no range info.
NOT_AVAILABLE
260
not available.
NOT_CODABLE
260
not codable.
NOT_DEFINED
260
not defined.
NOT_INITIALIZED
260
not initialzed.
NOT_VALID
260
invalid.
UNKNOWN
260
unknown.
VALUE_VALID
260
value valid.
Enum IDiagResultValue.ValueType
Enum Constant Summary
BYTEFIELD
261
byte field.
DATETIME
261
date and time.
FLOAT
261
float.
HEX
261
hexadecimal.
INT
261
integer.
STRING
261
string.
Interface IDiagResultVersions
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagResultVersions

Versions of used modules.

Method Summary
String
getAutomationAPIVersion() 2
6
3
String
getECFVersion() 2
6
4
String
getMCDServerAPIVersion() 2
6
3
String
getMCDServerVersion() 2
6
3
String
getPDUAPIVersion() 2
6
3
String
getPDUVersion() 2
6
3
String
getProductVersion() 2
6
2

Method Detail

getProductVersion
String getProductVersion()

Returns:

ODIS product version.


getAutomationAPIVersion
String getAutomationAPIVersion()

Returns:

Version of automation interface.

getMCDServerVersion
String getMCDServerVersion()

Returns:

MCD server version.

getMCDServerAPIVersion
String getMCDServerAPIVersion()

Returns:

MCD server API version.

getPDUAPIVersion
String getPDUAPIVersion()

Returns:

PDU API version.

getPDUVersion
String getPDUVersion()

Returns:

PDU version.
getECFVersion
String getECFVersion()

Returns:

ECF version.
Interface IDiagSoftwareCompositionComponentListEntry
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDiagSoftwareCompositionComponentListEntry

Input parameter object for settting the coding state of a software composition.

Method Summary
long
getNodeId() 2
6
Returns the node address of this entry.
5
boolean
isNodeIdAvailable() 2
6
Is the value for node id available and can be used..
5
void
setCoded(boolean coded) 2
6
Sets the coded state for this entry.
6

Method Detail

getNodeId
long getNodeId()

Returns the node address of this entry.

Returns:

The node address.

isNodeIdAvailable
boolean isNodeIdAvailable()

Is the value for node id available and can be used..

Returns:

If the value for node is available and can be used.


setCoded
void setCoded(boolean coded)

Sets the coded state for this entry.

Parameters:

coded - The coded state to set.


Interface IDoIPVCI
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IDoIPVCI

Represents a 'DoIP' VCI.

Method Summary
String
getIdentifier() 2
6
7
String
getIp() 2
6
7
String
getName() 2
6
7

Method Detail

getIdentifier
String getIdentifier()

Returns:

the identifier.

getName
String getName()

Returns:

the name.

getIp
String getIp()
Returns:

the ip address.
Interface IMacroEngine
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

public interface IMacroEngine

Method Summary
void
abort()
2
stops the execution of the macro. abort waits for up to 7
MAXTHREADTIMEOUT milliseconds for the macro execution to stop. that 1
may be necessary, if a diagnostic function is pending.
IMacroEngine.EngineState
execute(String macro, boolean debug)
2
7
start execution of a macro. if no macro is running, the macro
specified is loaded and started. 0
IMacroEngine.EngineState
getEngineState() 2
7
Returns the current engine state.
2
double
getInterval() 2
7
returns the execution interval.
2
int
getLineNumber() 2
7
gets the number of the currently executed line in the macro.
2
String
getMacrofile() 2
7
returns the name of the macro file.
1
String
getPythonError() 2
7
Delivers the python error string, or null, if no error was detected.
3
BlockingQueue<IMacroEngine.EngineState>
getStateQueue() 2
7
Delivers the blocking queue of engine states.
3
IMacroEngine.EngineState
pause()
2
pauses the execution of the macro. if a macro is running or being 7
debugged, the engine state is transferred to pause. otherwhiles there is no 1
effect.
void
setDebugMode(IMacroEngine.DebugMode debugMode) 2
7
sets the debug mode.
2
void
setInterval(double interval) 2
7
sets the execution interval.
1
void
setMacroEngineListener(IMacroEngineListener listener)
2
7
Sets the listener to be informed about changes of states, modes
and data. 0
void
triggerStep() 2
7
triggers the execution of one macro statement.
1

Method Detail

execute
IMacroEngine.EngineState execute(String macro,
 boolean debug)

start execution of a macro. if no macro is running, the macro specified is loaded and started. If a macro is
already running, paused or being debugged, the state is just transfereed to running, the parameter macro
is ignored. This method does NOT block until the until the Execution of the macro has finished. If starting of
the macro execution fails, the state is set to 'Stop'.

Parameters:

macro - - Path of the macro to execute.

debug - - Set true to debug the macro or


false form execution without debuging.

Returns:

resulting state of the macro engine

setMacroEngineListener
void setMacroEngineListener(IMacroEngineListener listener)

Sets the listener to be informed about changes of states, modes and data.

Parameters:

listener - - The listener to be informed; set null to ignore any changes or output.
abort
void abort()

stops the execution of the macro. abort waits for up to MAXTHREADTIMEOUT milliseconds for the macro
execution to stop. that may be necessary, if a diagnostic function is pending.

pause
IMacroEngine.EngineState pause()

pauses the execution of the macro. if a macro is running or being debugged, the engine state is transferred
to pause. otherwhiles there is no effect.

Returns:

the resulting engine state

triggerStep
void triggerStep()

triggers the execution of one macro statement.

setInterval
void setInterval(double interval)

sets the execution interval.

Parameters:

interval - the execution interval to set.

getMacrofile
String getMacrofile()

returns the name of the macro file.

Returns:

the name of the macro file


setDebugMode
void setDebugMode(IMacroEngine.DebugMode debugMode)

sets the debug mode.

Parameters:

debugMode - the debug mode to set.

getEngineState
IMacroEngine.EngineState getEngineState()

Returns the current engine state.

Returns:

the current engine state.

getInterval
double getInterval()

returns the execution interval.

Returns:

the execution interval.

getLineNumber
int getLineNumber()

gets the number of the currently executed line in the macro.

Returns:

number of current line or zero, if not available


getStateQueue
BlockingQueue<IMacroEngine.EngineState> getStateQueue()

Delivers the blocking queue of engine states. May be interesting for callers that dont want to set up a
listener for detecting the end of macro execution.

Returns:

a blocking queue which provides the state changes.

getPythonError
String getPythonError()

Delivers the python error string, or null, if no error was detected.

Returns:

the error string.


Enum IMacroEngine.DebugMode
Enum Constant Summary
ANIMATE
274
Debugger is in animation mode.
SINGLE_STEP
274
Debugger is in single step mode.
Enum IMacroEngine.EngineState
Enum Constant Summary
DEBUGGING
275
Engine is running in debug mode.
PAUSED
275
Engine is paused.
RUNNING
275
Engine is running in normal mode.
STOPPED
275
Engine is stopped (idle).
UNINITIALIZED
275
Engine is uninitialized.
Class IMacroEngine.Factory
de.volkswagen.odis.vaudas.vehiclefunction.automation.types

java.lang.Object

de.volkswagen.odis.vaudas.vehiclefunction.automation.types.IMacroEngine.Factory

Enclosing class:
IMacroEngine

public static class IMacroEngine.Factory

extends Object

Factory class giving access to the singleton macro engine.

Constructor Summary
Factory() 276

Method Summary
static
IMacroEngine
getInstance() 2
7
Delivers the singleton macro engine.
6

Constructor Detail

Factory
public Factory()

Method Detail

getInstance
public static IMacroEngine getInstance()

Delivers the singleton macro engine.

Returns:

the instance

You might also like