Go to the documentation of this file.
36 #ifndef CAN_FORCE_TX_ORDER
37 #define CAN_FORCE_TX_ORDER 0
41 #if !defined(CAN_TX_BUFFER_SIZE) || CAN_TX_BUFFER_SIZE == 0
42 #define CAN_TX_BUFFER_SIZE 0
45 #undef CAN_FORCE_TX_ORDER
46 #define CAN_FORCE_TX_ORDER 0
49 #ifndef CAN_RX_BUFFER_SIZE
50 #define CAN_RX_BUFFER_SIZE 0
54 #if defined(SUPPORT_MCP2515) && (SUPPORT_MCP2515 == 1)
55 #define BUILD_FOR_MCP2515 1
57 #define BUILD_FOR_MCP2515 0
60 #if defined(SUPPORT_AT90CAN) && (SUPPORT_AT90CAN == 1)
61 #define BUILD_FOR_AT90CAN 1
63 #define BUILD_FOR_AT90CAN 0
66 #if defined(SUPPORT_SJA1000) && (SUPPORT_SJA1000 == 1)
67 #define BUILD_FOR_SJA1000 1
69 #define BUILD_FOR_SJA1000 0
72 #if ((BUILD_FOR_MCP2515 + BUILD_FOR_AT90CAN + BUILD_FOR_SJA1000) <= 1)
73 #if (BUILD_FOR_MCP2515 == 1)
75 #define mcp2515_init(...) can_init(__VA_ARGS__)
76 #define mcp2515_sleep(...) can_sleep(__VA_ARGS__)
77 #define mcp2515_wakeup(...) can_wakeup(__VA_ARGS__)
78 #define mcp2515_check_free_buffer(...) can_check_free_buffer(__VA_ARGS__)
79 #define mcp2515_check_message(...) can_check_message(__VA_ARGS__)
80 #define mcp2515_get_filter(...) can_get_filter(__VA_ARGS__)
81 #define mcp2515_static_filter(...) can_static_filter(__VA_ARGS__)
82 #define mcp2515_set_filter(...) can_set_filter(__VA_ARGS__)
83 #define mcp2515_get_message(...) can_get_message(__VA_ARGS__)
84 #define mcp2515_send_message(...) can_send_message(__VA_ARGS__)
85 #define mcp2515_read_error_register(...) can_read_error_register(__VA_ARGS__)
86 #define mcp2515_set_mode(...) can_set_mode(__VA_ARGS__)
88 #elif (BUILD_FOR_AT90CAN == 1)
90 #define at90can_init(...) can_init(__VA_ARGS__)
91 #define at90can_check_free_buffer(...) can_check_free_buffer(__VA_ARGS__)
92 #define at90can_check_message(...) can_check_message(__VA_ARGS__)
93 #define at90can_get_filter(...) can_get_filter(__VA_ARGS__)
94 #define at90can_set_filter(...) can_set_filter(__VA_ARGS__)
95 #define at90can_disable_filter(...) can_disable_filter(__VA_ARGS__)
97 #if CAN_RX_BUFFER_SIZE == 0
98 #define at90can_get_message(...) can_get_message(__VA_ARGS__)
100 #define at90can_get_buffered_message(...) can_get_message(__VA_ARGS__)
103 #if CAN_TX_BUFFER_SIZE == 0
104 #define at90can_send_message(...) can_send_message(__VA_ARGS__)
106 #define at90can_send_buffered_message(...) can_send_message(__VA_ARGS__)
109 #define at90can_read_error_register(...) can_read_error_register(__VA_ARGS__)
110 #define at90can_set_mode(...) can_set_mode(__VA_ARGS__)
112 #elif (BUILD_FOR_SJA1000 == 1)
114 #define sja1000_init(...) can_init(__VA_ARGS__)
115 #define sja1000_check_free_buffer(...) can_check_free_buffer(__VA_ARGS__)
116 #define sja1000_check_message(...) can_check_message(__VA_ARGS__)
117 #define sja1000_disable_filter(...) can_disable_filter(__VA_ARGS__)
118 #define sja1000_get_message(...) can_get_message(__VA_ARGS__)
119 #define sja1000_send_message(...) can_send_message(__VA_ARGS__)
120 #define sja1000_read_error_register(...) can_read_error_register(__VA_ARGS__)
121 #define sja1000_check_bus_off(...) can_check_bus_off(__VA_ARGS__)
122 #define sja1000_reset_bus_off(...) can_reset_bus_off(__VA_ARGS__)
123 #define sja1000_set_mode(...) can_set_mode(__VA_ARGS__)
127 #error No CAN-interface specified!
132 #ifndef CAN_INDICATE_TX_TRAFFIC_FUNCTION
133 #define CAN_INDICATE_TX_TRAFFIC_FUNCTION
136 #ifndef CAN_INDICATE_RX_TRAFFIC_FUNCTION
137 #define CAN_INDICATE_RX_TRAFFIC_FUNCTION
140 #ifdef CAN_DEBUG_LEVEL
141 #include <avr/pgmspace.h>
144 #define DEBUG_INFO(format, ...) printf_P(PSTR(format), ##__VA_ARGS__)
146 #define DEBUG_INFO(format, ...)
150 #endif // CAN_PRIVATE_H