Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Troubleshooting
  3. IRQ pin stay low after several hours of use

IRQ pin stay low after several hours of use

Scheduled Pinned Locked Moved Troubleshooting
3 Posts 1 Posters 329 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SnyfirS Offline
    SnyfirS Offline
    Snyfir
    wrote on last edited by
    #1

    I have an arduino pro mini 5V connected to an nrf24l01+

    my code is

    #define MY_DEBUG
    #define MY_RADIO_RF24
    #define MY_RX_MESSAGE_BUFFER_FEATURE
    #define MY_RF24_IRQ_PIN (2)
    #define MY_REPEATER_FEATURE
    
    #include <MySensors.h>
    
    MyMessage msg(0, V_CUSTOM);
    
    void setup()
    {
    }
    
    void presentation()
    {
    	sendSketchInfo("Test", "1.0");
    	present(0,  S_CUSTOM);
    }
    
    void loop()
    {
    }
    
    void receive(const MyMessage &myMsg)
    {
    	if (myMsg.type == V_CUSTOM && myMsg.sensor == 0) {
    		send(msg.set(F("pong")));
    	}
    }
    
    

    i send every minute a message to the node. But after some time the node is not responding.
    When i check the IRQ pin in the arduino (pin 2) and the nrf24l01+, this one is low. It means the nrf24l01+ has been received the last message but the interrupt has not been trigger.

    How can i fix this issue ? do you have a clue ?

    Thank you for your help

    1 Reply Last reply
    1
    • SnyfirS Offline
      SnyfirS Offline
      Snyfir
      wrote on last edited by
      #2

      When reception is not working, the status register value is 0x40, so RX_DR stay set.
      I think the clear of RX_DR is not working very well. i will try to add

      RF24_setStatus(_BV(RF24_RX_DR))
      

      at the end of RF24_irqHandler function

      SnyfirS 1 Reply Last reply
      0
      • SnyfirS Snyfir

        When reception is not working, the status register value is 0x40, so RX_DR stay set.
        I think the clear of RX_DR is not working very well. i will try to add

        RF24_setStatus(_BV(RF24_RX_DR))
        

        at the end of RF24_irqHandler function

        SnyfirS Offline
        SnyfirS Offline
        Snyfir
        wrote on last edited by
        #3

        @snyfir
        with this fix, everything work fine :smiley:

        1 Reply Last reply
        1
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        19

        Online

        11.7k

        Users

        11.2k

        Topics

        113.0k

        Posts


        Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • MySensors
        • OpenHardware.io
        • Categories
        • Recent
        • Tags
        • Popular