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. Hardware
  3. New 2.2.0 Signal report function

New 2.2.0 Signal report function

Scheduled Pinned Locked Moved Hardware
14 Posts 6 Posters 5.8k Views 8 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.
  • gohanG Offline
    gohanG Offline
    gohan
    Mod
    wrote on last edited by
    #4

    I'll give it a try

    1 Reply Last reply
    0
    • F Offline
      F Offline
      flopp
      wrote on last edited by
      #5

      I just now found some other maybe interested variables

      transportGetReceivingRSSI()
      transportGetSendingRSSI()
      transportGetReceivingSNR()
      transportGetSendingSNR()
      transportGetTxPowerLevel()
      transportGetTxPowerPercent()
      transportInternalToRSSI(_transportSM.uplinkQualityRSSI)

      i have not tested anyone of them, but it seems that "transportGetSendingRSSI()" will give same result as "transportGetSignalReport(SR_TX_RSSI)"
      so the message may look like this instead

      send(RSSIMsg.set(transportGetSendingRSSI()));

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

        It's similar to the signal scanner code I used but I did not know it was working on nrf24

        1 Reply Last reply
        0
        • slingS Offline
          slingS Offline
          sling
          wrote on last edited by
          #7

          Very useful new feature.
          I learned a lesson: I'll be using the nrf24 without booster from now on. Much better range and commmunication.

          output from nrf24 with radio set to LOW:

          -256 :transportGetReceivingRSSI()
          -29 :transportGetSendingRSSI()
          -256 :transportGetReceivingSNR()
          -256 :transportGetSendingSNR()
          -12 :transportGetTxPowerLevel()
          25 :transportGetTxPowerPercent()
          0 :transportInternalToRSSI(_transportSM.uplinkQualityRSSI)

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

            How did you make the tests?

            1 Reply Last reply
            1
            • slingS Offline
              slingS Offline
              sling
              wrote on last edited by
              #9

              I added this to my sketch and observed serial output:

              Serial.print(transportGetReceivingRSSI()); Serial.println(" :transportGetReceivingRSSI()");
              Serial.print(transportGetSendingRSSI()); Serial.println(" :transportGetSendingRSSI()");
              Serial.print(transportGetReceivingSNR()); Serial.println(" :transportGetReceivingSNR()");
              Serial.print(transportGetSendingSNR()); Serial.println(" :transportGetSendingSNR()");
              Serial.print(transportGetTxPowerLevel()); Serial.println(" :transportGetTxPowerLevel()");
              Serial.print(transportGetTxPowerPercent()); Serial.println(" :transportGetTxPowerPercent()");
              Serial.print(transportInternalToRSSI(_transportSM.uplinkQualityRSSI));Serial.println(" :transportInternalToRSSI(_transportSM.uplinkQualityRSSI)");

              I don't know if it's a valid way to check the values.

              1 Reply Last reply
              1
              • jumpingJ Offline
                jumpingJ Offline
                jumping
                wrote on last edited by
                #10

                Hi,
                the NRF24l01 doesn't have a RSSI function as reported in Nordic datasheet, so how can the signal report work?
                thanks

                Raspberrry PI3 - Domoticz
                ESP8266 GW - MySensors 2.1.1

                mfalkviddM 1 Reply Last reply
                1
                • jumpingJ jumping

                  Hi,
                  the NRF24l01 doesn't have a RSSI function as reported in Nordic datasheet, so how can the signal report work?
                  thanks

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

                  @jumping it doesn't :-)

                  See https://github.com/mysensors/MySensors/blob/57eca4f4afb3a26f4ef0ec10d522ac062de4d101/hal/transport/RF24/MyTransportRF24.cpp#L176

                  int16_t transportGetReceivingRSSI(void)
                  {
                  	// not available, only bool RPD
                  	return INVALID_RSSI;
                  }
                  
                  int16_t transportGetSendingSNR(void)
                  {
                  	return INVALID_SNR;
                  }
                  
                  int16_t transportGetReceivingSNR(void)
                  {
                  	return INVALID_SNR;
                  }
                  

                  and
                  https://github.com/mysensors/MySensors/blob/6794c72ecd8c35c1a7587f73996d50c347b17f93/hal/transport/MyTransportHAL.h#L23

                  #define INVALID_SNR         ((int16_t)-256)	//!< INVALID_SNR
                  #define INVALID_RSSI        ((int16_t)-256)	//!< INVALID_RSSI
                  #define INVALID_PERCENT     ((int16_t)-100)	//!< INVALID_PERCENT
                  #define INVALID_LEVEL ((int16_t)-256) //!< INVALID_LEVEL
                  
                  jumpingJ 1 Reply Last reply
                  1
                  • mfalkviddM mfalkvidd

                    @jumping it doesn't :-)

                    See https://github.com/mysensors/MySensors/blob/57eca4f4afb3a26f4ef0ec10d522ac062de4d101/hal/transport/RF24/MyTransportRF24.cpp#L176

                    int16_t transportGetReceivingRSSI(void)
                    {
                    	// not available, only bool RPD
                    	return INVALID_RSSI;
                    }
                    
                    int16_t transportGetSendingSNR(void)
                    {
                    	return INVALID_SNR;
                    }
                    
                    int16_t transportGetReceivingSNR(void)
                    {
                    	return INVALID_SNR;
                    }
                    

                    and
                    https://github.com/mysensors/MySensors/blob/6794c72ecd8c35c1a7587f73996d50c347b17f93/hal/transport/MyTransportHAL.h#L23

                    #define INVALID_SNR         ((int16_t)-256)	//!< INVALID_SNR
                    #define INVALID_RSSI        ((int16_t)-256)	//!< INVALID_RSSI
                    #define INVALID_PERCENT     ((int16_t)-100)	//!< INVALID_PERCENT
                    #define INVALID_LEVEL ((int16_t)-256) //!< INVALID_LEVEL
                    
                    jumpingJ Offline
                    jumpingJ Offline
                    jumping
                    wrote on last edited by
                    #12

                    @mfalkvidd thanks for your answer, can you tell me what is the RF24_getSendingRSSI?

                    int16_t transportGetSendingRSSI(void)
                    {
                    	return RF24_getSendingRSSI();
                    }
                    

                    Raspberrry PI3 - Domoticz
                    ESP8266 GW - MySensors 2.1.1

                    mfalkviddM 1 Reply Last reply
                    0
                    • jumpingJ jumping

                      @mfalkvidd thanks for your answer, can you tell me what is the RF24_getSendingRSSI?

                      int16_t transportGetSendingRSSI(void)
                      {
                      	return RF24_getSendingRSSI();
                      }
                      
                      mfalkviddM Offline
                      mfalkviddM Offline
                      mfalkvidd
                      Mod
                      wrote on last edited by mfalkvidd
                      #13

                      @jumping github has a great search function if you want to get the answer quicker next time. :-)

                      Implementation: https://github.com/mysensors/MySensors/blob/345d6d7d119f5d2446c7d6a41e6f749e6ca8741c/drivers/RF24/RF24.cpp#L401

                      1 Reply Last reply
                      1
                      • jumpingJ Offline
                        jumpingJ Offline
                        jumping
                        wrote on last edited by
                        #14

                        thanks, next time I will use the github search function :-) :+1:

                        Raspberrry PI3 - Domoticz
                        ESP8266 GW - MySensors 2.1.1

                        1 Reply Last reply
                        1

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        15

                        Online

                        12.0k

                        Users

                        11.2k

                        Topics

                        113.4k

                        Posts


                        Copyright 2025 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