LowPowerLab Forum

Hardware support => RF - Range - Antennas - RFM69 library => Topic started by: Johann on April 12, 2018, 02:31:10 PM

Title: Receiving Data with Arduino MKR GSM 1400, RFM69HW and RFM69 library
Post by: Johann on April 12, 2018, 02:31:10 PM
Hi, I can transmit data (node and gateway example) without any problems between 2 Moteino's.
But when I want to listen to this traffic with an additional Arduino MKR GSM 1400 connected to an RFM69HW I cannot receive any data.
I have connected the MISO, MOSI, SCK pins between the two devices and also the SS pin to the Arduino at pin 7.
I put this into my code to talk to the RFM69HW from the arduino:
...
radio.setCS(7);
radio.initialize(RFM69_FREQUENCY,RFM69_NODEID,RFM69_NETWORKID);
...
So I can read the temperature of the RFM69HW and all registers.

But I think my problem is the interrupt-pin. On which pin should I connect the DIO0? I read that radio.receiveDone() uses an interrupt and I have tried all the pins on my arduino - nothing happens. Or is there a way to tell the arduino-code or the library which pin I have to use (like the radio.setCS for the SS-signal)?

Many thanks, Johann
Title: Re: Receiving Data with Arduino MKR GSM 1400, RFM69HW and RFM69 library
Post by: Felix on April 12, 2018, 02:35:33 PM
By default the interrupt is on pin 3 for SAMD boards which I believe the MKR is:

#elif defined(ARDUINO_SAMD_ZERO) //includes Feather SAMD
  #define RF69_IRQ_PIN          3


You can construct the RFM69 library with an additional parameter to define a different pin:

RFM69(uint8_t slaveSelectPin=RF69_SPI_CS, uint8_t interruptPin=RF69_IRQ_PIN, bool isRFM69HW=false);

Ex this sets your CS to 7 and interrupt to 9, sets HW/HCW = true:

RFM69 radio(7, 9, true);