AIDA EDIABAS Component

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