Read digital RSSI using LimeSuite API?


I am using a Lime SDR USB. I want to get the values of the digital RSSI of channel A and channel B using the LimeSuite API (LMS API). I read the documentation of the API, but I couldn’t find a specific function to accomplish. How can I get RSSI values?

Thanks in advance.

Hi @mauro,

There is no API function to read RSSI value. You should read it from LMS7002M register.

Hi @Zack
Witch register can read digital RSSI, I can not find it in LMS7002M – Multi-Band, Multi-Standard MIMO RF Transceiver IC

Hi @peter11522,

To read RSSI value:

  1. Make sure AGC module is not bypassed - 0x040C[6] must be set to 0b.
  2. Set AGC mode to RSSI: 0x040A[13:12] must be set to 00b.
  3. Read RSSI value:
    a) Set CAPSEL[1:0] register to 00b, i.e. 0x0400[14:13] = 00b;
    b) Toggle CAPTURE register from 0 to 1, i.e. 0x0400[15] = 0; 0x0400[15] = 1; 0x0400[15] = 0;
    c) Read RSSI value from 0x040E and 0x040F registers.
1 Like

Hi @Zack
Thanks for your answer

Just a minor clarification for persons who are going to read an RSSI.

The 0x040F register contains the first 16 bits (most significant bits) and the 0x040E contains only 2 last bits (less significant bits). So the final RSSI value contains only 18 bits and should be obtained in the following way:

msbReg = LMS7002M_RD(0x040F);
lsbReg = LMS7002M_RD(0x040E);
return (msbReg << 2) | (lsbReg & 0x3);


1 Like