View Single Post
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#2
Ok, now for part 2:
The easiest way to talk to the GPS hardware directly is to use libisi (header file available from http://talk.maemo.org/showthread.php?t=93906 ) and http://www.cncmods.net/files/pn_location_isi.h which is the header file containing all the modem location server info for the N900 cellular modem.

liblas calls the following libisi functions:
isi_client_cleanup (cleans up a isi_client_t structure)
isi_client_init (initializes an isi_client_t structure and sets callbacks that will be called by libisi. the only callback liblas cares about is the "receive" callback. Pass zero for the channel.)
isi_client_run (starts a private timer for an isi_client_t structure, call this after isi_client_start)
isi_client_sendto_resource (sends data to a phonet resource using an isi_client_t structure, pass zero for the address and 0x54 aka PN_LOCATION for the resource)
isi_client_set_recv_buf_size (sets the receive buffer size for an isi_client_t structure)
isi_client_start (starts an isi_client_t going, call this after isi_client_init)
isi_client_subscribe_indications (registers a client to receive indications from a given phonet resource, you want to register for 0x54 aka PN_LOCATION)
isi_glib_init (initializes libisi using a glib context)
msgbuf_add_ptr (adds data to an isi_msgbuf_t structure)
msgbuf_get_ptr (gets data from an isi_msgbuf_t structure)
msgbuf_init (initializes an isi_msgbuf_t structure)
socket_cinfo_init (initializes a comm_channel_info_t structure)

Feel free to hit me (here or in IRC) with any questions you may have about this stuff.
 

The Following 19 Users Say Thank You to jonwil For This Useful Post: