Overview CAA_CanL2.Library
1. Uniform library (CAA_CANL2.lib)

This library contains all functions and function block diagrams which are necessary for regular use and which are identical for all hardware platforms. These POUs also include all in- and outputs which are only of interest for an extra functionality.

The library offers a set of supplementary functions for the implementation of so-called Can Mini Drivers (Services for Can Mini Driver). These functions should not be called out of an application and are only meant to simplify the implementation of CAN bus drivers as far as possible.

Basically, the complete memory management, synchronization and communication is provided and centrally implemented once in “CAA_CANL2.lib”. This is to make sure that only the minimum chip specific functions must be provided within a Can Mini Driver (see documentation on “CAA.CanMiniDriver.lib”).

2. Library depending on the implementation (CAA_CANL2I.lib)

This library contains data types depending on the implementation. On the one hand, this leads to high performance on small controllers, on the other hand, the functionality on big systems is not restricted, as the data types may be enlarged ad lib. The contents of the data structures is accessed via handles.

In addition, this library allows for the provision of further POUs for an enhanced diagnosis.

3. Specification of the hardware abstraction layer for different can chips (Can Mini Driver)

This specification provides the interfaces and data types necessary for the implementation of so-called CAN Mini Drivers.

All functions defined have to be implemented. In CL2.GetProperty the driver reports, whether the output contains information or not. If a function is called with an input parameter depending on GetProperty, which is not supported by the driver, the function has to return an error.