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. Development
  3. rfm69 and atc

rfm69 and atc

Scheduled Pinned Locked Moved Development
49 Posts 13 Posters 15.5k Views 12 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.
  • L Offline
    L Offline
    lafleur
    wrote on last edited by
    #37

    It's great to see that you got it all working from the PR440. I hope others will find your work useful....

    I'm my test,it works very well.....

    B 1 Reply Last reply
    0
    • FleischtorteF Fleischtorte

      @lafleur thanks for your work! On the weekend i was able to upgrade the driver and enable ATC with RSSI-Report. With the instructions from PR440 it was very easy :thumbsup:

      frenchoF Offline
      frenchoF Offline
      frencho
      wrote on last edited by
      #38

      @Fleischtorte would you accept to share the work ? I started to play with the RFM69, but didn't get to the ATC part yet. It could save me a couple of hours, and debug ^^

      Your second life begins when you understand you only have one !

      1 Reply Last reply
      0
      • L lafleur

        It's great to see that you got it all working from the PR440. I hope others will find your work useful....

        I'm my test,it works very well.....

        B Offline
        B Offline
        BenCranston
        wrote on last edited by
        #39

        @lafleur @Fleischtorte @frencho I think I'm a bit dense today. I don't understand where the code currently sits in terms of something that could be tested. I see that PR440 was closed and referenced to go back to PR437 or open a new PR? I'd love to give ATC code a go on my RFM69HW's. Is it being integrated into the development branch? How would I go about testing at this time? I did a quick look at the codebase in git and there is no mention of ATC in the MySensors dev branch... A quick diff of the RFM69.cpp code from Felix and MySensors shows a few differences, so they are not 100% in sync. Alas, I'm at a loss on how to apply the work already done to test.. I can "git clone" like a banshee, but beyond that I'm lost with Jenkins. Sorry, again, dense today...

        Any advice on how I can help is appreciated. I can test pretty easily. All of my nodes are Moteino's with RFM69HW radios.

        Thanks again for everyone's efforts and work to make ATC a reality in the MySensors codebase!

        1 Reply Last reply
        0
        • FleischtorteF Offline
          FleischtorteF Offline
          Fleischtorte
          wrote on last edited by Fleischtorte
          #40

          @frencho @BenCranston
          This is my implementation of PR440

          first download new RFM69 driver from LowPowerLab https://github.com/LowPowerLab/RFM69/archive/master.zip
          Replace the files from libraries\MySensors\drivers\RFM69 (copy all and replace)

          Change in file RFM69.cpp line 31-32

          #include <RFM69.h>
          #include <RFM69registers.h>
          

          to

          #include "RFM69.h"
          #include "RFM69registers.h"
          

          in RFM69_ATC.cpp line 32-34

          #include <RFM69_ATC.h>
          #include <RFM69.h>   // include the RFM69 library files as well
          #include <RFM69registers.h>
          

          to

          #include "RFM69_ATC.h"
          #include "RFM69.h"   // include the RFM69 library files as well
          #include "RFM69registers.h"
          

          i think this was the driver..

          next was mysensors

          in file libraries/MySensors/MySensor.h line 268

          #include "drivers/RFM69/RFM69_ATC.cpp"
          

          in file libraries/MySensors/core/MyTransportRFM69.cpp
          first in line 24

          #include "drivers/RFM69/RFM69_ATC.h"
          

          line 25-26

          RFM69 _radio(MY_RF69_SPI_CS, MY_RF69_IRQ_PIN, MY_RFM69HW, MY_RF69_IRQ_NUM);
          uint8_t _address;
          

          to

          #ifdef MY_RFM69_Enable_ATC
             RFM69_ATC 	_radio(MY_RF69_SPI_CS, MY_RF69_IRQ_PIN, MY_RFM69HW, MY_RF69_IRQ_NUM);
          #else
             RFM69 		_radio(MY_RF69_SPI_CS, MY_RF69_IRQ_PIN, MY_RFM69HW, MY_RF69_IRQ_NUM);	
          #endif
          uint8_t _address;
          

          and line 53 idk if this is necessary

          return _radio.sendWithRetry(to,data,len);
          

          to

          	return _radio.sendWithRetry(to,data,len,5);
          

          btw i use not the dev version

          https://github.com/mysensors/MySensors/pull/440 see comment from trlafleur

          there is my testing node (molgan PIR )

          /**
           * The MySensors Arduino library handles the wireless radio link and protocol
           * between your home built sensors/actuators and HA controller of choice.
           * The sensors forms a self healing radio network with optional repeaters. Each
           * repeater and gateway builds a routing tables in EEPROM which keeps track of the
           * network topology allowing messages to be routed to nodes.
           *
           * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
           * Copyright (C) 2013-2015 Sensnology AB
           * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
           *
           * Documentation: http://www.mysensors.org
           * Support Forum: http://forum.mysensors.org
           *
           * This program is free software; you can redistribute it and/or
           * modify it under the terms of the GNU General Public License
           * version 2 as published by the Free Software Foundation.
           *
           *******************************
           *
           * REVISION HISTORY
           * Version 1.0 - Henrik Ekblad
           * 
           * DESCRIPTION
           * Motion Sensor example using HC-SR501 
           * http://www.mysensors.org/build/motion
           *
           */
          
          // Enable debug prints
          #define MY_DEBUG
          
          // Enable and select radio type attached
          
          #define MY_NODE_ID 4
          #define MY_RADIO_RFM69
          #define MY_RFM69_FREQUENCY RF69_868MHZ
          #define MY_RFM69_NETWORKID 121
          #define MY_RFM69_ENABLE_ENCRYPTION
          #define MY_RFM69_Enable_ATC
          #include <SPI.h>
          #include <MySensors.h>
          
          unsigned long SLEEP_TIME = 120000; // Sleep time between reports (in milliseconds)
          #define DIGITAL_INPUT_SENSOR 3   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
          #define CHILD_ID 1   // Id of the sensor child
          #define CHILD_ID_RSSI 7 // Id for RSSI Value
          
          // Initialize motion message
          MyMessage msg(CHILD_ID, V_TRIPPED);
          // Initialize RSSI message
          MyMessage rssiMsg(CHILD_ID_RSSI,V_TEXT);
          void setup()  
          {  
            
            
            #ifdef MY_RFM69_Enable_ATC
              _radio.enableAutoPower(-70);
              Serial.println("ATC Aktiviert");
            #endif
            
            pinMode(DIGITAL_INPUT_SENSOR, INPUT);      // sets the motion sensor digital pin as input
          }
          
          void presentation()  {
            // Send the sketch version information to the gateway and Controller
            sendSketchInfo("Molgan-PIR", "1.0");
          
            // Register all sensors to gw (they will be created as child devices)
            present(CHILD_ID, S_DOOR);
            present(CHILD_ID_RSSI, S_INFO);
          }
          
          void loop()     
          {     
            // Read digital motion value
            boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH; 
                  
            Serial.println(tripped);
            send(msg.set(tripped?"1":"0"));  // Send tripped value to gw 
            
            int var1 = _radio.RSSI;
            send(rssiMsg.set(var1));  // Send RSSI value to gw
          
            // Sleep until interrupt comes in on motion sensor. Send update every two minute.
            sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME);
          }
          
          

          i hope this helps :) im just learing mysensors & co :expressionless:

          david

          B frenchoF 3 Replies Last reply
          2
          • FleischtorteF Fleischtorte

            @frencho @BenCranston
            This is my implementation of PR440

            first download new RFM69 driver from LowPowerLab https://github.com/LowPowerLab/RFM69/archive/master.zip
            Replace the files from libraries\MySensors\drivers\RFM69 (copy all and replace)

            Change in file RFM69.cpp line 31-32

            #include <RFM69.h>
            #include <RFM69registers.h>
            

            to

            #include "RFM69.h"
            #include "RFM69registers.h"
            

            in RFM69_ATC.cpp line 32-34

            #include <RFM69_ATC.h>
            #include <RFM69.h>   // include the RFM69 library files as well
            #include <RFM69registers.h>
            

            to

            #include "RFM69_ATC.h"
            #include "RFM69.h"   // include the RFM69 library files as well
            #include "RFM69registers.h"
            

            i think this was the driver..

            next was mysensors

            in file libraries/MySensors/MySensor.h line 268

            #include "drivers/RFM69/RFM69_ATC.cpp"
            

            in file libraries/MySensors/core/MyTransportRFM69.cpp
            first in line 24

            #include "drivers/RFM69/RFM69_ATC.h"
            

            line 25-26

            RFM69 _radio(MY_RF69_SPI_CS, MY_RF69_IRQ_PIN, MY_RFM69HW, MY_RF69_IRQ_NUM);
            uint8_t _address;
            

            to

            #ifdef MY_RFM69_Enable_ATC
               RFM69_ATC 	_radio(MY_RF69_SPI_CS, MY_RF69_IRQ_PIN, MY_RFM69HW, MY_RF69_IRQ_NUM);
            #else
               RFM69 		_radio(MY_RF69_SPI_CS, MY_RF69_IRQ_PIN, MY_RFM69HW, MY_RF69_IRQ_NUM);	
            #endif
            uint8_t _address;
            

            and line 53 idk if this is necessary

            return _radio.sendWithRetry(to,data,len);
            

            to

            	return _radio.sendWithRetry(to,data,len,5);
            

            btw i use not the dev version

            https://github.com/mysensors/MySensors/pull/440 see comment from trlafleur

            there is my testing node (molgan PIR )

            /**
             * The MySensors Arduino library handles the wireless radio link and protocol
             * between your home built sensors/actuators and HA controller of choice.
             * The sensors forms a self healing radio network with optional repeaters. Each
             * repeater and gateway builds a routing tables in EEPROM which keeps track of the
             * network topology allowing messages to be routed to nodes.
             *
             * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
             * Copyright (C) 2013-2015 Sensnology AB
             * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
             *
             * Documentation: http://www.mysensors.org
             * Support Forum: http://forum.mysensors.org
             *
             * This program is free software; you can redistribute it and/or
             * modify it under the terms of the GNU General Public License
             * version 2 as published by the Free Software Foundation.
             *
             *******************************
             *
             * REVISION HISTORY
             * Version 1.0 - Henrik Ekblad
             * 
             * DESCRIPTION
             * Motion Sensor example using HC-SR501 
             * http://www.mysensors.org/build/motion
             *
             */
            
            // Enable debug prints
            #define MY_DEBUG
            
            // Enable and select radio type attached
            
            #define MY_NODE_ID 4
            #define MY_RADIO_RFM69
            #define MY_RFM69_FREQUENCY RF69_868MHZ
            #define MY_RFM69_NETWORKID 121
            #define MY_RFM69_ENABLE_ENCRYPTION
            #define MY_RFM69_Enable_ATC
            #include <SPI.h>
            #include <MySensors.h>
            
            unsigned long SLEEP_TIME = 120000; // Sleep time between reports (in milliseconds)
            #define DIGITAL_INPUT_SENSOR 3   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
            #define CHILD_ID 1   // Id of the sensor child
            #define CHILD_ID_RSSI 7 // Id for RSSI Value
            
            // Initialize motion message
            MyMessage msg(CHILD_ID, V_TRIPPED);
            // Initialize RSSI message
            MyMessage rssiMsg(CHILD_ID_RSSI,V_TEXT);
            void setup()  
            {  
              
              
              #ifdef MY_RFM69_Enable_ATC
                _radio.enableAutoPower(-70);
                Serial.println("ATC Aktiviert");
              #endif
              
              pinMode(DIGITAL_INPUT_SENSOR, INPUT);      // sets the motion sensor digital pin as input
            }
            
            void presentation()  {
              // Send the sketch version information to the gateway and Controller
              sendSketchInfo("Molgan-PIR", "1.0");
            
              // Register all sensors to gw (they will be created as child devices)
              present(CHILD_ID, S_DOOR);
              present(CHILD_ID_RSSI, S_INFO);
            }
            
            void loop()     
            {     
              // Read digital motion value
              boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH; 
                    
              Serial.println(tripped);
              send(msg.set(tripped?"1":"0"));  // Send tripped value to gw 
              
              int var1 = _radio.RSSI;
              send(rssiMsg.set(var1));  // Send RSSI value to gw
            
              // Sleep until interrupt comes in on motion sensor. Send update every two minute.
              sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME);
            }
            
            

            i hope this helps :) im just learing mysensors & co :expressionless:

            david

            B Offline
            B Offline
            BenCranston
            wrote on last edited by
            #41

            @Fleischtorte Sweet!! This I can do. I'll make the changes and start testing tonight. thanks for the explicit help.

            -Ben

            frenchoF 1 Reply Last reply
            0
            • FleischtorteF Fleischtorte

              @frencho @BenCranston
              This is my implementation of PR440

              first download new RFM69 driver from LowPowerLab https://github.com/LowPowerLab/RFM69/archive/master.zip
              Replace the files from libraries\MySensors\drivers\RFM69 (copy all and replace)

              Change in file RFM69.cpp line 31-32

              #include <RFM69.h>
              #include <RFM69registers.h>
              

              to

              #include "RFM69.h"
              #include "RFM69registers.h"
              

              in RFM69_ATC.cpp line 32-34

              #include <RFM69_ATC.h>
              #include <RFM69.h>   // include the RFM69 library files as well
              #include <RFM69registers.h>
              

              to

              #include "RFM69_ATC.h"
              #include "RFM69.h"   // include the RFM69 library files as well
              #include "RFM69registers.h"
              

              i think this was the driver..

              next was mysensors

              in file libraries/MySensors/MySensor.h line 268

              #include "drivers/RFM69/RFM69_ATC.cpp"
              

              in file libraries/MySensors/core/MyTransportRFM69.cpp
              first in line 24

              #include "drivers/RFM69/RFM69_ATC.h"
              

              line 25-26

              RFM69 _radio(MY_RF69_SPI_CS, MY_RF69_IRQ_PIN, MY_RFM69HW, MY_RF69_IRQ_NUM);
              uint8_t _address;
              

              to

              #ifdef MY_RFM69_Enable_ATC
                 RFM69_ATC 	_radio(MY_RF69_SPI_CS, MY_RF69_IRQ_PIN, MY_RFM69HW, MY_RF69_IRQ_NUM);
              #else
                 RFM69 		_radio(MY_RF69_SPI_CS, MY_RF69_IRQ_PIN, MY_RFM69HW, MY_RF69_IRQ_NUM);	
              #endif
              uint8_t _address;
              

              and line 53 idk if this is necessary

              return _radio.sendWithRetry(to,data,len);
              

              to

              	return _radio.sendWithRetry(to,data,len,5);
              

              btw i use not the dev version

              https://github.com/mysensors/MySensors/pull/440 see comment from trlafleur

              there is my testing node (molgan PIR )

              /**
               * The MySensors Arduino library handles the wireless radio link and protocol
               * between your home built sensors/actuators and HA controller of choice.
               * The sensors forms a self healing radio network with optional repeaters. Each
               * repeater and gateway builds a routing tables in EEPROM which keeps track of the
               * network topology allowing messages to be routed to nodes.
               *
               * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
               * Copyright (C) 2013-2015 Sensnology AB
               * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
               *
               * Documentation: http://www.mysensors.org
               * Support Forum: http://forum.mysensors.org
               *
               * This program is free software; you can redistribute it and/or
               * modify it under the terms of the GNU General Public License
               * version 2 as published by the Free Software Foundation.
               *
               *******************************
               *
               * REVISION HISTORY
               * Version 1.0 - Henrik Ekblad
               * 
               * DESCRIPTION
               * Motion Sensor example using HC-SR501 
               * http://www.mysensors.org/build/motion
               *
               */
              
              // Enable debug prints
              #define MY_DEBUG
              
              // Enable and select radio type attached
              
              #define MY_NODE_ID 4
              #define MY_RADIO_RFM69
              #define MY_RFM69_FREQUENCY RF69_868MHZ
              #define MY_RFM69_NETWORKID 121
              #define MY_RFM69_ENABLE_ENCRYPTION
              #define MY_RFM69_Enable_ATC
              #include <SPI.h>
              #include <MySensors.h>
              
              unsigned long SLEEP_TIME = 120000; // Sleep time between reports (in milliseconds)
              #define DIGITAL_INPUT_SENSOR 3   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
              #define CHILD_ID 1   // Id of the sensor child
              #define CHILD_ID_RSSI 7 // Id for RSSI Value
              
              // Initialize motion message
              MyMessage msg(CHILD_ID, V_TRIPPED);
              // Initialize RSSI message
              MyMessage rssiMsg(CHILD_ID_RSSI,V_TEXT);
              void setup()  
              {  
                
                
                #ifdef MY_RFM69_Enable_ATC
                  _radio.enableAutoPower(-70);
                  Serial.println("ATC Aktiviert");
                #endif
                
                pinMode(DIGITAL_INPUT_SENSOR, INPUT);      // sets the motion sensor digital pin as input
              }
              
              void presentation()  {
                // Send the sketch version information to the gateway and Controller
                sendSketchInfo("Molgan-PIR", "1.0");
              
                // Register all sensors to gw (they will be created as child devices)
                present(CHILD_ID, S_DOOR);
                present(CHILD_ID_RSSI, S_INFO);
              }
              
              void loop()     
              {     
                // Read digital motion value
                boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH; 
                      
                Serial.println(tripped);
                send(msg.set(tripped?"1":"0"));  // Send tripped value to gw 
                
                int var1 = _radio.RSSI;
                send(rssiMsg.set(var1));  // Send RSSI value to gw
              
                // Sleep until interrupt comes in on motion sensor. Send update every two minute.
                sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME);
              }
              
              

              i hope this helps :) im just learing mysensors & co :expressionless:

              david

              frenchoF Offline
              frenchoF Offline
              frencho
              wrote on last edited by
              #42

              @Fleischtorte
              thanks for the details, I'll look into it, as soon as I have my RFM69 GW talking to my RFM69 node

              Your second life begins when you understand you only have one !

              1 Reply Last reply
              0
              • FleischtorteF Fleischtorte

                @frencho @BenCranston
                This is my implementation of PR440

                first download new RFM69 driver from LowPowerLab https://github.com/LowPowerLab/RFM69/archive/master.zip
                Replace the files from libraries\MySensors\drivers\RFM69 (copy all and replace)

                Change in file RFM69.cpp line 31-32

                #include <RFM69.h>
                #include <RFM69registers.h>
                

                to

                #include "RFM69.h"
                #include "RFM69registers.h"
                

                in RFM69_ATC.cpp line 32-34

                #include <RFM69_ATC.h>
                #include <RFM69.h>   // include the RFM69 library files as well
                #include <RFM69registers.h>
                

                to

                #include "RFM69_ATC.h"
                #include "RFM69.h"   // include the RFM69 library files as well
                #include "RFM69registers.h"
                

                i think this was the driver..

                next was mysensors

                in file libraries/MySensors/MySensor.h line 268

                #include "drivers/RFM69/RFM69_ATC.cpp"
                

                in file libraries/MySensors/core/MyTransportRFM69.cpp
                first in line 24

                #include "drivers/RFM69/RFM69_ATC.h"
                

                line 25-26

                RFM69 _radio(MY_RF69_SPI_CS, MY_RF69_IRQ_PIN, MY_RFM69HW, MY_RF69_IRQ_NUM);
                uint8_t _address;
                

                to

                #ifdef MY_RFM69_Enable_ATC
                   RFM69_ATC 	_radio(MY_RF69_SPI_CS, MY_RF69_IRQ_PIN, MY_RFM69HW, MY_RF69_IRQ_NUM);
                #else
                   RFM69 		_radio(MY_RF69_SPI_CS, MY_RF69_IRQ_PIN, MY_RFM69HW, MY_RF69_IRQ_NUM);	
                #endif
                uint8_t _address;
                

                and line 53 idk if this is necessary

                return _radio.sendWithRetry(to,data,len);
                

                to

                	return _radio.sendWithRetry(to,data,len,5);
                

                btw i use not the dev version

                https://github.com/mysensors/MySensors/pull/440 see comment from trlafleur

                there is my testing node (molgan PIR )

                /**
                 * The MySensors Arduino library handles the wireless radio link and protocol
                 * between your home built sensors/actuators and HA controller of choice.
                 * The sensors forms a self healing radio network with optional repeaters. Each
                 * repeater and gateway builds a routing tables in EEPROM which keeps track of the
                 * network topology allowing messages to be routed to nodes.
                 *
                 * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
                 * Copyright (C) 2013-2015 Sensnology AB
                 * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
                 *
                 * Documentation: http://www.mysensors.org
                 * Support Forum: http://forum.mysensors.org
                 *
                 * This program is free software; you can redistribute it and/or
                 * modify it under the terms of the GNU General Public License
                 * version 2 as published by the Free Software Foundation.
                 *
                 *******************************
                 *
                 * REVISION HISTORY
                 * Version 1.0 - Henrik Ekblad
                 * 
                 * DESCRIPTION
                 * Motion Sensor example using HC-SR501 
                 * http://www.mysensors.org/build/motion
                 *
                 */
                
                // Enable debug prints
                #define MY_DEBUG
                
                // Enable and select radio type attached
                
                #define MY_NODE_ID 4
                #define MY_RADIO_RFM69
                #define MY_RFM69_FREQUENCY RF69_868MHZ
                #define MY_RFM69_NETWORKID 121
                #define MY_RFM69_ENABLE_ENCRYPTION
                #define MY_RFM69_Enable_ATC
                #include <SPI.h>
                #include <MySensors.h>
                
                unsigned long SLEEP_TIME = 120000; // Sleep time between reports (in milliseconds)
                #define DIGITAL_INPUT_SENSOR 3   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
                #define CHILD_ID 1   // Id of the sensor child
                #define CHILD_ID_RSSI 7 // Id for RSSI Value
                
                // Initialize motion message
                MyMessage msg(CHILD_ID, V_TRIPPED);
                // Initialize RSSI message
                MyMessage rssiMsg(CHILD_ID_RSSI,V_TEXT);
                void setup()  
                {  
                  
                  
                  #ifdef MY_RFM69_Enable_ATC
                    _radio.enableAutoPower(-70);
                    Serial.println("ATC Aktiviert");
                  #endif
                  
                  pinMode(DIGITAL_INPUT_SENSOR, INPUT);      // sets the motion sensor digital pin as input
                }
                
                void presentation()  {
                  // Send the sketch version information to the gateway and Controller
                  sendSketchInfo("Molgan-PIR", "1.0");
                
                  // Register all sensors to gw (they will be created as child devices)
                  present(CHILD_ID, S_DOOR);
                  present(CHILD_ID_RSSI, S_INFO);
                }
                
                void loop()     
                {     
                  // Read digital motion value
                  boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH; 
                        
                  Serial.println(tripped);
                  send(msg.set(tripped?"1":"0"));  // Send tripped value to gw 
                  
                  int var1 = _radio.RSSI;
                  send(rssiMsg.set(var1));  // Send RSSI value to gw
                
                  // Sleep until interrupt comes in on motion sensor. Send update every two minute.
                  sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME);
                }
                
                

                i hope this helps :) im just learing mysensors & co :expressionless:

                david

                frenchoF Offline
                frenchoF Offline
                frencho
                wrote on last edited by
                #43

                @Fleischtorte is your code example working ? I mean do you see the RSSI going down to -70 ?
                Cause on this page https://lowpowerlab.com/2015/11/11/rfm69_atc-automatic-transmission-control/ Felix says we must use a radio.sendwithretry ?!
                I'm a little confused it not working so I'm digging

                Your second life begins when you understand you only have one !

                1 Reply Last reply
                0
                • B BenCranston

                  @Fleischtorte Sweet!! This I can do. I'll make the changes and start testing tonight. thanks for the explicit help.

                  -Ben

                  frenchoF Offline
                  frenchoF Offline
                  frencho
                  wrote on last edited by
                  #44

                  @BenCranston did you get it to work ?

                  Your second life begins when you understand you only have one !

                  1 Reply Last reply
                  0
                  • FleischtorteF Offline
                    FleischtorteF Offline
                    Fleischtorte
                    wrote on last edited by Fleischtorte
                    #45

                    @Frencho radio.sendwithretry is used (see line 53 in libraries/MySensors/core/MyTransportRFM69.cpp) and ATC must be enabled on GW/Node (use _radio.enableAutoPower(-70); only on the node side).
                    It seems you need continous traffic to see the effect of ATC (i use a simple relay sketch which reports the rssi with every switch command).

                    1 Reply Last reply
                    0
                    • nagelcN Offline
                      nagelcN Offline
                      nagelc
                      wrote on last edited by
                      #46

                      How is the ATC working out? I think it is a neat feature, but am reluctant to mess with the core MySensors libraries.

                      1 Reply Last reply
                      1
                      • FleischtorteF Offline
                        FleischtorteF Offline
                        Fleischtorte
                        wrote on last edited by
                        #47

                        hi ,

                        it works but not very stable... after a while the sensors become offline so i revert to the stable version of MySensors.

                        1 Reply Last reply
                        0
                        • C Offline
                          C Offline
                          cablesky
                          wrote on last edited by
                          #48

                          how is the status now?? Works the ATC now?

                          1 Reply Last reply
                          0
                          • scalzS Offline
                            scalzS Offline
                            scalz
                            Hardware Contributor
                            wrote on last edited by
                            #49

                            @cablesky
                            it is not included in Mysensors yet as it breaks compatibility with current packet protocol.
                            It's planned in an upcoming release, and working well ;)

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


                            14

                            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