User Tools

Site Tools


android:agtek_lib_location_manager_architecture

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
android:agtek_lib_location_manager_architecture [2013/04/05 23:59]
mjallison [Extending the framework]
android:agtek_lib_location_manager_architecture [2019/10/21 16:00] (current)
timm
Line 18: Line 18:
  
 ===== Extending the framework ===== ===== Extending the framework =====
-Adding new devices is relatively straight forward. For each new device you must write a new class to be the LocationDevice and write a new class to be the LocationProvider. It is up to the Device to perform detection and verification of the ohysical ​device, while the Provider is to provide the normalized location updates when they are made available via the physical device.+Adding new devices is relatively straight forward. For each new device you must write a new class to be the LocationDevice and write a new class to be the LocationProvider. It is up to the Device to perform detection and verification of the physical ​device, while the Provider is to provide the normalized location updates when they are made available via the physical device.
  
 If the instrument being added is a Bluetooth device, the you should extend com.agtek.location.bluetooth.AbstractBluetoothDevice instead of the normal LocationDevice and the Provider should extend com.agtek.location.bluetooth.AbstractBluetoothProvider. These classes serve to combine common Bluetooth functionality and data needed across all Bluetooth devices. If the instrument being added is a Bluetooth device, the you should extend com.agtek.location.bluetooth.AbstractBluetoothDevice instead of the normal LocationDevice and the Provider should extend com.agtek.location.bluetooth.AbstractBluetoothProvider. These classes serve to combine common Bluetooth functionality and data needed across all Bluetooth devices.
Line 73: Line 73:
  
 {{:​android:​leica_icg60_structure.jpg?​400|}} {{:​android:​leica_icg60_structure.jpg?​400|}}
 +
 +===== NMEA Providers =====
 +
 +The location manaher provides a basic NMEA provider which allows the system to read and parse location sentences (typically $GPGGA). This provider doesn'​t do much more than connect to the device, enable position streaming, parse, and deliver the results. The generic NMEA provider is suitable for providing basic location services to applications. ​
 +
 +The provider provides extension capabilities allowing subclasses the ability to add additional NMEA sentence parsers for extended capability. The structure of the provider also allows sub classes the send device type specific initialization commands to the instrument as needed.
 +
 +An example of the extended NMEA capabilities are part of the [[android:​tracker:​TrackReaderStories|Track Reader]] project enabling track download and initialization of specific features for the QStar series of instruments.
android/agtek_lib_location_manager_architecture.1365206399.txt.gz ยท Last modified: 2013/04/05 23:59 by mjallison