@charleshallard
Hello, I am trying to add the atmega 2560 to the libraries RFM12B_arrsi.h and RFM12B_arssi.cpp. What do I need to change or add to get this to work? I have tried adding
#elif defined(AVR_ATmega2560) || defined(AVR_ATmega1280)
#define RFM_DEFAULT_IRQ 2
#define SS_DDR DDRB
#define SS_PORT PORTB
#define SS_BIT 0
#define SPI_SS 53 // PB0, pin 19
#define SPI_MOSI 51 // PB2, pin 21
#define SPI_MISO 50 // PB3, pin 22
#define SPI_SCK 52 // PB1, pin 20
to RFM12B_arssi.h and
#elif defined(AVR_ATmega2560) || defined(AVR_ATmega1280)
if (irq_pin==10 || irq_pin==11 || irq_pin==2)
{
// 1st detach the existing one
detachInterrupt(irq_pin==2?2:irq_pin-10);
irq_pin = irqPin;
}
else
{
// Set new pin
irq_pin = RFM_DEFAULT_IRQ;
}
to the function void RFM12B::SetIRQ(uint6_t irqPin) in RFM12B_ arssi.cpp and
#elif defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
// IRQ authorized are D10 (INT0), D11 (INT1) or D2 (INT4) added by me :)
if (irq_pin==10 || irq_pin==11 || irq_pin==2)
{
if (nodeID != 0)
// INT0 or INT1 for pin D10/D11 and INT2 for pin D2
attachInterrupt(irq_pin==2?2:irq_pin-10, RFM12B::InterruptHandler, LOW);
else
// INT0 or INT1 for pin D10/D11 and INT2 for pin D2
detachInterrupt(irq_pin==2?2:irq_pin-10);
}
to RFM12B_arssi.cpp in the function RFM12B:: ConfigureInterrupts(); This does not work and it fails the detection in radio.isPresent. Any help would be greatly appreciated.