Getting Signal Strength


#1

Hai,
Am using Q2686G.
The firmware version is :: R74_00gg.Q2686G
Application OS :: 06.21
Boot loader version :: V08b0e.

                               I want to detect the signal strength. Now am using "adl_atCmdCreate" to send AT+CSQ.  In the handler am getting  adl_atResponse_t strdata as "OK " only.  But i want the return values too., like "  +CSQ: 11,2 ".  I want the returned 2 arguments. Is there any way to get those?


                       Thank you,

#2

Have a look at the response handler part of the adl_atCmdCreate function.

For Example:

// Send the AT command.
adl_atCmdSend("AT+CSQ", ResponseHandler, "+CSQ", NULL);

// Response Handler Function
bool ResponseHandler(adl_atResponse_t *AT_Response)
{
ascii str_CSQ[2];
wm_strGetParameterString(str_CSQ, AT_Response->StrData, 1);
}

#3

Note that AT+CCED can be used to request an unsolicited +CSQ whenever the signal level changes - ie, you don’t have to keep asking for it.

See the AT Commands Manual for details of the command, and the ADL manual for details of handling unsolicited responses…


#4

thank you awneil


#5

Correction: you get an unsolicited +CSQ whenever the signal level changes except when it changes to 99 (ie, unknown or unavailable).

See: https://forum.sierrawireless.com/t/at-cced-bug/4861/1

So, if your application needs to know that, you’ll have to think again!

:angry:


#6

ok. thank you :wink: