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.
  • 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


                      13

                      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