From 5ae3b52b9ae5fbccd64b8208265cc5cb826f6843 Mon Sep 17 00:00:00 2001 From: Katz Yamada Date: Mon, 26 Mar 2018 20:46:47 -0700 Subject: Add location client api sockets' strings Add location client api socket path string definitions in utils/gps_extended_c.h. CRs-Fixed: 2196048 Change-Id: Ie2eea05dfe440fa3a96b531fa4ba17605ab53431 --- utils/gps_extended_c.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'utils/gps_extended_c.h') diff --git a/utils/gps_extended_c.h b/utils/gps_extended_c.h index bd528d9..f8cd21f 100644 --- a/utils/gps_extended_c.h +++ b/utils/gps_extended_c.h @@ -1288,8 +1288,15 @@ typedef void (*LocAgpsOpenResultCb)(bool isSuccess, AGpsExtType agpsType, const typedef void (*LocAgpsCloseResultCb)(bool isSuccess, AGpsExtType agpsType, void* userDataPtr); /* Shared resources of LocIpc */ -#define LOC_IPC_HAL "/dev/socket/location/socket_hal" -#define LOC_IPC_XTRA "/dev/socket/location/xtra/socket_xtra" +#define LOC_IPC_HAL "/dev/socket/location/socket_hal" +#define LOC_IPC_XTRA "/dev/socket/location/xtra/socket_xtra" + +#define SOCKET_DIR_LOCATION "/dev/socket/location/" +#define SOCKET_DIR_EHUB "/dev/socket/location/ehub" +#define SOCKET_TO_LOCATION_HAL_DAEMON "/dev/socket/location/hal_daemon" + +#define SOCKET_DIR_TO_CLIENT "/dev/socket/loc_client/" +#define SOCKET_TO_LOCATION_CLIENT_BASE "/dev/socket/loc_client/toclient" #ifdef __cplusplus } -- cgit v1.2.3 From 4c8f4e4e0437aff2694d9550579ee038c9209c5d Mon Sep 17 00:00:00 2001 From: Bhavna Sharma Date: Fri, 30 Mar 2018 17:10:59 -0700 Subject: GPS Adapter: GNSS adapter change to go with engine hub aggregator 1: GNSS adapter change to block out position and SV report from ULP when engine hub aggregator is used 2: Support unpropagated position report Change-Id: Id0cacd87d3f3f8eec893d751b9f7a55a736a4023 CRs-fixed: 2210253 --- utils/gps_extended_c.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'utils/gps_extended_c.h') diff --git a/utils/gps_extended_c.h b/utils/gps_extended_c.h index bd528d9..29b658f 100644 --- a/utils/gps_extended_c.h +++ b/utils/gps_extended_c.h @@ -127,6 +127,7 @@ typedef struct { /* Provider indicator for HYBRID or GPS */ uint16_t position_source; LocPosTechMask tech_mask; + bool unpropagatedPosition; } UlpLocation; typedef struct { @@ -583,6 +584,7 @@ enum loc_api_adapter_event_index { LOC_API_ADAPTER_REQUEST_POSITION_INJECTION, // Position injection request LOC_API_ADAPTER_BATCH_STATUS, // batch status LOC_API_ADAPTER_FDCL_SERVICE_REQ, // FDCL service request + LOC_API_ADAPTER_REPORT_UNPROPAGATED_POSITION, // Unpropagated Position report LOC_API_ADAPTER_EVENT_MAX }; @@ -619,7 +621,7 @@ enum loc_api_adapter_event_index { #define LOC_API_ADAPTER_BIT_POSITION_INJECTION_REQUEST (1< Date: Tue, 17 Apr 2018 11:11:26 -0700 Subject: fix: Incorrect path to ehub socket directory Change-Id: I58b41c4a8de8b51c8a6effe989182ea5942cff6e CRs-Fixed: 2196048 --- utils/gps_extended_c.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'utils/gps_extended_c.h') diff --git a/utils/gps_extended_c.h b/utils/gps_extended_c.h index b7b1c09..21eb5d5 100644 --- a/utils/gps_extended_c.h +++ b/utils/gps_extended_c.h @@ -1495,7 +1495,7 @@ typedef void (*LocAgpsCloseResultCb)(bool isSuccess, AGpsExtType agpsType, void* #define LOC_IPC_XTRA "/dev/socket/location/xtra/socket_xtra" #define SOCKET_DIR_LOCATION "/dev/socket/location/" -#define SOCKET_DIR_EHUB "/dev/socket/location/ehub" +#define SOCKET_DIR_EHUB "/dev/socket/location/ehub/" #define SOCKET_TO_LOCATION_HAL_DAEMON "/dev/socket/location/hal_daemon" #define SOCKET_DIR_TO_CLIENT "/dev/socket/loc_client/" -- cgit v1.2.3 From 6c80f04dbace74cc65bdd5eb85239790b1711bf6 Mon Sep 17 00:00:00 2001 From: Bhavna Sharma Date: Fri, 25 May 2018 14:34:08 -0700 Subject: Populate some more fields for end client. These are the fields populated: North, East, Up velocity and their uncertainties North and East standard deviation Gps Time, Leap Sec and time uncertainty Gps Measurement usage info CRs-Fixed: 2249350 Change-Id: I8936b1c47be25fdc792322592f8ea5466a3fa6fd --- utils/gps_extended_c.h | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'utils/gps_extended_c.h') diff --git a/utils/gps_extended_c.h b/utils/gps_extended_c.h index 21eb5d5..ea38eb3 100644 --- a/utils/gps_extended_c.h +++ b/utils/gps_extended_c.h @@ -268,7 +268,7 @@ typedef enum loc_position_mode_type { #define GPS_DEFAULT_FIX_INTERVAL_MS 1000 /** Flags to indicate which values are valid in a GpsLocationExtended. */ -typedef uint32_t GpsLocationExtendedFlags; +typedef uint64_t GpsLocationExtendedFlags; /** GpsLocationExtended has valid pdop, hdop, vdop. */ #define GPS_LOCATION_EXTENDED_HAS_DOP 0x0001 /** GpsLocationExtended has valid altitude mean sea level. */ @@ -323,14 +323,19 @@ typedef uint32_t GpsLocationExtendedFlags; #define GPS_LOCATION_EXTENDED_HAS_EAST_VEL_UNC 0x2000000 /** GpsLocationExtended has up Velocity Uncertainty */ #define GPS_LOCATION_EXTENDED_HAS_UP_VEL_UNC 0x4000000 -/** GpsLocationExtended has up Clock Bias */ +/** GpsLocationExtended has Clock Bias */ #define GPS_LOCATION_EXTENDED_HAS_CLOCK_BIAS 0x8000000 -/** GpsLocationExtended has up Clock Bias std deviation*/ +/** GpsLocationExtended has Clock Bias std deviation*/ #define GPS_LOCATION_EXTENDED_HAS_CLOCK_BIAS_STD_DEV 0x10000000 -/** GpsLocationExtended has up Clock drift*/ +/** GpsLocationExtended has Clock drift*/ #define GPS_LOCATION_EXTENDED_HAS_CLOCK_DRIFT 0x20000000 -/** GpsLocationExtended has up Clock drift std deviation**/ +/** GpsLocationExtended has Clock drift std deviation**/ #define GPS_LOCATION_EXTENDED_HAS_CLOCK_DRIFT_STD_DEV 0x40000000 +/** GpsLocationExtended has leap seconds **/ +#define GPS_LOCATION_EXTENDED_HAS_LEAP_SECONDS 0x80000000 +/** GpsLocationExtended has time uncertainty **/ +#define GPS_LOCATION_EXTENDED_HAS_TIME_UNC 0x100000000 + typedef uint32_t LocNavSolutionMask; /* Bitmask to specify whether SBAS ionospheric correction is used */ @@ -660,6 +665,10 @@ typedef struct { uint8_t numOfMeasReceived; /** Measurement Usage Information */ GpsMeasUsageInfo measUsageInfo[GNSS_SV_MAX]; + /** Leap Seconds */ + uint8_t leapSeconds; + /** Time uncertainty in milliseconds */ + float timeUncMs; } GpsLocationExtended; enum loc_sess_status { -- cgit v1.2.3 From aac86a158ad76119efe8d9b0718f600354a99b97 Mon Sep 17 00:00:00 2001 From: Bhavna Sharma Date: Mon, 18 Jun 2018 16:51:41 +0530 Subject: body frame uncertainty parameters in position report added uncertainty parameters for longAccel, latAccel, vertAccel, yawRate and pitch. Change-Id: I804dc0b370dd78402a6641f5a16e5ee7a53ff9a1 CRs-Fixed: 2262454 --- utils/gps_extended_c.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'utils/gps_extended_c.h') diff --git a/utils/gps_extended_c.h b/utils/gps_extended_c.h index 21eb5d5..255acd8 100644 --- a/utils/gps_extended_c.h +++ b/utils/gps_extended_c.h @@ -359,6 +359,16 @@ typedef uint32_t LocPosDataMask; #define LOC_NAV_DATA_HAS_YAW_RATE ((LocPosDataMask)0x0008) /* Bitmask to specify whether Navigation data has Body pitch */ #define LOC_NAV_DATA_HAS_PITCH ((LocPosDataMask)0x0010) +/* Bitmask to specify whether Navigation data has Forward Acceleration Unc */ +#define LOC_NAV_DATA_HAS_LONG_ACCEL_UNC ((LocPosDataMask)0x0020) +/* Bitmask to specify whether Navigation data has Sideward Acceleration Unc*/ +#define LOC_NAV_DATA_HAS_LAT_ACCEL_UNC ((LocPosDataMask)0x0040) +/* Bitmask to specify whether Navigation data has Vertical Acceleration Unc*/ +#define LOC_NAV_DATA_HAS_VERT_ACCEL_UNC ((LocPosDataMask)0x0080) +/* Bitmask to specify whether Navigation data has Heading Rate Unc*/ +#define LOC_NAV_DATA_HAS_YAW_RATE_UNC ((LocPosDataMask)0x0100) +/* Bitmask to specify whether Navigation data has Body pitch Unc*/ +#define LOC_NAV_DATA_HAS_PITCH_UNC ((LocPosDataMask)0x0200) /** GPS PRN Range */ #define GPS_SV_PRN_MIN 1 @@ -412,14 +422,24 @@ typedef struct { uint32_t bodyFrameDatamask; /* Forward Acceleration in body frame (m/s2)*/ float longAccel; + /** Uncertainty of Forward Acceleration in body frame */ + float longAccelUnc; /* Sideward Acceleration in body frame (m/s2)*/ float latAccel; + /** Uncertainty of Side-ward Acceleration in body frame */ + float latAccelUnc; /* Vertical Acceleration in body frame (m/s2)*/ float vertAccel; + /** Uncertainty of Vertical Acceleration in body frame */ + float vertAccelUnc; /* Heading Rate (Radians/second) */ float yawRate; + /** Uncertainty of Heading Rate */ + float yawRateUnc; /* Body pitch (Radians) */ float pitch; + /** Uncertainty of Body pitch */ + float pitchRadUnc; }LocPositionDynamics; typedef struct { -- cgit v1.2.3 From dc1e6f6f3469138aed389cd42e429d454ffc1c07 Mon Sep 17 00:00:00 2001 From: Bhavna Sharma Date: Wed, 13 Jun 2018 15:10:43 -0700 Subject: Changed to allow only locclient group to access hal daemon Move hal daemon socket creation to loc_client directory Define uid/gid for locclient CRs-Fixed: 2260194 Change-Id: Icaac885c19cd65b11254bb93b6a938b2d4595761 --- utils/gps_extended_c.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'utils/gps_extended_c.h') diff --git a/utils/gps_extended_c.h b/utils/gps_extended_c.h index ea38eb3..7720489 100644 --- a/utils/gps_extended_c.h +++ b/utils/gps_extended_c.h @@ -1505,7 +1505,7 @@ typedef void (*LocAgpsCloseResultCb)(bool isSuccess, AGpsExtType agpsType, void* #define SOCKET_DIR_LOCATION "/dev/socket/location/" #define SOCKET_DIR_EHUB "/dev/socket/location/ehub/" -#define SOCKET_TO_LOCATION_HAL_DAEMON "/dev/socket/location/hal_daemon" +#define SOCKET_TO_LOCATION_HAL_DAEMON "/dev/socket/loc_client/hal_daemon" #define SOCKET_DIR_TO_CLIENT "/dev/socket/loc_client/" #define SOCKET_TO_LOCATION_CLIENT_BASE "/dev/socket/loc_client/toclient" -- cgit v1.2.3 From 02cddf0f260b4c0b78aec15272f3594de8a8ec8c Mon Sep 17 00:00:00 2001 From: Naresh Munagala Date: Thu, 21 Jun 2018 10:44:51 +0530 Subject: GNSS hal: propagate position dynamics uncertainty Support for uncertainty of positition dynamics, including uncertainty of forward, sideward, upward accelation, and uncertainty of heading and pitch Change-Id: I33fbfd0344d4beb7eabaa629b0c0993fe368293b CRs-fixed: 2263818 --- utils/gps_extended_c.h | 50 +------------------------------------------------- 1 file changed, 1 insertion(+), 49 deletions(-) (limited to 'utils/gps_extended_c.h') diff --git a/utils/gps_extended_c.h b/utils/gps_extended_c.h index 5f9dead..aff87e9 100644 --- a/utils/gps_extended_c.h +++ b/utils/gps_extended_c.h @@ -353,28 +353,6 @@ typedef uint32_t LocNavSolutionMask; /**< Bitmask to specify whether Position Report is PPP corrected */ #define LOC_NAV_MASK_PPP_CORRECTION ((LocNavSolutionMask)0x0040) -typedef uint32_t LocPosDataMask; -/* Bitmask to specify whether Navigation data has Forward Acceleration */ -#define LOC_NAV_DATA_HAS_LONG_ACCEL ((LocPosDataMask)0x0001) -/* Bitmask to specify whether Navigation data has Sideward Acceleration */ -#define LOC_NAV_DATA_HAS_LAT_ACCEL ((LocPosDataMask)0x0002) -/* Bitmask to specify whether Navigation data has Vertical Acceleration */ -#define LOC_NAV_DATA_HAS_VERT_ACCEL ((LocPosDataMask)0x0004) -/* Bitmask to specify whether Navigation data has Heading Rate */ -#define LOC_NAV_DATA_HAS_YAW_RATE ((LocPosDataMask)0x0008) -/* Bitmask to specify whether Navigation data has Body pitch */ -#define LOC_NAV_DATA_HAS_PITCH ((LocPosDataMask)0x0010) -/* Bitmask to specify whether Navigation data has Forward Acceleration Unc */ -#define LOC_NAV_DATA_HAS_LONG_ACCEL_UNC ((LocPosDataMask)0x0020) -/* Bitmask to specify whether Navigation data has Sideward Acceleration Unc*/ -#define LOC_NAV_DATA_HAS_LAT_ACCEL_UNC ((LocPosDataMask)0x0040) -/* Bitmask to specify whether Navigation data has Vertical Acceleration Unc*/ -#define LOC_NAV_DATA_HAS_VERT_ACCEL_UNC ((LocPosDataMask)0x0080) -/* Bitmask to specify whether Navigation data has Heading Rate Unc*/ -#define LOC_NAV_DATA_HAS_YAW_RATE_UNC ((LocPosDataMask)0x0100) -/* Bitmask to specify whether Navigation data has Body pitch Unc*/ -#define LOC_NAV_DATA_HAS_PITCH_UNC ((LocPosDataMask)0x0200) - /** GPS PRN Range */ #define GPS_SV_PRN_MIN 1 #define GPS_SV_PRN_MAX 32 @@ -421,32 +399,6 @@ typedef struct { uint64_t qzss_sv_used_ids_mask; } GnssSvUsedInPosition; -/* Body Frame parameters */ -typedef struct { - /** Contains Body frame LocPosDataMask bits. */ - uint32_t bodyFrameDatamask; - /* Forward Acceleration in body frame (m/s2)*/ - float longAccel; - /** Uncertainty of Forward Acceleration in body frame */ - float longAccelUnc; - /* Sideward Acceleration in body frame (m/s2)*/ - float latAccel; - /** Uncertainty of Side-ward Acceleration in body frame */ - float latAccelUnc; - /* Vertical Acceleration in body frame (m/s2)*/ - float vertAccel; - /** Uncertainty of Vertical Acceleration in body frame */ - float vertAccelUnc; - /* Heading Rate (Radians/second) */ - float yawRate; - /** Uncertainty of Heading Rate */ - float yawRateUnc; - /* Body pitch (Radians) */ - float pitch; - /** Uncertainty of Body pitch */ - float pitchRadUnc; -}LocPositionDynamics; - typedef struct { /** Position dilution of precision. @@ -636,7 +588,7 @@ typedef struct { /** SV Info source used in computing this fix */ LocSvInfoSource sv_source; /** Body Frame Dynamics: 4wayAcceleration and pitch set with validity */ - LocPositionDynamics bodyFrameData; + GnssLocationPositionDynamics bodyFrameData; /** GPS Time */ GPSTimeStruct gpsTime; GnssSystemTime gnssSystemTime; -- cgit v1.2.3