PDA

View Full Version : Internal GPS Device


Dak
2010-01-12, 18:59
Hopefully this is a quick question & answer :


Which /dev device is the internal GPS?

I assumed it would be /dev/ttyS0 (as they often are, if they're not USB) ....not so.

pablob
2010-01-12, 19:54
I think that the idea in Fremantle is to use liblocation for GPS access, and not accessing the GPS directly. I haven't looked at it in detail, yet, but there is information online.

I know it is a kind of no-answer, but I hope that helps a bit!

Dak
2010-01-12, 19:58
I appreciate the response :)

I know about liblocation, but I do have a need to get at the device directly. I'm not merely using the provided APIs, I'm doing something new.

There must be a device at some point for liblocation to access....so which one is it?

andree
2010-01-12, 20:17
i'm not sure that information alone would be of any use, even if we knew it (I tried to discover for a hour or so, but failed... :) ) - first you have to power up the device anyway (how?), and after that you have to know the used protocol (which may be quite different from NMEA/sirf...).

Dak
2010-01-12, 20:27
Protocol discovery is not an issue - reading raw data from the device will enable me to discover the protocol of the gps hardware....heck, if we know the actual chipset we can go straight to the hardware tech specs ;)

Waiting for the device to be enabled is not an issue either - if it's not there, it's not there ;)

If I can use:

stty -F /dev/gpsdevice

...I can get to work on my project

Matan
2010-01-12, 20:55
The actual access to the GPS hardware is probably done by /usr/libexec/location-daemon. Unfortunately this file does not open any files in /dev.

My guess is that communication with GPS hardware is done over phonet0 network. I do see a lot more action there (use tcpdump -i phonet0) when GPS is in use, but it possible that this data is used merely for GSM cell based location.

As for the data format - it seems that location-daemon is using liblas.

KiberGus
2010-01-12, 21:08
Even if you find device. If you open and read information from it,you would block other applications using it. Would it be desirable behavour for users?

Dak
2010-01-12, 21:50
I have no SIM card in my N900, therefore no cellular activity can be taking place. I assume that the activity we see on phonet0 is GPS data

Dak
2010-01-13, 02:00
Further digging reveals that the driver for the GPS hardware has been written so that it presents itself as a network interface (phonet0) rather than a block device.

Given that all GPS hardware I have ever seen is accessed via a serial or usb device, does anyone know why this architectural decision was made?

Can any Nokia techs tell me if it is possible for me to write a block device driver for the GPS hardware? I'd like to present it as /dev/gps for ease of use....

andree
2010-01-13, 09:13
and further digging shows usage of SSI McSAAB (ssi_mcsaab_imp, http://en.wikipedia.org/wiki/Simple_Sensor_Interface_protocol ), which I'd guess is where you can find gps sitting.... and there's also a phonet pipe protocol end point socket (pn_pep) used with phonet interface...

fanoush
2010-01-13, 09:30
Given that all GPS hardware I have ever seen is accessed via a serial or usb device, does anyone know why this architectural decision was made?

Because AFAIK the GPS hardware is connected to the cellular module, not to main OMAP Soc. Feels a bit strange design decision to me, I wonder what advantages it may have.

EDIT: Maybe the GPS can be simply seen as a part of the cellular module so they just took it as is and saved costs of including separate GPS when one is already there.

jukzh
2010-07-01, 16:56
So any luck in accessing to gps IOs, i'm curious too!

jukzh
2010-07-08, 20:18
Ok, it's here in python works, http://wiki.maemo.org/PyMaemo/Using_Location_API#Complete_example
And in native:
http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Using_Connectivity_Components/Using_Location_API#Complete_example