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......
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......
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.
>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 .
>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  .
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???
On a UIQ-phone (A925) of mine it will not work . 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.
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 .
Forum posts: 39
I wan the similar kind of functinality . Can u please help me .. with ur findings
Regards
Veeraj Thaploo
Forum posts: 226
Forum posts: 278
-- JumpJack --
Forum posts: 176
Battery Charge:
+CBC
Signal Quality (Strength)
+CSQ
...or use
Physical Indicator Control (there are a few indicators more
+CIND
regards;
CG
Forum posts: 176
I'm sure there was something like HAL::GetData() with Batterylevel... (official lib!). Couldn't look for it at the moment.
bye;
CG
Forum posts: 278
I'm sure there was something like HAL::GetData() with Batterylevel... (official lib!).
-- JumpJack --
Forum posts: 176
*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
Forum posts: 278
*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 Â
How can I send them (and read results) from within a c++ app on the phone itself???
-- JumpJack --
Forum posts: 176
The key came from Sunil (LoanDataPort())
The other hints (from Symbian developer Lib):
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
regards;
CG
Forum posts: 278
-- JumpJack --