Signal Layer-Architecture
This layer is responsible for the CAN signal management. A CAN signal can have a width of 1-32 bit (also selectable as 1,2 or 4byte resolution) and is linked to signal configuration.The signal configuration holds the default status, the default value, the width and a reference to a callback function.
Signals can hold any kind of data, e.g. flags or analog data, etc. Once all messages have been defined, the user can be unconcerned about where the signal is located within a CAN message. The user can act with the CAN signals as they where in a system wide database.
Configuration | Meaning | Range | Default |
---|---|---|---|
| This parameter enables (1) or disables (0) the CAN signal management. | 0 / 1 | 1 |
| This parameter defines the maximal number of managed CAN signals. | 1 ... 32767 | 1 |
| This parameter enables (1) or disables (0) the argument checking of the CAN bus API functions. | 0 / 1 | 1 |
| This parameter sets the maximal width of a single integer value in byte. | 1, 2 or 4 | 2 |
| This parameter enables (1) or disables (0) the callback function. | 0 / 1 | 1 |
| This parameter controls if the width and position of can signal is given in bits or bytes. | BIT / BYTE | BYTE |
| To reduce memory usage, declare a static signal table. | 0 / 1 | 0 |
| To reduce memory usage don't use delete functions for signal. | 0 / 1 | 1 |
The CAN signal layer is configurable during compile time to minimize memory footprint and optimize performance. The following list shows the configuration parameters and their functionality:
*Note: To use the delete function the configuration parameter CANSIG_STATIC_CONFIG
must be set to 0.