Accessing GPS on Motorola Razor | developer.brewmp.com Accessing GPS on Motorola Razor | developer.brewmp.com

Developer

Accessing GPS on Motorola Razor

Forums:

Good Day.
Will the sample code provided in the NAVBuilder toolkit work on a real phone? Here's my problem. I can get everything to work fine on the simulator, and I can get the module built and loaded to the phone. It is a Motorola Razor V3 for Verizon Wireless.

However, I get an error back from the function call:
ISHELL_CreateInstance(pshell, POSDET_CLSID, (void**)&psgs->pPosDet);

in sharedgps.c. It looks like the error code is a #3, meaning class is not supported. The displayed message is: "Error", "GPS Could Not Be Initialized."

I have a DeviceRef_DDF.xls spreadsheet I downloaded from Motorola, in this it remarks:

"IPOSDET APIs are not supported for third party BREW apps. IPOSDET APIs are supported for specific apps authorized by the carrier."

I had hoped that the nimnavui.mod & nimnavui.mif files would have the permission to access these for testing. I seem to be stuck. I can't test if I can't get at the GPS, and it won't seem to let me at the GPS.

I tried to build the nimnavuisample application with the same result.

I read in one thread that you can test third party applications if you are an approved Verizon developer, which I am but cannot find anything on their site. I also checked out the autodesk downloads from the BREW site. I was going to compile and load their sample application to see if it worked but ran out of time this morning...had to go to my real job!

Any help is appreciated.

I never heard of nimnavuisample/nimnavui , what is this app an extension?
BTW - you wont be able to get the 'SamplePosDet'(sample app in extra net) app to run correctly as it would need some config info.

I never heard of nimnavuisample/nimnavui , what is this app an extension?
BTW - you wont be able to get the 'SamplePosDet'(sample app in extra net) app to run correctly as it would need some config info.

The nimnavuisample is part of an SDK provided by a firm called Networks In Motion (NIM) out of California. They wrote the Verizon Navigator product and now are offering core functionality in an SDK. The SDK does all the heavy lifting for navigation - displaying maps, voice prompt, turn by turn directions, etc.
It all runs on the BREW simulator as I said hunky dory. I can load the app to a phone too, the only thing is the access to the GPS seems to be restricted.
It seems to reject the class_id that is passed to the function. The class_id is what was from Autodesk for the Razor phone. I wonder if I just kept calling the function and kept incrementing the class_id somehow that I'd eventually come across one that would return and not fail?? Seems too simple, so that can't be right.
Anyway, what type of config information were you referring to if not too much trouble...
Best,
Randy

The nimnavuisample is part of an SDK provided by a firm called Networks In Motion (NIM) out of California. They wrote the Verizon Navigator product and now are offering core functionality in an SDK. The SDK does all the heavy lifting for navigation - displaying maps, voice prompt, turn by turn directions, etc.
It all runs on the BREW simulator as I said hunky dory. I can load the app to a phone too, the only thing is the access to the GPS seems to be restricted.
It seems to reject the class_id that is passed to the function. The class_id is what was from Autodesk for the Razor phone. I wonder if I just kept calling the function and kept incrementing the class_id somehow that I'd eventually come across one that would return and not fail?? Seems too simple, so that can't be right.
Anyway, what type of config information were you referring to if not too much trouble...
Best,
Randy

Looks like the extension is not loaded onto your phone. If you have both sample app and extension, then load both on the phone, then run it.
or
If that uses AEECLSID_POSDET and if you try compiling in different BREW version, then chances are more. Try the right clsid in this case.
The config info for sampleposdet is to set PDE(Position Determination Entity)IP,port etc not for this SDK.

Looks like the extension is not loaded onto your phone. If you have both sample app and extension, then load both on the phone, then run it.
or
If that uses AEECLSID_POSDET and if you try compiling in different BREW version, then chances are more. Try the right clsid in this case.
The config info for sampleposdet is to set PDE(Position Determination Entity)IP,port etc not for this SDK.

I built SamplePosDet with BREW 3.1.2 header files and loaded in my Verizon RAZR. When I requested a position, I received an error code of 21 (EPRIVLEVEL) when calling IPOSDET_SetGPSConfig().
After I changed the class ID from AEECLSID_POSDET to AEECLSID_POSDET_302 in ISHELL_CreateInstance(), IPOSDET_SetGPSConfig() returned a success. But when I tried to get a position, the callback from IPOSDET_GetGPSInfo() had the status of 0x1000004 and no positions.
If I changed the class ID to AEECLSID_POSDET_20 in ISHELL_CreateInstance(), I was able to get positions in callback.
Does this mean Verizon RAZR is only compatible to BREW 2.0 IPOSDET? Or did I do something wrong?

I built SamplePosDet with BREW 3.1.2 header files and loaded in my Verizon RAZR. When I requested a position, I received an error code of 21 (EPRIVLEVEL) when calling IPOSDET_SetGPSConfig().
After I changed the class ID from AEECLSID_POSDET to AEECLSID_POSDET_302 in ISHELL_CreateInstance(), IPOSDET_SetGPSConfig() returned a success. But when I tried to get a position, the callback from IPOSDET_GetGPSInfo() had the status of 0x1000004 and no positions.
If I changed the class ID to AEECLSID_POSDET_20 in ISHELL_CreateInstance(), I was able to get positions in callback.
Does this mean Verizon RAZR is only compatible to BREW 2.0 IPOSDET? Or did I do something wrong?

Hi
May be this line would be of some help to you.
Effective BREW3.0.3, application using server type other than AEEGPS_SERVER_DEFAULT must have privilege to the group id AEECLSID_LOCATIONSERVER. If the server type is AEEGPS_SERVER_IP, the IP Address and port of the Position Determination server must be specified. If the port number is specified as 0, connection will be attempted on a default port for the service.

Hi
May be this line would be of some help to you.
Effective BREW3.0.3, application using server type other than AEEGPS_SERVER_DEFAULT must have privilege to the group id AEECLSID_LOCATIONSERVER. If the server type is AEEGPS_SERVER_IP, the IP Address and port of the Position Determination server must be specified. If the port number is specified as 0, connection will be attempted on a default port for the service.