AT commands

Login to reply to this topic.
Sun, 2006-02-26 18:42
Joined: 2005-02-24
Forum posts: 278
How can I query internal modem with AT commands?

-- JumpJack --


Mon, 2006-02-27 06:19
Joined: 2005-02-22
Forum posts: 39
Re: AT commands
Hi ,

I wan the similar kind of functinality . Can u please help me .. with ur findings

Regards
Veeraj Thaploo
Mon, 2006-02-27 07:52
Joined: 2005-01-04
Forum posts: 226
Re: AT commands
What kind of functionality you want to test with the modem? If it is call related commands, u can make use of the LoanDataPort() in order to get the handle of the port which communicates with the modem......
Mon, 2006-02-27 08:16
Joined: 2005-02-24
Forum posts: 278
Re: AT commands
Quote from: Sunil
What kind of functionality you want to test with the modem? If it is call related commands, u can make use of the LoanDataPort() in order to get the handle of the port which communicates with the modem......
I'd like to query battery and signal strength.

-- JumpJack --

Tue, 2006-02-28 09:47
Joined: 2005-03-04
Forum posts: 176
Re: AT commands
From "AT commanset for Nokia GSM products" :

Battery Charge:
+CBC

Signal Quality (Strength)
+CSQ

...or use
Physical Indicator Control (there are a few indicators more Wink)
+CIND

regards;
CG
Tue, 2006-02-28 20:24
Joined: 2005-03-04
Forum posts: 176
Re: AT commands
Add:
I'm sure there was something like HAL::GetData() with Batterylevel... (official lib!). Couldn't  look for it at the moment.

bye;
CG
Wed, 2006-03-01 13:30
Joined: 2005-02-24
Forum posts: 278
Re: AT commands
Quote from: CG
Add:
I'm sure there was something like HAL::GetData() with Batterylevel... (official lib!).
Forget it, it's completely useless... together with half a dozen of other methods to retrieve battery level. The "AT command" method could be a workaround.

-- JumpJack --

Wed, 2006-03-01 13:43
Joined: 2005-03-04
Forum posts: 176
Re: AT commands
>Forget it, it's completely useless...
*LOL* Could be... (like Beep and some other static functions)
>The "AT command" method could be a workaround.
Will work on all S60 phones from 7 till 8.1. +CBC and +CBQ are still working, +CIND is not longer supported of the GSM/GPRS modules   Tongue.
Wed, 2006-03-01 13:50
Joined: 2005-02-24
Forum posts: 278
Re: AT commands
Quote from: CG
>Forget it, it's completely useless...
*LOL* Could be... (like Beep and some other static functions)
>The "AT command" method could be a workaround.
Will work on all S60 phones from 7 till 8.1. +CBC and +CBQ are still working, +CIND is not longer supported of the GSM/GPRS modules   Tongue.
On my UIQ phone AT commands work, too: if I send them from a PC!
How can I send them (and read results) from within a c++ app on the phone itself???  Huh

-- JumpJack --

Wed, 2006-03-01 14:11
Joined: 2005-03-04
Forum posts: 176
Re: AT commands
On a UIQ-phone (A925) of mine it will not work  Cry.
The key came from Sunil (LoanDataPort())
The other hints (from Symbian developer Lib):
Code:
How to open ports
There are a number of distinct steps which it is necessary to take before using a serial port. While the first three of these steps will usually have been taken before any communication software loads up, they are all listed here for completeness to avoid any appearance of complexity in the example code.

Load the physical device driver, which interacts directly with the hardware at the lowest level.

Load the logical device driver, which provides the comms server with a consistent interface to the hardware. You should note that both these drivers have automatic .PDD and .LDD file extensions added by their respective loaders, which automatically search the /System/Libs directories on all drives.

Since RComm is to be a client to the RCommServ comms server, start this service before any attempt is made to connect to it. Note that it is only after the device drivers are both in place that it makes sense to start the comms server.

Connect the RComm client to the server. This, and both the following steps, must usually be taken by all software which instantiates an RComm object.

Ask the server to use a specific comms module by name. These .CSY files are protocol modules that let the server know how it should handle the port. For instance, sample terminal code uses a standard RS232 module called ECUART, while infra-red code uses a completely different IrDA module called IrCOMM.

Finally, open the comms port by name using RComm:Open(). You must specify the name of the port, since there is no reason why a machine with suitable hardware canÂ’t have more than one serial port open at a time.

#define PDD_NAME _L("EUART1")
#define LDD_NAME _L("ECOMM")
User::LoadPhysicalDevice (PDD_NAME); // step 1
User::LoadLogicalDevice (LDD_NAME); // step 2
StartC32 (); // step 3
RCommServ server;
server.Connect (); // step 4
server.LoadCommModule (_L ("ECUART")); // step 5
RComm commPort;
commPort.Open (server, _L ("COMM::0"), ECommExclusive); // step 6

Names could be wrong... You need a port,  which has the lineinfo RLine::KCapsData.
If LoanDataPort succedes, you can read the answers of the GSM/GPRS-module.

First Step is to open a commport and send "ATD<some_number>;". The ';' is for voicedialing (without you get a datacall). If you get it, you are on the right port. But you don't get answers without LoanDataPort()! To connect via RCall is a little bit tricky but possible.
Sorry could not post code, belongs to my company  Undecided.

regards;
CG
Wed, 2006-03-01 20:53
Joined: 2005-02-24
Forum posts: 278
Re: AT commands
thanks anyway for the info...  Wink

-- JumpJack --

  • Login to reply to this topic.