location: new 'unmanaged' GPS setup

Standard GPS setup (raw/nmea) will both enable the GPS module and take full
control of the GPS port. This prevents other processes from reading the NMEA
traces from e.g. a tty. In order to handle this, a new 'unmanaged' GPS location
source is introduced, which will just enable/disable the GPS module, without
reading anything from the GPS port. Of course, both raw/nmea and unmanaged
setups cannot be enabled at the same time.
This commit is contained in:
Aleksander Morgado
2014-07-02 12:28:56 +02:00
parent 915a5beac0
commit ad67d68179
4 changed files with 64 additions and 11 deletions
+7 -5
View File
@@ -818,15 +818,17 @@ typedef enum { /*< underscore_name=mm_sms_cdma_service_category >*/
* @MM_MODEM_LOCATION_SOURCE_GPS_RAW: GPS location given by predefined keys.
* @MM_MODEM_LOCATION_SOURCE_GPS_NMEA: GPS location given as NMEA traces.
* @MM_MODEM_LOCATION_SOURCE_CDMA_BS: CDMA base station position.
* @MM_MODEM_LOCATION_SOURCE_GPS_UNMANAGED: No location given, just GPS module setup.
*
* Sources of location information supported by the modem.
*/
typedef enum { /*< underscore_name=mm_modem_location_source >*/
MM_MODEM_LOCATION_SOURCE_NONE = 0,
MM_MODEM_LOCATION_SOURCE_3GPP_LAC_CI = 1 << 0,
MM_MODEM_LOCATION_SOURCE_GPS_RAW = 1 << 1,
MM_MODEM_LOCATION_SOURCE_GPS_NMEA = 1 << 2,
MM_MODEM_LOCATION_SOURCE_CDMA_BS = 1 << 3,
MM_MODEM_LOCATION_SOURCE_NONE = 0,
MM_MODEM_LOCATION_SOURCE_3GPP_LAC_CI = 1 << 0,
MM_MODEM_LOCATION_SOURCE_GPS_RAW = 1 << 1,
MM_MODEM_LOCATION_SOURCE_GPS_NMEA = 1 << 2,
MM_MODEM_LOCATION_SOURCE_CDMA_BS = 1 << 3,
MM_MODEM_LOCATION_SOURCE_GPS_UNMANAGED = 1 << 4,
} MMModemLocationSource;
/**