Added method for reading current AFC value
This commit is contained in:
parent
cbe145b9f7
commit
37a0c56bfe
2 changed files with 23 additions and 0 deletions
|
@ -669,6 +669,22 @@ float SX127x::getFrequencyError(bool autoCorrect) {
|
|||
return(ERR_UNKNOWN);
|
||||
}
|
||||
|
||||
float SX127x::getAFCError()
|
||||
{
|
||||
// check active modem
|
||||
int16_t modem = getActiveModem();
|
||||
if(modem != SX127X_FSK_OOK) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// get raw frequency error
|
||||
int16_t raw = (uint16_t)_mod->SPIgetRegValue(SX127X_REG_AFC_MSB) << 8;
|
||||
raw |= _mod->SPIgetRegValue(SX127X_REG_AFC_LSB);
|
||||
|
||||
uint32_t base = 1;
|
||||
return raw * (32000000.0 / (float)(base << 19));
|
||||
}
|
||||
|
||||
float SX127x::getSNR() {
|
||||
// check active modem
|
||||
if(getActiveModem() != SX127X_LORA) {
|
||||
|
|
|
@ -773,6 +773,13 @@ class SX127x: public PhysicalLayer {
|
|||
*/
|
||||
float getFrequencyError(bool autoCorrect = false);
|
||||
|
||||
/*!
|
||||
\brief Gets current AFC error.
|
||||
|
||||
\returns Frequency offset from RF in Hz if AFC is enabled and triggered, zero otherwise.
|
||||
*/
|
||||
float getAFCError();
|
||||
|
||||
/*!
|
||||
\brief Gets signal-to-noise ratio of the latest received packet.
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue