31 #ifndef MCP2515_PRIVATE_H
32 #define MCP2515_PRIVATE_H
46 #include <avr/pgmspace.h>
58 #if (BUILD_FOR_MCP2515 == 1)
59 #if defined(__AVR_ATmega16__) || defined(__AVR_ATmega32__) || defined(__AVR_ATmega644__)
63 #define SUPPORT_FOR_MCP2515__
64 #elif defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__)
68 #define SUPPORT_FOR_MCP2515__
69 #elif defined(__AVR_ATmega8__) || defined(__AVR_ATmega48__) || \
70 defined(__AVR_ATmega88__) || defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__)
74 #define SUPPORT_FOR_MCP2515__
75 #elif defined(__AVR_ATmega128__)
79 #define SUPPORT_FOR_MCP2515__
80 #elif defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)
85 #define USE_SOFTWARE_SPI 1
86 #define SUPPORT_FOR_MCP2515__
88 #error choosen AVR-type is not supported yet!
93 #ifdef SUPPORT_FOR_MCP2515__
98 #ifndef MCP2515_CLKOUT_PRESCALER
99 #define MCP2515_CLKOUT_PRESCALER 0
101 #ifndef MCP2515_INTERRUPTS
102 #define MCP2515_INTERRUPTS (1<<RX1IE)|(1<<RX0IE)
110 #error MCP2515_CS ist nicht definiert!
113 #if defined(MCP2515_RX0BF) && !defined(MCP2515_RX1BF)
114 #warning only MCP2515_RX0BF but not MCP2515_RX1BF defined!
115 #elif !defined(MCP2515_RX0BF) && defined(MCP2515_RX1BF)
116 #warning only MCP2515_RX1BF but not MCP2515_RX0BF defined!
117 #elif defined(MCP2515_RX0BF) && defined(MCP2515_RX1BF)
118 #define RXnBF_FUNKTION
125 extern void mcp2515_write_register(
uint8_t adress,
uint8_t data );
150 mcp2515_bit_modify(
CANCTRL, 0xe0, mode);
151 while ((mcp2515_read_register(
CANSTAT) & 0xe0) != (mode & 0xe0))
159 #if SUPPORT_EXTENDED_CANID
167 extern void mcp2515_write_id(
const uint16_t *
id );
171 #endif // USE_EXTENDED_CANID
173 #endif // SUPPORT_FOR_MCP2515__
175 #endif // MCP2515_PRIVATE_H