RFM12_arrsi adding atmega 2560



  • @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.


 

Looks like your connection to Community Forum was lost, please wait while we try to reconnect.