New 2.2.0 Signal report function
-
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 insteadsend(RSSIMsg.set(transportGetSendingRSSI()));
-
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) -
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.
-
Hi,
the NRF24l01 doesn't have a RSSI function as reported in Nordic datasheet, so how can the signal report work?
thanks@jumping it doesn't :-)
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; }#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 -
@jumping it doesn't :-)
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; }#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@mfalkvidd thanks for your answer, can you tell me what is the RF24_getSendingRSSI?
int16_t transportGetSendingRSSI(void) { return RF24_getSendingRSSI(); } -
@mfalkvidd thanks for your answer, can you tell me what is the RF24_getSendingRSSI?
int16_t transportGetSendingRSSI(void) { return RF24_getSendingRSSI(); }
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