ADTF_DEVICE_TOOLBOX
3.12.1 (ADTF 3.18.3)
|
Plugin Filename | flexray.adtfplugin |
---|---|
Plugin Description | flexray.plugindescription |
Plugin Name | FlexRay Fibex Support Service Plugin |
License | ADTF |
Support Mail | support@digitalwerk.net |
Homepage URL | www.digitalwerk.net |
Plugin Version | 3.12.1 |
---|---|
Plugin File Version | 1.0 |
adtf::devicetb | 3.12.1 |
adtf | 3.18.3 |
adtf::ucom | 3.1.0 |
Name | FlexRay Fibex Support Service |
---|---|
CID | flexray.service.devicetb.cid |
Description | Use this service to extend the ADTF System with FlexRay support using fibex database. |
Type | Service |
Default Runlevel | session |
Name | Value | Type | Description | Subproperties |
---|---|---|---|---|
flexray_channel_1 | cFilenameList | Database for mapped FlexRay channel 1 | ||
flexray_channel_1_cluster_name | cString | Cluster name for mapped FlexRay channel 1 | ||
flexray_channel_2 | cFilenameList | Database for mapped FlexRay channel 2 | ||
flexray_channel_2_cluster_name | cString | Cluster name for mapped FlexRay channel 2 | ||
flexray_channel_3 | cFilenameList | Database for mapped FlexRay channel 3 | ||
flexray_channel_3_cluster_name | cString | Cluster name for mapped FlexRay channel 3 | ||
flexray_channel_4 | cFilenameList | Database for mapped FlexRay channel 4 | ||
flexray_channel_4_cluster_name | cString | Cluster name for mapped FlexRay channel 4 | ||
flexray_channel_5 | cFilenameList | Database for mapped FlexRay channel 5 | ||
flexray_channel_5_cluster_name | cString | Cluster name for mapped FlexRay channel 5 | ||
flexray_channel_6 | cFilenameList | Database for mapped FlexRay channel 6 | ||
flexray_channel_6_cluster_name | cString | Cluster name for mapped FlexRay channel 6 | ||
flexray_channel_7 | cFilenameList | Database for mapped FlexRay channel 7 | ||
flexray_channel_7_cluster_name | cString | Cluster name for mapped FlexRay channel 7 | ||
flexray_channel_8 | cFilenameList | Database for mapped FlexRay channel 8 | ||
flexray_channel_8_cluster_name | cString | Cluster name for mapped FlexRay channel 8 | ||
flexray_channel_9 | cFilenameList | Database for mapped FlexRay channel 9 | ||
flexray_channel_9_cluster_name | cString | Cluster name for mapped FlexRay channel 9 | ||
updatebit_behavior | 0 | tInt32 | If the PDU update-bits check is disabled (set to false), set this property how a PDU update is handled. For more information see chapter "FlexRay Service" in the SDK documentation. | |
use_legacy_updatebits | false | tBool | Check the update-bits in the PDU. |
IID |
---|
flexray_xml.parser.flexray.sdk.devicetb.adtf.iid |
macroresolver.ant.base.adtf.iid |
adtf_file_objects.devil.services.adtf.iid |
IID |
---|
bus_database_registry.axle.sdk.devicetb.adtf.iid |
flexray.axle.flexray.sdk.devicetb.adtf.iid |
flexray_database.axle.flexray.sdk.devicetb.adtf.iid |
flexray_coder.axle.flexray.sdk.devicetb.adtf.iid |
The Pins for receiving or sending new FlexRay Samples must be from a FlexRay Stream Type. The following code shows how to create an Output Pin with this type:
All samples which are transmitted on these pins are assumed to be from a FlexRay Stream Type.
FlexRay data is stored in specific ADTF media samples of the type adtf::devicetb::sdk::flexray::stream_meta_type_flexray. The data structure used to store FlexRay frames is adtf::devicetb::sdk::flexray::tFlexRayData. Inside the media sample a vector of this frames is stored, which can be easily accessed by using the class adtf::devicetb::sdk::flexray::cFlexRayFrameVector. The following example shows the handling of a FlexRay media samples like it may be implemented by the OnPinEvent method of an ADTF filter:
An example for creating flexray data is provided within the flexray-randomgenerator-example.
The configuration of the FlexRay communication parameters and scheduling is stored in the Fibex database. To access this database the flexray service should be used. This service implements the adtf::devicetb::sdk::flexray::IFlexRaySupport interface. The corresponding nChannelID handles the requested property variable (further information here: subsection_flx_channel_properties). To get access to this database the following code sequence can be used:
ADTF provides the possibility to load Fibex Files via the flexray service. If you enter a Fibex file here, it will be parsed and loaded into the cache after playing your configuration.
To handle signal values on a high level abstraction the FlexRay coder objects can be used. Objects of this type can be created by the FlexRay service. They implement the interface adtf::devicetb::sdk::flexray::IFlexRayCoder. Signals and PDUs are identified by IDs. These IDs are assigned by the FlexRay service during runtime. They can be used during the lifetime of filter modules.
The decoding of signal values can be achieved on two different ways:
Both ways are influenced by the property flexray_updatebit_behavior
. According to the settings of this property, PDUs and signal groups are processed differently:
DO_NOT_UPDATE
SAMPLE_AND_HOLD
USE_RECEIVED_VALUE
Whenever data buffers are updated on receive, PDU or signal values may be read using adtf::devicetb::sdk::flexray::IFlexRayCoder::GetSignalValue().
If the update bit is used according to the configuration of property flexray_updatebit_behavior
the user will in any way get only valid PDUs and signals, but there is no access to the update bit itself. If this information is vital to your implementation feel free to access the raw values of a FlexRay frame as explained in Low level FlexRay data handling