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. RFM69 ATC not working?

RFM69 ATC not working?

Scheduled Pinned Locked Moved Troubleshooting
39 Posts 6 Posters 3.6k Views 7 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.
  • mfalkviddM mfalkvidd

    also, getReceivingRSSI will return the RSSI from the last received message. It shouldn't be affected by the TX power of the node, and it is probably only updated when a message is sent to the node.

    T Offline
    T Offline
    TSD
    wrote on last edited by
    #7

    @mfalkvidd
    I added a sending a temperature measurement before RFM69_getReceivingRSSI and enabled ATC, but get a similar result. The code is now as follows (I cleaned up the comments):

    txPower = RFM69_getTxPowerLevel();       // Get TX power
    float temperature = readTemp705x();      // Read temperature
    
    send(msgTemp.set(temperature, 1),0);    // Send temperature
    
    rssiSend    = RFM69_getSendingRSSI();
    rssiReceive = RFM69_getReceivingRSSI();
    
    send(msgRSSI.set(txPower,2));		// Send TX power
    send(msgRSSI.set(rssiSend,3));		// Send sending RSSI
    send(msgRSSI.set(rssiReceive,3));	// Send receiving RSSI
    
    

    The gateway log shows that the power is increased until the maximum allowed (20 dBm), but no change in RSSI.

    TSF:MSG:READ,12-12-0,s=1,c=1,t=0,pt=7,l=5,sg=0:23.8
    TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:11.00
    TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-79.000
    TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-42.000
    
    TSF:MSG:READ,12-12-0,s=1,c=1,t=0,pt=7,l=5,sg=0:23.8
    TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:13.00
    TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-96.000
    TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-42.000
    
    TSF:MSG:READ,12-12-0,s=1,c=1,t=0,pt=7,l=5,sg=0:23.8
    TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:17.00
    TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-97.000
    TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-42.000
    
    TSF:MSG:READ,12-12-0,s=1,c=1,t=0,pt=7,l=5,sg=0:23.8
    TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:20.00
    TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-96.000
    TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-43.000
    

    Any idea why this doesn't work?

    I'm using a Raspberry Pi gateway now, is it easy to measure RSSI on that as well? I can switch to an Arduino gateway if required.

    mfalkviddM 1 Reply Last reply
    0
    • T TSD

      @mfalkvidd
      I added a sending a temperature measurement before RFM69_getReceivingRSSI and enabled ATC, but get a similar result. The code is now as follows (I cleaned up the comments):

      txPower = RFM69_getTxPowerLevel();       // Get TX power
      float temperature = readTemp705x();      // Read temperature
      
      send(msgTemp.set(temperature, 1),0);    // Send temperature
      
      rssiSend    = RFM69_getSendingRSSI();
      rssiReceive = RFM69_getReceivingRSSI();
      
      send(msgRSSI.set(txPower,2));		// Send TX power
      send(msgRSSI.set(rssiSend,3));		// Send sending RSSI
      send(msgRSSI.set(rssiReceive,3));	// Send receiving RSSI
      
      

      The gateway log shows that the power is increased until the maximum allowed (20 dBm), but no change in RSSI.

      TSF:MSG:READ,12-12-0,s=1,c=1,t=0,pt=7,l=5,sg=0:23.8
      TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:11.00
      TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-79.000
      TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-42.000
      
      TSF:MSG:READ,12-12-0,s=1,c=1,t=0,pt=7,l=5,sg=0:23.8
      TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:13.00
      TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-96.000
      TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-42.000
      
      TSF:MSG:READ,12-12-0,s=1,c=1,t=0,pt=7,l=5,sg=0:23.8
      TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:17.00
      TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-97.000
      TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-42.000
      
      TSF:MSG:READ,12-12-0,s=1,c=1,t=0,pt=7,l=5,sg=0:23.8
      TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:20.00
      TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-96.000
      TSF:MSG:READ,12-12-0,s=3,c=1,t=24,pt=7,l=5,sg=0:-43.000
      

      Any idea why this doesn't work?

      I'm using a Raspberry Pi gateway now, is it easy to measure RSSI on that as well? I can switch to an Arduino gateway if required.

      mfalkviddM Offline
      mfalkviddM Offline
      mfalkvidd
      Mod
      wrote on last edited by
      #8

      @tsd sorry, no idea at the moment.

      For the rpi gw, just edit https://github.com/mysensors/MySensors/blob/development/examples_linux/mysgw.cpp (add the receive function from my sketch and start from the make step)

      T 2 Replies Last reply
      0
      • mfalkviddM mfalkvidd

        @tsd sorry, no idea at the moment.

        For the rpi gw, just edit https://github.com/mysensors/MySensors/blob/development/examples_linux/mysgw.cpp (add the receive function from my sketch and start from the make step)

        T Offline
        T Offline
        TSD
        wrote on last edited by
        #9

        @mfalkvidd
        OK, tnx for now. I'll look at gateway rssi tomorrow evening

        1 Reply Last reply
        1
        • mfalkviddM mfalkvidd

          @tsd sorry, no idea at the moment.

          For the rpi gw, just edit https://github.com/mysensors/MySensors/blob/development/examples_linux/mysgw.cpp (add the receive function from my sketch and start from the make step)

          T Offline
          T Offline
          TSD
          wrote on last edited by
          #10

          @mfalkvidd
          I modified my code to include your receive function, but I wasn't sure how to use it in the main loop.

          #include <MySensors.h>
          
          
          MyMessage msgTemp(1,V_TEMP);
          MyMessage msgRSSI(2,V_LEVEL);
          
          #define ARDUINO 100
          // This space is intended to be used to include arduino libraries
          
          #undef ARDUINO
          
          void setup()
          {
                  // Setup locally attached sensors
          }
          
          void presentation()
          {
                  // Present locally attached sensors here
          present(1,S_SOUND);
          
          }
          
          void loop()
          {
                  // Send locally attached sensors data here
          receive(msgTemp);
          }
          
          void receive(const MyMessage &message)
          {
            int16_t rssiReceive = RFM69_getReceivingRSSI();
            if (message.sender == 1 ) {
              send(msgRSSI.set(rssiReceive,0));
            }
          }
          
          

          I figured that you have to use your receive function to capture a message from the node and then do an RSSI measurement. Since I have a msgTemp coming from the node, I used that.

          After compiling the code and running the SGW, I get the following error in the logs:

          Serial - write failed: Resource temporarily unavailable
          

          Do you know what I did wrong?

          mfalkviddM 1 Reply Last reply
          0
          • T TSD

            @mfalkvidd
            I modified my code to include your receive function, but I wasn't sure how to use it in the main loop.

            #include <MySensors.h>
            
            
            MyMessage msgTemp(1,V_TEMP);
            MyMessage msgRSSI(2,V_LEVEL);
            
            #define ARDUINO 100
            // This space is intended to be used to include arduino libraries
            
            #undef ARDUINO
            
            void setup()
            {
                    // Setup locally attached sensors
            }
            
            void presentation()
            {
                    // Present locally attached sensors here
            present(1,S_SOUND);
            
            }
            
            void loop()
            {
                    // Send locally attached sensors data here
            receive(msgTemp);
            }
            
            void receive(const MyMessage &message)
            {
              int16_t rssiReceive = RFM69_getReceivingRSSI();
              if (message.sender == 1 ) {
                send(msgRSSI.set(rssiReceive,0));
              }
            }
            
            

            I figured that you have to use your receive function to capture a message from the node and then do an RSSI measurement. Since I have a msgTemp coming from the node, I used that.

            After compiling the code and running the SGW, I get the following error in the logs:

            Serial - write failed: Resource temporarily unavailable
            

            Do you know what I did wrong?

            mfalkviddM Offline
            mfalkviddM Offline
            mfalkvidd
            Mod
            wrote on last edited by mfalkvidd
            #11

            @tsd

             present(1,S_SOUND);
            

            should be

            present(2,S_SOUND);
            

            and you don’t need MyMessage msgTemp(1,V_TEMP);

            I am not sure about the error. Are you using the rpi gw as serial, mqtt or ethernet gw? (What was your configure command?)

            T 2 Replies Last reply
            0
            • mfalkviddM mfalkvidd

              @tsd

               present(1,S_SOUND);
              

              should be

              present(2,S_SOUND);
              

              and you don’t need MyMessage msgTemp(1,V_TEMP);

              I am not sure about the error. Are you using the rpi gw as serial, mqtt or ethernet gw? (What was your configure command?)

              T Offline
              T Offline
              TSD
              wrote on last edited by
              #12

              @mfalkvidd
              I improved the power supply of the RFM (added linear regulator) on the gateway and the error is gone.

              The code doesn't compile if I don't declare msgTemp, as I use msgTemp in the main loop.

              Where should I see the message the GW is sending? On the node? I'm using a custom node without a serial connection, so I can't see incoming messages on the node. Is there a way to have the GW send the RSSI to its own log?

              mfalkviddM 1 Reply Last reply
              0
              • mfalkviddM mfalkvidd

                @tsd

                 present(1,S_SOUND);
                

                should be

                present(2,S_SOUND);
                

                and you don’t need MyMessage msgTemp(1,V_TEMP);

                I am not sure about the error. Are you using the rpi gw as serial, mqtt or ethernet gw? (What was your configure command?)

                T Offline
                T Offline
                TSD
                wrote on last edited by
                #13

                @mfalkvidd
                I was using serial gateway by the way.

                1 Reply Last reply
                0
                • T TSD

                  @mfalkvidd
                  I improved the power supply of the RFM (added linear regulator) on the gateway and the error is gone.

                  The code doesn't compile if I don't declare msgTemp, as I use msgTemp in the main loop.

                  Where should I see the message the GW is sending? On the node? I'm using a custom node without a serial connection, so I can't see incoming messages on the node. Is there a way to have the GW send the RSSI to its own log?

                  mfalkviddM Offline
                  mfalkviddM Offline
                  mfalkvidd
                  Mod
                  wrote on last edited by mfalkvidd
                  #14

                  @tsd I don’t know. I've always connected the gateways to my controller where I get logs and graphs.

                  Maybe you can use GATEWAY_DEBUG(text)

                  T 1 Reply Last reply
                  0
                  • mfalkviddM mfalkvidd

                    @tsd I don’t know. I've always connected the gateways to my controller where I get logs and graphs.

                    Maybe you can use GATEWAY_DEBUG(text)

                    T Offline
                    T Offline
                    TSD
                    wrote on last edited by
                    #15

                    @mfalkvidd

                    #define GATEWAY_DEBUG(text)
                    

                    or

                    #define MY_DEBUG
                    

                    doesn't show any additional messages in the log, besides the node messages.

                    In the mean time I installed Domoticz to try it your way, but don't see the USB port that I tried to make by installing the serial gateway (ttyUSB020, which is not in /dev yet, so should be free).

                    This command should take care of that, right?

                    ./configure --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyUSB020
                    

                    Sorry to be such a pain, but I would really like to get this sorted out.

                    mfalkviddM 1 Reply Last reply
                    0
                    • T TSD

                      @mfalkvidd

                      #define GATEWAY_DEBUG(text)
                      

                      or

                      #define MY_DEBUG
                      

                      doesn't show any additional messages in the log, besides the node messages.

                      In the mean time I installed Domoticz to try it your way, but don't see the USB port that I tried to make by installing the serial gateway (ttyUSB020, which is not in /dev yet, so should be free).

                      This command should take care of that, right?

                      ./configure --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyUSB020
                      

                      Sorry to be such a pain, but I would really like to get this sorted out.

                      mfalkviddM Offline
                      mfalkviddM Offline
                      mfalkvidd
                      Mod
                      wrote on last edited by
                      #16

                      @tsd sorry for being unclear. This is how to use GATEWAY_DEBUG:

                      GATEWAY_DEBUG("This message will be sent to the debug log")
                      

                      But I am not sure it is available in sketches and I don't have access to a computer at the moment.

                      The configure command looks good. After running configure, did you continue with make, etc?

                      T 1 Reply Last reply
                      0
                      • mfalkviddM mfalkvidd

                        @tsd sorry for being unclear. This is how to use GATEWAY_DEBUG:

                        GATEWAY_DEBUG("This message will be sent to the debug log")
                        

                        But I am not sure it is available in sketches and I don't have access to a computer at the moment.

                        The configure command looks good. After running configure, did you continue with make, etc?

                        T Offline
                        T Offline
                        TSD
                        wrote on last edited by
                        #17

                        @mfalkvidd
                        Do you mean

                        #define MY_DEBUG_VERBOSE_GATEWAY
                        

                        That uses the GATEWAY_DEBUG("text") macro that you are referring to. I tried that, but it doesn't give any additional output in the log.

                        Yes, this is the complete code I run:

                        sudo ./configure --my-transport=rfm69 --my-rfm69-frequency=868 --my-is-rfm69hw --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyUSB020
                        sudo make install
                        sudo systemctl start mysgw.service
                        

                        But ttyUSB020 doesn't appear in /dev afterwards, nor does Domoticz list it.

                        mfalkviddM 1 Reply Last reply
                        0
                        • T TSD

                          @mfalkvidd
                          Do you mean

                          #define MY_DEBUG_VERBOSE_GATEWAY
                          

                          That uses the GATEWAY_DEBUG("text") macro that you are referring to. I tried that, but it doesn't give any additional output in the log.

                          Yes, this is the complete code I run:

                          sudo ./configure --my-transport=rfm69 --my-rfm69-frequency=868 --my-is-rfm69hw --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyUSB020
                          sudo make install
                          sudo systemctl start mysgw.service
                          

                          But ttyUSB020 doesn't appear in /dev afterwards, nor does Domoticz list it.

                          mfalkviddM Offline
                          mfalkviddM Offline
                          mfalkvidd
                          Mod
                          wrote on last edited by mfalkvidd
                          #18

                          @tsd I think you'll need to run make before make install.

                          configure prepares the settings for make
                          make compiles the code into an executable file called mysgw, including changes to the cpp file and the settings from the configure command
                          make install copies the mysgw executable to /etc/init.d/

                          1 Reply Last reply
                          0
                          • T Offline
                            T Offline
                            TSD
                            wrote on last edited by
                            #19

                            If I run "make install" while the code has not compiled yet, it will compile before installing. If you first run "make" seperately, "make install" will only install.

                            I'm almost there. I configured an Ethernet gateway (couldn't get serial gateway to work) and can now see the temperature, receive RSSI and sending RSSI from the node in Domoticz.

                            The gateway receive function shows up as "S_ARDUINO_REPEATER_NODE", but there's no data yet.

                            What data should I pass on to your receive function? My gateway code is now as follows:

                            #define MY_DEBUG_VERBOSE_GATEWAY
                            #include <MySensors.h>
                            
                            
                            MyMessage msgTemp(1,V_TEMP);
                            MyMessage msgRSSI(2,V_LEVEL);
                            
                            #define ARDUINO 100
                            // This space is intended to be used to include arduino libraries
                            
                            #undef ARDUINO
                            
                            void setup()
                            {
                                    // Setup locally attached sensors
                            }
                            
                            void presentation()
                            {
                                    // Present locally attached sensors here
                            present(2,S_SOUND);
                            }
                            
                            void loop()
                            {
                                    // Send locally attached sensors data here
                            receive(msgTemp);
                            }
                            
                            void receive(const MyMessage &message)
                            {
                              int16_t rssiReceive = RFM69_getReceivingRSSI();
                              if (message.sender == 1 ) {
                                send(msgRSSI.set(rssiReceive,0));
                              }
                            }
                            
                            
                            mfalkviddM 1 Reply Last reply
                            1
                            • T TSD

                              If I run "make install" while the code has not compiled yet, it will compile before installing. If you first run "make" seperately, "make install" will only install.

                              I'm almost there. I configured an Ethernet gateway (couldn't get serial gateway to work) and can now see the temperature, receive RSSI and sending RSSI from the node in Domoticz.

                              The gateway receive function shows up as "S_ARDUINO_REPEATER_NODE", but there's no data yet.

                              What data should I pass on to your receive function? My gateway code is now as follows:

                              #define MY_DEBUG_VERBOSE_GATEWAY
                              #include <MySensors.h>
                              
                              
                              MyMessage msgTemp(1,V_TEMP);
                              MyMessage msgRSSI(2,V_LEVEL);
                              
                              #define ARDUINO 100
                              // This space is intended to be used to include arduino libraries
                              
                              #undef ARDUINO
                              
                              void setup()
                              {
                                      // Setup locally attached sensors
                              }
                              
                              void presentation()
                              {
                                      // Present locally attached sensors here
                              present(2,S_SOUND);
                              }
                              
                              void loop()
                              {
                                      // Send locally attached sensors data here
                              receive(msgTemp);
                              }
                              
                              void receive(const MyMessage &message)
                              {
                                int16_t rssiReceive = RFM69_getReceivingRSSI();
                                if (message.sender == 1 ) {
                                  send(msgRSSI.set(rssiReceive,0));
                                }
                              }
                              
                              
                              mfalkviddM Offline
                              mfalkviddM Offline
                              mfalkvidd
                              Mod
                              wrote on last edited by
                              #20

                              @tsd MySensors will automatically call receive() when the node receives a message. It should not be called manually.

                              1 Reply Last reply
                              0
                              • gohanG Offline
                                gohanG Offline
                                gohan
                                Mod
                                wrote on last edited by
                                #21

                                This is how I monitor RSSI and power % from the node: sending RSSI should be close to the RSSI target value set in the config file. I left atc enabled and if I move the node away from the gateway I see the power % going up while RSSI value stays more or less the same.

                                #ifdef MY_RADIO_RFM69
                                	rssi = RFM69_getSendingRSSI();             // read RSSI in RFM69. Measure reception signal from gw
                                	send(msgRSSI1.set(rssi));                  // send RSSI level
                                	wait(500);                                 // wait to get idle
                                
                                	rssi = RFM69_getReceivingRSSI();           // read RSSI in RFM69. Wait and measure background noise
                                	send(msgRSSI2.set(rssi));                  // send RSSI level
                                	wait(200);                                 // wait for next send
                                
                                	PwrPcnt = RFM69_getTxPowerPercent();      // read TX Power in RFM69
                                	send(msgPWR.set(PwrPcnt));				  // send TX Power
                                #endif
                                
                                T 1 Reply Last reply
                                1
                                • T Offline
                                  T Offline
                                  TSD
                                  wrote on last edited by
                                  #22

                                  @mfalkvidd
                                  My code now looks pretty much the same as yours, except for the OTA stuff. But I don't see gateway messages in Domoticz. The node shows up with all its measurements.

                                  #define MY_DEBUG_VERBOSE_GATEWAY
                                  #include <MySensors.h>
                                  
                                  MyMessage msgRSSI(1,V_LEVEL);
                                  
                                  #define ARDUINO 100
                                  // This space is intended to be used to include arduino libraries
                                  
                                  #undef ARDUINO
                                  
                                  void setup()
                                  {
                                          // Setup locally attached sensors
                                  }
                                  
                                  void presentation()
                                  {
                                          // Present locally attached sensors here
                                  present(1,S_SOUND);
                                  
                                  }
                                  
                                  void loop()
                                  {
                                          // Send locally attached sensors data here
                                  }
                                  
                                  void receive(const MyMessage &message)
                                  {
                                    int16_t rssiReceive = RFM69_getReceivingRSSI();
                                    if (message.sender == 1 ) {
                                      send(msgRSSI.set(rssiReceive,0));
                                    }
                                  }
                                  

                                  Is the gateway supposed to show up as a measurement? Any idea why that doesn't happen?

                                  1 Reply Last reply
                                  0
                                  • gohanG gohan

                                    This is how I monitor RSSI and power % from the node: sending RSSI should be close to the RSSI target value set in the config file. I left atc enabled and if I move the node away from the gateway I see the power % going up while RSSI value stays more or less the same.

                                    #ifdef MY_RADIO_RFM69
                                    	rssi = RFM69_getSendingRSSI();             // read RSSI in RFM69. Measure reception signal from gw
                                    	send(msgRSSI1.set(rssi));                  // send RSSI level
                                    	wait(500);                                 // wait to get idle
                                    
                                    	rssi = RFM69_getReceivingRSSI();           // read RSSI in RFM69. Wait and measure background noise
                                    	send(msgRSSI2.set(rssi));                  // send RSSI level
                                    	wait(200);                                 // wait for next send
                                    
                                    	PwrPcnt = RFM69_getTxPowerPercent();      // read TX Power in RFM69
                                    	send(msgPWR.set(PwrPcnt));				  // send TX Power
                                    #endif
                                    
                                    T Offline
                                    T Offline
                                    TSD
                                    wrote on last edited by
                                    #23

                                    @gohan
                                    I added your code to my node. It gives exactly the same results as my own code. What kind of node are you using? Are you using the HW or W version of the RFM69?

                                    1 Reply Last reply
                                    0
                                    • gohanG Offline
                                      gohanG Offline
                                      gohan
                                      Mod
                                      wrote on last edited by
                                      #24

                                      it works the same, of course if you have a HW version you will see TX power % lower compared to a W module. I am not using those functions on the gateway because they are actually more node related

                                      T 1 Reply Last reply
                                      0
                                      • gohanG gohan

                                        it works the same, of course if you have a HW version you will see TX power % lower compared to a W module. I am not using those functions on the gateway because they are actually more node related

                                        T Offline
                                        T Offline
                                        TSD
                                        wrote on last edited by TSD
                                        #25

                                        @gohan @mfalkvidd
                                        I think it is related to the Raspberry Pi implementation of MySensors. If I use an Arduino/RFM69 gateway, the RSSI is as expected. At close range, the power drops to the minimum possible level and the RSSI is strong. I noticed that the interrupt pin is toggled during communication, see picture below (orange is node current, blue is gateway interrupt).
                                        0_1540320711757_arduino-gateway_node-current_gw-interrupt.bmp

                                        If I use the Raspberry gateway (with origin/development-3.0.0 MySensors), I get the following result (orange is node current, yellow is gateway interrupt). The same result is obtained with MySensors 2.3.0 (origin/master). I couldn't get the origin/development version to compile. It gives an error about MY_DEBUGDEVICE.
                                        0_1540320810723_raspberry-gateway_node-current_gw-interrupt.bmp
                                        Apart from the much higher node current (and worse RSSI), the interrupt pin is always high and not toggled.

                                        Are you guys using a Raspberry gateway, or an Arduino gateway?

                                        I haven't had time to dig into to the MySensors code further, but does any of you know if this could be the problem?

                                        mfalkviddM 1 Reply Last reply
                                        0
                                        • T TSD

                                          @gohan @mfalkvidd
                                          I think it is related to the Raspberry Pi implementation of MySensors. If I use an Arduino/RFM69 gateway, the RSSI is as expected. At close range, the power drops to the minimum possible level and the RSSI is strong. I noticed that the interrupt pin is toggled during communication, see picture below (orange is node current, blue is gateway interrupt).
                                          0_1540320711757_arduino-gateway_node-current_gw-interrupt.bmp

                                          If I use the Raspberry gateway (with origin/development-3.0.0 MySensors), I get the following result (orange is node current, yellow is gateway interrupt). The same result is obtained with MySensors 2.3.0 (origin/master). I couldn't get the origin/development version to compile. It gives an error about MY_DEBUGDEVICE.
                                          0_1540320810723_raspberry-gateway_node-current_gw-interrupt.bmp
                                          Apart from the much higher node current (and worse RSSI), the interrupt pin is always high and not toggled.

                                          Are you guys using a Raspberry gateway, or an Arduino gateway?

                                          I haven't had time to dig into to the MySensors code further, but does any of you know if this could be the problem?

                                          mfalkviddM Offline
                                          mfalkviddM Offline
                                          mfalkvidd
                                          Mod
                                          wrote on last edited by
                                          #26

                                          @tsd nice work. I'm using an esp8266 gateway but I don't use atc.

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


                                          13

                                          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