The EDIABAS component is a hardware driver component for communication through EDIABAS supported devices.
Remarks
As a lot of the functionality of other stack components is integral part of the EDIABAS system, the AIDA EDIABAS Component
can not be used just as a replacement for other driver components. For instance response pending is handled already
in the underlying EDIABAS system, this has to be taken into account for setting up timeouts in the other
AIDA Stack Components or the application itself.
As soon as the AIDA EDIABAS Component is loaded, the EDIABAS API is initialized by the apiInit() function. Unloading the
AIDA EDIABAS Component leads to a call of the apiEnd() function of the EDIABAS API.
The online status of the stack is controlled by the parameters ECUName and JobNameInititialization being
not empty.
Setting the Stack online leads to calling the apiJob() function of the EDIABAS API. The parameters ECUName,
JobNameInititialization and ParametersInititialization are used. Changing one of these parameters
automatically leads to another call of apiJob() with the changed parameters.
Successful communication has been performed with an example configuration: ECUName set to "omi_test",
JobNameInititialization set to "set_bmw_fast",
ParametersInititialization set to ";;;;;;",
JobNameSendTelegram set to "sendtelegram" and
CutTailWidth set to "1".
Parameters
-
ECUName
-
The name of the ECU description file to be used for communication. The ECUName should be provided without file extension.
An empty ECUName will lead to status offline.
-
JobNameInititialization
-
Name of the job for setting the communication parameters. It has to be defined in the ECU description file
ECUName. An empty JobNameInititialization will lead to status offline.
-
ParametersInititialization
-
Parameters used for initialization of the communication. This single string parameter of the AIDA Component contains all parameters used in
EDIABAS. The EDIABAS parameters are seperated by ";". Descriptions of these parameters should be found in the specific job description
of the job JobNameInititialization of the ECU description file ECUName. The section "set_communication_pars" of the document
"BEST/2 Funktionsreferenz" can also be considered.
-
JobNameSendTelegram
-
Name of the job for sending a telegram with the binary data provided in the
TransmitData events.
-
LastError
-
In this parameter the contents of the apiErrorText() function for the last EDIABAS API call is provided.
-
CutTailWidth
-
The EDIABAS interface layer always provides a checksum in the received data, even when the parameters in
ParametersInititialization are set, that a checksum for the data to be sent is generated in the
EDIABAS interface layer. To be consistent with other AIDA Components, which handle adding and checking/removing
the checksum in the same component, the checksum at the tail of the received data has to be removed.
The CutTailWidth determines how many bytes at the end of the received data and should be omitted in
the data of ReceiveData events. If the checksum has
to be provided by the user/another AIDA Stack Component for
TransmitData events, according to the
setting in ParametersInititialization, the parameter CutTailWidth
should be set to 0 to get a consistent behaviour.
See Also
AIDA Overview, list of AIDA components