> 4.2.7 | GPS

> The on-board GPS functionality can be accessed in 4 different ways from a Java application.

> • | AT commands via ATCommand

> • | Java API JSR179

> • | transparent via CommConnection

> • | transparent via ATCommand

> It is discouraged to use the forth possibility since it uses up a valuable ATCommand instance. Use Java API for non-transparent, use CommConnection for transparent GPS access. Transparent and non-transparent modes can not be used concurrently but it is possible and in some cases may be necessary to use AT commands concurrently with the Java API e.g. for GPS power saving modes. For details about AT command related GPS functionality see [1].
> The usage of CommConnection for GPS access is very straight forward. Calling Connector.open with port-id “gps0” opens a transparent channel to the GPS module. Then all protocols supported by the GPS hardware can be used.
> The Java location API (JSR179) offers three basic functionalities (for details see [3]):

> • | location listener, a periodic call-back with current location information

> • | proximity listener, a call-back when a specified location is close

> • | landmark store, a storage for landmarks/way-points

> The landmark store is persistent. The stores are saved to FFS under a:/lmstores/store_X.xml, where X is the number of the store (0 is the default store).
> There can be 8 stores plus 1 default store each containing up to 100 landmarks in up to 8 categories (“no category” also counts as a category). Using AddressInfo with the landmarks might decrease the maximum number of possible landmarks in a store, depending on the amount of AddressInfo data being used. An IOException indicates that a store is full.
> There is only one store active at a time. The current store information is kept in RAM and only written to FFS when the application switches to a different store or terminates. Saving a store might take up to 45s! During this time period the VM is blocked, no processing can be done in parallel.
> One of the examples that come with the product CD is a tracking application that uses the Java location API.
> GPS is only supported in XT75/XT65.
> Products with GPS do not feature ASC1. So System.out is set to “null” device by default (see Section 5.9).